From 954ab73fa902e7f2c36c16a7774888ca3aa331df Mon Sep 17 00:00:00 2001 From: Tombenpotter Date: Tue, 30 Sep 2014 22:36:49 +0200 Subject: [PATCH] See changelog Omnitools, removed capes and textures --- Changelog.txt | 8 ++- capes.txt | 13 ---- capes/cape.png | Bin 3566 -> 0 bytes .../java/tombenpotter/emt/ModInformation.java | 2 +- .../base/items/tools/ItemBaseOmnitool.java | 63 +++++++++++++---- .../module/vanilla/VanillaItemsRegistry.java | 31 ++++++--- .../items/tools/ItemVanillaChainsaw.java | 3 +- .../items/tools/ItemVanillaOmnitool.java | 65 ++++++++++++++++++ .../textures/items/diamonddrill.png | Bin 0 -> 383 bytes .../textures/items/goldendrill.png | Bin 0 -> 378 bytes .../textures/items/irondrill.png | Bin 0 -> 372 bytes .../textures/items/stonedrill.png | Bin 0 -> 374 bytes .../textures/items/woodendrill.png | Bin 0 -> 387 bytes 13 files changed, 144 insertions(+), 41 deletions(-) delete mode 100644 capes.txt delete mode 100644 capes/cape.png create mode 100644 src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaOmnitool.java create mode 100644 src/main/resources/assets/electromagictools/textures/items/diamonddrill.png create mode 100644 src/main/resources/assets/electromagictools/textures/items/goldendrill.png create mode 100644 src/main/resources/assets/electromagictools/textures/items/irondrill.png create mode 100644 src/main/resources/assets/electromagictools/textures/items/stonedrill.png create mode 100644 src/main/resources/assets/electromagictools/textures/items/woodendrill.png diff --git a/Changelog.txt b/Changelog.txt index 264c0f2..11fe9c0 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,10 +1,16 @@ Changelog of the mod : Electric Magic Tools, a Thaumcraft 4/Industrial-Craft 2 addon -------------------------------------------------------------------------------------------------------------------------------------------------------- +Version 2.0.0.Alpha4: +Added some items to the vanilla module of the mod: Wooden, Stone, Iron, Golden and Diamond Drills. +Added Wooden, Stone, Iron, Golden and Diamond Chainsaws. +Added Iron, Golden and Diamond Omnitools. +Removed stuff from capes, it's not needed anymore. + Version 2.0.0Alpha3: Fixed the UU-Matter infusion research page crash. But the recipes aren't viable anymore, I'll get to fixing that ASAP. Added a few Base tools, just for later purposes. -Added a interface for using in said tools, for later purposes too +Added an interface for using in said tools, for later purposes too Version 2.0.0Aplha2: Fixed the Electric/Nano/Qunatum Boots of the Traveller not preventing fall damage. They now drain energy when doing so. diff --git a/capes.txt b/capes.txt deleted file mode 100644 index b39b751..0000000 --- a/capes.txt +++ /dev/null @@ -1,13 +0,0 @@ -Tombenpotter:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -Kris1432:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -BradXD1995:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -MexRexWasser:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -israelim125:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -fajii:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -wasliebob:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -VMvinner:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -Drullkus:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -jztech101:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -Pixel_404:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -Speedynutty68:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png -TheDrunkMafia:https://raw.github.com/Tombenpotter/Electro-Magic-Tools/master/capes/cape.png \ No newline at end of file diff --git a/capes/cape.png b/capes/cape.png deleted file mode 100644 index 0d2eb18d3556be58aa3694b54f8a42b28c59b278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3566 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 diff --git a/src/main/java/tombenpotter/emt/ModInformation.java b/src/main/java/tombenpotter/emt/ModInformation.java index 0b1b59e..8b61781 100644 --- a/src/main/java/tombenpotter/emt/ModInformation.java +++ b/src/main/java/tombenpotter/emt/ModInformation.java @@ -4,7 +4,7 @@ public class ModInformation { public static final String name = "Electro-Magic Tools"; public static final String modid = "EMT"; - public static final String version = "2.0.0Alpha3"; + public static final String version = "2.0.0Alpha4"; public static final String texturePath = "electromagictools"; public static final String guiFactory = "tombenpotter.emt.client.gui.config.EMTGuiFactory"; public static final String clientProxy = "tombenpotter.emt.proxies.ClientProxy"; diff --git a/src/main/java/tombenpotter/emt/common/module/base/items/tools/ItemBaseOmnitool.java b/src/main/java/tombenpotter/emt/common/module/base/items/tools/ItemBaseOmnitool.java index 3726daa..3fb1dfa 100644 --- a/src/main/java/tombenpotter/emt/common/module/base/items/tools/ItemBaseOmnitool.java +++ b/src/main/java/tombenpotter/emt/common/module/base/items/tools/ItemBaseOmnitool.java @@ -4,18 +4,25 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; +import net.minecraft.stats.StatList; import net.minecraft.world.World; +import net.minecraftforge.common.IShearable; import tombenpotter.emt.ElectroMagicTools; import tombenpotter.emt.ModInformation; import tombenpotter.emt.common.util.ConfigHandler; import tombenpotter.emt.common.util.RandomHelper; +import java.util.ArrayList; +import java.util.Random; + public class ItemBaseOmnitool extends ItemPickaxe { public String textureName; @@ -36,13 +43,8 @@ public class ItemBaseOmnitool extends ItemPickaxe { } @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean currentItem) { - if (stack.getItemDamage() < 1) stack.setItemDamage(1); - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int par4, int par5, int par6, EntityLivingBase entityLiving) { - if (stack.getItemDamage() > 1) stack.damageItem(1, entityLiving); + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entityLiving) { + if ((double) block.getBlockHardness(world, x, y, z) != 0.0D) stack.damageItem(1, entityLiving); return true; } @@ -53,16 +55,19 @@ public class ItemBaseOmnitool extends ItemPickaxe { @Override public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (stack.getItemDamage() <= 1) return 1.0F; - else return super.getDigSpeed(stack, block, meta); + if (block.getHarvestTool(meta) == null) { + return efficiencyOnProperMaterial; + } else { + if (canHarvestBlock(block, stack) && (block.getHarvestTool(meta).equals("pickaxe") || block.getHarvestTool(meta).equals("shovel")) || block.getHarvestTool(meta).equals("axe") || Items.shears.canHarvestBlock(block, stack)) { + return efficiencyOnProperMaterial; + } + } + return super.getDigSpeed(stack, block, meta); } @Override public boolean hitEntity(ItemStack stack, EntityLivingBase entityliving, EntityLivingBase attacker) { - if (stack.getItemDamage() <= 1) { - entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 8F); - stack.damageItem(1, attacker); - } + stack.damageItem(1, attacker); return true; } @@ -86,4 +91,32 @@ public class ItemBaseOmnitool extends ItemPickaxe { public boolean isBookEnchantable(ItemStack itemstack1, ItemStack itemstack2) { return ConfigHandler.enchanting; } + + @Override + public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer player) { + if (player.worldObj.isRemote) { + return false; + } + Block block = player.worldObj.getBlock(x, y, z); + if (block instanceof IShearable) { + IShearable target = (IShearable) block; + if (target.isShearable(stack, player.worldObj, x, y, z)) { + ArrayList drops = target.onSheared(stack, player.worldObj, x, y, z, + EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, stack)); + Random rand = new Random(); + for (ItemStack drop : drops) { + float f = 0.7F; + double d = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double d1 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double d2 = (double) (rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + EntityItem entityitem = new EntityItem(player.worldObj, (double) x + d, (double) y + d1, (double) z + d2, drop); + entityitem.delayBeforeCanPickup = 10; + player.worldObj.spawnEntityInWorld(entityitem); + } + stack.damageItem(1, player); + player.addStat(StatList.mineBlockStatArray[Block.getIdFromBlock(block)], 1); + } + } + return false; + } } diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java index 5a37526..aea81f8 100644 --- a/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/VanillaItemsRegistry.java @@ -7,6 +7,7 @@ import net.minecraft.item.Item; import tombenpotter.emt.ModInformation; import tombenpotter.emt.common.module.vanilla.items.tools.ItemVanillaChainsaw; import tombenpotter.emt.common.module.vanilla.items.tools.ItemVanillaDrill; +import tombenpotter.emt.common.module.vanilla.items.tools.ItemVanillaOmnitool; public class VanillaItemsRegistry { @@ -20,28 +21,38 @@ public class VanillaItemsRegistry { public static Item ironChainsaw; public static Item goldenChainsaw; public static Item diamondChainsaw; + public static Item ironOmnitool; + public static Item goldenOmnitool; + public static Item diamondOmnitool; public static void registerItems() { - woodenDrill = new ItemVanillaDrill(Item.ToolMaterial.WOOD, 75, "woodendrill", Item.getItemFromBlock(Blocks.planks)).setUnlocalizedName(ModInformation.modid + "woodenDrill"); + woodenDrill = new ItemVanillaDrill(Item.ToolMaterial.WOOD, 75, ":woodendrill", Item.getItemFromBlock(Blocks.planks)).setUnlocalizedName(ModInformation.modid + ".woodenDrill"); GameRegistry.registerItem(woodenDrill, "woodenDrill"); - stoneDrill = new ItemVanillaDrill(Item.ToolMaterial.STONE, 165, "stonedrill", Item.getItemFromBlock(Blocks.cobblestone)).setUnlocalizedName(ModInformation.modid + "stoneDrill"); + stoneDrill = new ItemVanillaDrill(Item.ToolMaterial.STONE, 165, ":stonedrill", Item.getItemFromBlock(Blocks.cobblestone)).setUnlocalizedName(ModInformation.modid + ".stoneDrill"); GameRegistry.registerItem(stoneDrill, "stoneDrill"); - ironDrill = new ItemVanillaDrill(Item.ToolMaterial.IRON, 315, "irondrill", Items.iron_ingot).setUnlocalizedName(ModInformation.modid + "ironDrill"); + ironDrill = new ItemVanillaDrill(Item.ToolMaterial.IRON, 315, ":irondrill", Items.iron_ingot).setUnlocalizedName(ModInformation.modid + ".ironDrill"); GameRegistry.registerItem(ironDrill, "ironDrill"); - goldenDrill = new ItemVanillaDrill(Item.ToolMaterial.GOLD, 55, "goldendrill", Items.gold_ingot).setUnlocalizedName(ModInformation.modid + "goldenDrill"); + goldenDrill = new ItemVanillaDrill(Item.ToolMaterial.GOLD, 55, ":goldendrill", Items.gold_ingot).setUnlocalizedName(ModInformation.modid + ".goldenDrill"); GameRegistry.registerItem(goldenDrill, "goldenDrill"); - diamondDrill = new ItemVanillaDrill(Item.ToolMaterial.EMERALD, 2015, "diamondDrill", Items.diamond).setUnlocalizedName(ModInformation.modid + "diamondDrill"); + diamondDrill = new ItemVanillaDrill(Item.ToolMaterial.EMERALD, 2015, ":diamonddrill", Items.diamond).setUnlocalizedName(ModInformation.modid + ".diamondDrill"); GameRegistry.registerItem(diamondDrill, "diamondDrill"); - woodenChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.WOOD, 75, "woodenchainsaw", Item.getItemFromBlock(Blocks.planks)).setUnlocalizedName(ModInformation.modid + "woodenChainsaw"); + woodenChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.WOOD, 75, ":woodenchainsaw", Item.getItemFromBlock(Blocks.planks)).setUnlocalizedName(ModInformation.modid + ".woodenChainsaw"); GameRegistry.registerItem(woodenChainsaw, "woodenChainsaw"); - stoneChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.STONE, 165, "stonechainsaw", Item.getItemFromBlock(Blocks.cobblestone)).setUnlocalizedName(ModInformation.modid + "stoneChainsaw"); + stoneChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.STONE, 165, ":stonechainsaw", Item.getItemFromBlock(Blocks.cobblestone)).setUnlocalizedName(ModInformation.modid + ".stoneChainsaw"); GameRegistry.registerItem(stoneChainsaw, "stoneChainsaw"); - ironChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.IRON, 315, "ironchainsaw", Items.iron_ingot, 3F).setUnlocalizedName(ModInformation.modid + "ironChainsaw"); + ironChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.IRON, 315, ":ironchainsaw", Items.iron_ingot, 3F).setUnlocalizedName(ModInformation.modid + ".ironChainsaw"); GameRegistry.registerItem(ironChainsaw, "ironChainsaw"); - goldenChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.GOLD, 55, "goldenchainsaw", Items.gold_ingot).setUnlocalizedName(ModInformation.modid + "goldenChainsaw"); + goldenChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.GOLD, 55, ":goldenchainsaw", Items.gold_ingot).setUnlocalizedName(ModInformation.modid + ".goldenChainsaw"); GameRegistry.registerItem(goldenChainsaw, "goldenChainsaw"); - diamondChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.EMERALD, 2015, "diamondchainsaw", Items.diamond, 5F).setUnlocalizedName(ModInformation.modid + "diamondChainsaw"); + diamondChainsaw = new ItemVanillaChainsaw(Item.ToolMaterial.EMERALD, 2015, ":diamondchainsaw", Items.diamond, 6F).setUnlocalizedName(ModInformation.modid + ".diamondChainsaw"); GameRegistry.registerItem(diamondChainsaw, "diamondChainsaw"); + + ironOmnitool = new ItemVanillaOmnitool(Item.ToolMaterial.IRON, 500, ":ironomnitool", Items.iron_ingot).setUnlocalizedName(ModInformation.modid + ".ironOmnitool"); + GameRegistry.registerItem(ironOmnitool, "ironOmnitool"); + goldenOmnitool = new ItemVanillaOmnitool(Item.ToolMaterial.GOLD, 100, ":goldenomnitool", Items.gold_ingot).setUnlocalizedName(ModInformation.modid + ".goldenOmnitool"); + GameRegistry.registerItem(goldenOmnitool, "goldenOmnitool"); + diamondOmnitool = new ItemVanillaOmnitool(Item.ToolMaterial.EMERALD, 3900, ":diamondomnitool", Items.diamond).setUnlocalizedName(ModInformation.modid + ".diamondOmnitool"); + GameRegistry.registerItem(diamondOmnitool, "diamondOmnitool"); } } \ No newline at end of file diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaChainsaw.java b/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaChainsaw.java index a46734d..6690d87 100644 --- a/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaChainsaw.java +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaChainsaw.java @@ -6,8 +6,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import tombenpotter.emt.common.module.base.items.tools.ItemBaseChainsaw; +import tombenpotter.emt.common.util.IRefillable; -public class ItemVanillaChainsaw extends ItemBaseChainsaw { +public class ItemVanillaChainsaw extends ItemBaseChainsaw implements IRefillable { public Item repairMaterial; public int repairMeta; diff --git a/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaOmnitool.java b/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaOmnitool.java new file mode 100644 index 0000000..8e18224 --- /dev/null +++ b/src/main/java/tombenpotter/emt/common/module/vanilla/items/tools/ItemVanillaOmnitool.java @@ -0,0 +1,65 @@ +package tombenpotter.emt.common.module.vanilla.items.tools; + +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import tombenpotter.emt.common.module.base.items.tools.ItemBaseOmnitool; + +public class ItemVanillaOmnitool extends ItemBaseOmnitool { + + public Item repairMaterial; + public int repairMeta; + public float damageAdded; + + public ItemVanillaOmnitool(Item.ToolMaterial material, int maxDamage, String textureName, Item repairMaterial) { + super(material, maxDamage, textureName); + this.repairMaterial = repairMaterial; + this.repairMeta = 0; + damageAdded = 4; + } + + public ItemVanillaOmnitool(Item.ToolMaterial material, int maxDamage, String textureName, Item repairMaterial, float damageAdded) { + super(material, maxDamage, textureName); + this.repairMaterial = repairMaterial; + this.repairMeta = 0; + this.damageAdded = damageAdded; + } + + public ItemVanillaOmnitool(Item.ToolMaterial material, int maxDamage, String textureName, Item repairMaterial, int repairMeta) { + super(material, maxDamage, textureName); + this.repairMaterial = repairMaterial; + this.repairMeta = repairMeta; + damageAdded = 4; + } + + public ItemVanillaOmnitool(Item.ToolMaterial material, int maxDamage, String textureName, Item repairMaterial, int repairMeta, float damageAdded) { + super(material, maxDamage, textureName); + this.repairMaterial = repairMaterial; + this.repairMeta = repairMeta; + this.damageAdded = damageAdded; + } + + @Override + public boolean canHarvestBlock(Block block, ItemStack stack) { + return (block.getHarvestLevel(new ItemStack(Item.getItemFromBlock(block)).getItemDamage()) <= this.toolMaterial.getHarvestLevel()); + } + + @Override + public boolean getIsRepairable(ItemStack stack1, ItemStack stack2) { + return (stack2.getItem() == repairMaterial && stack2.getItemDamage() == repairMeta) ? true : super.getIsRepairable(stack1, stack2); + } + + @Override + public boolean isRepairable() { + return true; + } + + @Override + public boolean hitEntity(ItemStack stack, EntityLivingBase entityliving, EntityLivingBase attacker) { + stack.damageItem(1, attacker); + entityliving.attackEntityFrom(DamageSource.generic, damageAdded); + return true; + } +} diff --git a/src/main/resources/assets/electromagictools/textures/items/diamonddrill.png b/src/main/resources/assets/electromagictools/textures/items/diamonddrill.png new file mode 100644 index 0000000000000000000000000000000000000000..c68cb4d06eee82d1250c09c5cc21fc2db7e28702 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXWa8_dH_((Ur!gu z5DWjg6Ak$e8SuEy7F(Ei-~g8pv#^IwkAYzU51X1=UjW|$!yA?y%O5Bm)L*OUd%5Yy zq}SKJ{r_1goc-3i?r4_Pi?!*8ODZjE)wAL~c1|$bSKhs`QD^I$)eSt7nKDz&u%3(2j929ls35p&yBmqzL4R5%cNStUt2Fbo^kY03ty`ypwXq2tK9jt|1QJ3 z4>MwozNdOjo3=ZXzrf^<^Yka(Hs?9HUx&|;l43GsznUY$%lJQja;o}QU-k@+Kk{ak ZjB1~}X7@TweF6*!22WQ%mvv4FO#m1fk3;|f literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electromagictools/textures/items/goldendrill.png b/src/main/resources/assets/electromagictools/textures/items/goldendrill.png new file mode 100644 index 0000000000000000000000000000000000000000..d005b69f067c7d31efcb046dc289afc38394f5c4 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXWa8_dH_((4^J1z z5DWjg6Ak$e8SuDH7F(Ei-~g8pvoJF^w~&uai*f;Tm5&;mnP1|cxl49*a(C#v`X%p| zKVIr`Wo`V{SUXX4?t-TBKNHVL&e32cfV4>~9?Xg!jNJ^6cS#(@Rd;RhM`Uq@C{ zPfBgrye>BNkn@+1-!9lqk>==`nvmL5^Ssr5TijMnZRym`xwK^J$;XcjHWa2*Y4P^(C9Pd~$>DFd%RJBeOEbNi_lxfo-(Ha= VvW02p8(!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXWa8_dH_((Cr=m0 z5DWjg6AXo#3WTX_(v*2h-F3+vg-0l9k%D zG9Au6%`~ZZ2@TCm*l%aqxLdX~Ha)>7;YOpTkEF$k{wFg}?UC=5H1QQa*l_*vvijY@ zry67eGL*bSzJ05!5s~_Ews1qfQ*D8@m#@Gfm*}om$JpyXB~+B_kMpMJ`S*H1*=ut0 zlGo+8oX2E83m-ai-8ebX`!tV;!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXWa8_dH_((7f%<* z5DWjg6Kweo8SuFMZVoU{NMP-3>}+fmRGa2y%Tg`gcVTnU#0S%lO;F41{-JWcck=h6 zg=sxMkF2+PAKraBG4@KSE&r>14pSXeU;oaW&FsB)j_Cwv%g6 zY{mYze?_Jg^PBhnWec`1UiVt3hm*&6gLE((*Uy<&u{XajHe}Ad-p;uGxbOe6&{GYw zw!NNxLZG<3`o0|(Z-npxsjNf)9+XXa<)CQ4du@b7N3|iF=jr=p%r{T}WN0yX|8xS+ z+D*%C4`$r(zrBrl#-FM*o}8C68kL#_)OK(7bY;8Mm^Sld!6l%;|HCQyitlwY7QJG; Q2=qULr>mdKI;Vst0Qy3fXaE2J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/electromagictools/textures/items/woodendrill.png b/src/main/resources/assets/electromagictools/textures/items/woodendrill.png new file mode 100644 index 0000000000000000000000000000000000000000..b1663651b077cc6a758e01c8d57be0dfa0e8ef85 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ>#Bd(*uBNzIeJghFJK|onXs%$biS~ce8-BYlo-`+b)9*24aQ<0(}PrtHShz{@jt8 zWU{5h-)ru%y7_Zc&h7mED|GqYqOyD8N4Kt9=6ITWi@=H}|I6+?IZzblC*=|7C$eHk z{I)EHo=%Bpp3LXo%yGKgk@CLb@1GYe*JM4*TMZi@@|qZ?F|a&vKR46seg8g529N0s zY&m?Z-@RKl#nFCI(?rj{&XV`X+&41**J-X5{^VFbW!8d~*BO1@1Un~Q*p{0(LH;E7 zA4&5`X3r-#?bLVul)=6B8%wgc{T+R?N;@ODoO{NNY-}qzf8AQb#%9*&S~>Z{Qe|GA dfAM