Prechádzať zdrojové kódy

Daggers, Sticks, Hammers, Wands, Wolf Fur, Bat Wing

Kajetan Johannes Hammerle 7 rokov pred
rodič
commit
ba0b640465
82 zmenil súbory, kde vykonal 400 pridanie a 39 odobranie
  1. 3 9
      src/main/java/me/km/items/ItemDagger.java
  2. 9 0
      src/main/java/me/km/items/ItemHammer.java
  3. 3 3
      src/main/java/me/km/items/ItemScroll.java
  4. 11 0
      src/main/java/me/km/items/ItemStick.java
  5. 3 3
      src/main/java/me/km/items/ItemWand.java
  6. 10 3
      src/main/java/me/km/items/ItemWeapon.java
  7. 94 3
      src/main/java/me/km/items/ModItems.java
  8. 39 9
      src/main/java/me/km/items/ModRecipes.java
  9. 1 1
      src/main/java/me/km/scrolls/CommandScroll.java
  10. 38 0
      src/main/resources/assets/km/lang/en_US.lang
  11. 6 0
      src/main/resources/assets/km/models/item/bat_wing.json
  12. 6 0
      src/main/resources/assets/km/models/item/bronze_dagger.json
  13. 6 0
      src/main/resources/assets/km/models/item/bronze_hammer.json
  14. 6 0
      src/main/resources/assets/km/models/item/bronze_stick.json
  15. 6 0
      src/main/resources/assets/km/models/item/bronze_wand.json
  16. 6 0
      src/main/resources/assets/km/models/item/copper_dagger.json
  17. 6 0
      src/main/resources/assets/km/models/item/copper_hammer.json
  18. 6 0
      src/main/resources/assets/km/models/item/copper_stick.json
  19. 6 0
      src/main/resources/assets/km/models/item/copper_wand.json
  20. 6 0
      src/main/resources/assets/km/models/item/diamond_dagger.json
  21. 6 0
      src/main/resources/assets/km/models/item/diamond_hammer.json
  22. 6 0
      src/main/resources/assets/km/models/item/diamond_stick.json
  23. 1 1
      src/main/resources/assets/km/models/item/diamond_wand.json
  24. 1 1
      src/main/resources/assets/km/models/item/emerald_wand.json
  25. 6 0
      src/main/resources/assets/km/models/item/gold_dagger.json
  26. 6 0
      src/main/resources/assets/km/models/item/gold_hammer.json
  27. 6 0
      src/main/resources/assets/km/models/item/gold_stick.json
  28. 1 1
      src/main/resources/assets/km/models/item/gold_wand.json
  29. 25 0
      src/main/resources/assets/km/models/item/handheld_stick.json
  30. 6 0
      src/main/resources/assets/km/models/item/iron_dagger.json
  31. 6 0
      src/main/resources/assets/km/models/item/iron_hammer.json
  32. 6 0
      src/main/resources/assets/km/models/item/iron_stick.json
  33. 1 1
      src/main/resources/assets/km/models/item/iron_wand.json
  34. 1 1
      src/main/resources/assets/km/models/item/lapis_wand.json
  35. 1 1
      src/main/resources/assets/km/models/item/redstone_wand.json
  36. 6 0
      src/main/resources/assets/km/models/item/silver_wand.json
  37. 6 0
      src/main/resources/assets/km/models/item/stone_dagger.json
  38. 6 0
      src/main/resources/assets/km/models/item/stone_hammer.json
  39. 6 0
      src/main/resources/assets/km/models/item/stone_stick.json
  40. 1 1
      src/main/resources/assets/km/models/item/stone_wand.json
  41. 6 0
      src/main/resources/assets/km/models/item/wolf_fur.json
  42. 6 0
      src/main/resources/assets/km/models/item/wood_dagger.json
  43. 6 0
      src/main/resources/assets/km/models/item/wood_hammer.json
  44. 6 0
      src/main/resources/assets/km/models/item/wood_stick.json
  45. 1 1
      src/main/resources/assets/km/models/item/wood_wand.json
  46. BIN
      src/main/resources/assets/km/textures/blocks/silver_block.png
  47. BIN
      src/main/resources/assets/km/textures/items/bat_wings.png
  48. BIN
      src/main/resources/assets/km/textures/items/dagger/bronze_dagger.png
  49. BIN
      src/main/resources/assets/km/textures/items/dagger/copper_dagger.png
  50. BIN
      src/main/resources/assets/km/textures/items/dagger/diamond_dagger.png
  51. BIN
      src/main/resources/assets/km/textures/items/dagger/gold_dagger.png
  52. BIN
      src/main/resources/assets/km/textures/items/dagger/iron_dagger.png
  53. BIN
      src/main/resources/assets/km/textures/items/dagger/stone_dagger.png
  54. BIN
      src/main/resources/assets/km/textures/items/dagger/wood_dagger.png
  55. BIN
      src/main/resources/assets/km/textures/items/hammer/bronze_hammer.png
  56. BIN
      src/main/resources/assets/km/textures/items/hammer/copper_hammer.png
  57. BIN
      src/main/resources/assets/km/textures/items/hammer/diamond_hammer.png
  58. BIN
      src/main/resources/assets/km/textures/items/hammer/gold_hammer.png
  59. BIN
      src/main/resources/assets/km/textures/items/hammer/iron_hammer.png
  60. BIN
      src/main/resources/assets/km/textures/items/hammer/stone_hammer.png
  61. BIN
      src/main/resources/assets/km/textures/items/hammer/wood_hammer.png
  62. BIN
      src/main/resources/assets/km/textures/items/silver/silver_ingot.png
  63. BIN
      src/main/resources/assets/km/textures/items/silver/silver_nugget.png
  64. BIN
      src/main/resources/assets/km/textures/items/stick/bronze_stick.png
  65. BIN
      src/main/resources/assets/km/textures/items/stick/copper_stick.png
  66. BIN
      src/main/resources/assets/km/textures/items/stick/diamond_stick.png
  67. BIN
      src/main/resources/assets/km/textures/items/stick/gold_stick.png
  68. BIN
      src/main/resources/assets/km/textures/items/stick/iron_stick.png
  69. BIN
      src/main/resources/assets/km/textures/items/stick/stone_stick.png
  70. BIN
      src/main/resources/assets/km/textures/items/stick/wood_stick.png
  71. BIN
      src/main/resources/assets/km/textures/items/wand/bronze_wand.png
  72. BIN
      src/main/resources/assets/km/textures/items/wand/copper_wand.png
  73. 0 0
      src/main/resources/assets/km/textures/items/wand/diamond_wand.png
  74. 0 0
      src/main/resources/assets/km/textures/items/wand/emerald_wand.png
  75. 0 0
      src/main/resources/assets/km/textures/items/wand/gold_wand.png
  76. 0 0
      src/main/resources/assets/km/textures/items/wand/iron_wand.png
  77. 0 0
      src/main/resources/assets/km/textures/items/wand/lapis_wand.png
  78. 0 0
      src/main/resources/assets/km/textures/items/wand/redstone_wand.png
  79. BIN
      src/main/resources/assets/km/textures/items/wand/silver_wand.png
  80. 0 0
      src/main/resources/assets/km/textures/items/wand/stone_wand.png
  81. 0 0
      src/main/resources/assets/km/textures/items/wand/wood_wand.png
  82. BIN
      src/main/resources/assets/km/textures/items/wolf_fur.png

+ 3 - 9
src/main/java/me/km/items/ItemDagger.java

@@ -1,15 +1,9 @@
 package me.km.items;
 
-public class ItemDagger extends ItemSword
+public class ItemDagger extends ItemWeapon
 {
-    public ItemDagger(ToolMaterial m, String name, String local) 
+    public ItemDagger(String name, String local, ToolMaterial m) 
     {
-        super(m, name, local);
-    }
-
-    @Override
-    public float getDamageVsEntity() 
-    {
-        return -2 + super.getDamageVsEntity();
+        super(name, local, m, 1, -1.5f);
     }
 }

+ 9 - 0
src/main/java/me/km/items/ItemHammer.java

@@ -0,0 +1,9 @@
+package me.km.items;
+
+public class ItemHammer extends ItemWeapon
+{
+    public ItemHammer(String name, String local, ToolMaterial m) 
+    {
+        super(name, local, m, 4, -3f);
+    }
+}

+ 3 - 3
src/main/java/me/km/items/ItemScroll.java

@@ -25,9 +25,9 @@ public class ItemScroll extends ItemBase
     @Override
     public ActionResult<ItemStack> onItemRightClick(World w, EntityPlayer p, EnumHand hand) 
     {
-        if(w.isRemote)
+        if(w.isRemote || KajetansMod.singlePlayer)
         {
-            return new ActionResult(EnumActionResult.FAIL, p.getHeldItem(hand));
+            return new ActionResult(EnumActionResult.SUCCESS, p.getHeldItem(hand));
         }
         
         if(!KajetansMod.worldManager.getWorldPreferences(w).scrolls)
@@ -47,7 +47,7 @@ public class ItemScroll extends ItemBase
                 {
                     throw new Exception();
                 }
-                Class<? extends ActiveEffectBase> c = EffectUtils.getEffectClass(parts[0]);
+                Class<? extends ActiveEffectBase> c = EffectUtils.getEffectClass(parts[0].substring(2));
                 if(c == null)
                 { 
                     throw new Exception();

+ 11 - 0
src/main/java/me/km/items/ItemStick.java

@@ -0,0 +1,11 @@
+package me.km.items;
+
+import net.minecraft.item.Item;
+
+public class ItemStick extends ItemWeapon
+{
+    public ItemStick(String name, String local, Item.ToolMaterial m) 
+    {
+        super(name, local, m, 0, -0.5f);
+    }
+}

+ 3 - 3
src/main/java/me/km/items/ItemWand.java

@@ -21,16 +21,16 @@ public class ItemWand extends ItemWeapon
     
     public ItemWand(String name, String local, ToolMaterial material, int strength) 
     {
-        super(name, local, material, 0);
+        super(name, local, material, 0, -3);
         this.strength = strength;
     }
     
     @Override
     public ActionResult<ItemStack> onItemRightClick(World w, EntityPlayer p, EnumHand hand) 
     {
-        if(w.isRemote)
+        if(w.isRemote || KajetansMod.singlePlayer)
         {
-            return new ActionResult(EnumActionResult.FAIL, p.getHeldItem(hand));
+            return new ActionResult(EnumActionResult.SUCCESS, p.getHeldItem(hand));
         }
         
         if(!KajetansMod.worldManager.getWorldPreferences(w).scrolls)

+ 10 - 3
src/main/java/me/km/items/ItemWeapon.java

@@ -17,9 +17,10 @@ import net.minecraftforge.fml.relauncher.SideOnly;
 public class ItemWeapon extends ItemBase
 {
     private final float attackDamage;
+    private final double speed;
     private final Item.ToolMaterial material;
 
-    public ItemWeapon(String name, String local, Item.ToolMaterial material, float attackDamage)
+    public ItemWeapon(String name, String local, Item.ToolMaterial material, float attackDamage, double speed)
     {
         super(name, local);
         this.material = material;
@@ -27,6 +28,12 @@ public class ItemWeapon extends ItemBase
         super.setMaxDamage(material.getMaxUses());
         super.setCreativeTab(CreativeTabs.COMBAT);
         this.attackDamage = attackDamage + material.getDamageVsEntity();
+        this.speed = speed;
+    }
+    
+    public ItemWeapon(String name, String local, Item.ToolMaterial material, float attackDamage)
+    {
+        this(name, local, material, attackDamage, -2.4d);
     }
 
     @Override
@@ -39,7 +46,7 @@ public class ItemWeapon extends ItemBase
     @Override
     public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving)
     {
-        if((double) state.getBlockHardness(worldIn, pos) != 0.0D)
+        if(state.getBlockHardness(worldIn, pos) != 0)
         {
             stack.damageItem(2, entityLiving);
         }
@@ -75,7 +82,7 @@ public class ItemWeapon extends ItemBase
         if (equipmentSlot == EntityEquipmentSlot.MAINHAND)
         {
             multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", this.attackDamage, 0));
-            multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2.4000000953674316D, 0));
+            multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", speed, 0));
         }
         return multimap;
     }

+ 94 - 3
src/main/java/me/km/items/ModItems.java

@@ -1,10 +1,11 @@
 package me.km.items;
 
 import me.km.KajetansMod;
-import me.km.blocks.ModBlocks;
 import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Items;
 import net.minecraft.init.SoundEvents;
 import net.minecraft.inventory.EntityEquipmentSlot;
+import net.minecraft.item.EnumDyeColor;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemArmor.ArmorMaterial;
 import net.minecraft.item.ItemStack;
@@ -26,9 +27,17 @@ public class ModItems
         ATTACK_SPEEDS { -3.2F, -3.2F, -3.1F, -3.0F, -3.0F}
     */
     public static final Item.ToolMaterial TOOL_COPPER = 
-            EnumHelper.addToolMaterial("COPPER", 1, 161, 6, 1, 18);
+            EnumHelper.addToolMaterial("COPPER",   1,  161, 6,    1, 18);
     public static final Item.ToolMaterial TOOL_BRONZE = 
-            EnumHelper.addToolMaterial("BRONZE", 2, 208, 7, 1.5f, 15);
+            EnumHelper.addToolMaterial("BRONZE",   2,  208, 7, 1.5f, 15);
+    public static final Item.ToolMaterial TOOL_REDSTONE = 
+            EnumHelper.addToolMaterial("REDSTONE", 0,   59, 1,    0, 22);
+    public static final Item.ToolMaterial TOOL_SILVER = 
+            EnumHelper.addToolMaterial("SILVER",   0,  250, 5,    2, 20);
+    public static final Item.ToolMaterial TOOL_EMERALD = 
+            EnumHelper.addToolMaterial("EMERALD",  0, 1248, 7, 2.5f, 10);
+    public static final Item.ToolMaterial TOOL_LAPIS = 
+            EnumHelper.addToolMaterial("LAPIS",    0,  131, 4,    1, 15);
     
     /*
         String nameIn, int maxDamageFactorIn, int[] damageReductionAmountArrayIn, 
@@ -101,6 +110,43 @@ public class ModItems
     
     // wands
     public static ItemWand woodenWand;
+    public static ItemWand stoneWand;
+    public static ItemWand copperWand;
+    public static ItemWand bronzeWand;
+    public static ItemWand ironWand;
+    public static ItemWand goldWand;
+    public static ItemWand emeraldWand;
+    public static ItemWand redstoneWand;
+    public static ItemWand lapisWand;
+    public static ItemWand diamondWand;
+    public static ItemWand silverWand;
+    
+    // sticks
+    public static ItemStick woodenStick;
+    public static ItemStick stoneStick;
+    public static ItemStick copperStick;
+    public static ItemStick bronzeStick;
+    public static ItemStick ironStick;
+    public static ItemStick goldStick;
+    public static ItemStick diamondStick;
+    
+    // dagger
+    public static ItemDagger woodenDagger;
+    public static ItemDagger stoneDagger;
+    public static ItemDagger copperDagger;
+    public static ItemDagger bronzeDagger;
+    public static ItemDagger ironDagger;
+    public static ItemDagger goldDagger;
+    public static ItemDagger diamondDagger;
+    
+    // hammer
+    public static ItemHammer woodenHammer;
+    public static ItemHammer stoneHammer;
+    public static ItemHammer copperHammer;
+    public static ItemHammer bronzeHammer;
+    public static ItemHammer ironHammer;
+    public static ItemHammer goldHammer;
+    public static ItemHammer diamondHammer;
     
     // coins
     public static ItemBase copperCoin;
@@ -111,6 +157,8 @@ public class ModItems
     public static ItemScroll scroll;
     public static ItemBed realHayBed; 
     public static ItemBase hayBundle; 
+    public static ItemBase batWing; 
+    public static ItemBase wolfFur; 
     
     public static void init() 
     {
@@ -132,6 +180,10 @@ public class ModItems
         ARMOR_COPPER.setRepairItem(new ItemStack(copperIngot));
         TOOL_BRONZE.setRepairItem(new ItemStack(bronzeIngot));
         ARMOR_BRONZE.setRepairItem(new ItemStack(bronzeIngot));
+        TOOL_EMERALD.setRepairItem(new ItemStack(Items.EMERALD));
+        TOOL_REDSTONE.setRepairItem(new ItemStack(Items.REDSTONE));
+        TOOL_LAPIS.setRepairItem(new ItemStack(Items.DYE, 1, EnumDyeColor.BLUE.getDyeDamage()));
+        TOOL_SILVER.setRepairItem(new ItemStack(silverIngot));
         
         // tools and swords
         copperSword =  register(new ItemSword(TOOL_COPPER, "copper_sword", "swordCopper"));
@@ -166,6 +218,43 @@ public class ModItems
         
         // wands
         woodenWand = register(new ItemWand("wood_wand", "wandWood", Item.ToolMaterial.WOOD, 1));
+        stoneWand = register(new ItemWand("stone_wand", "wandStone", Item.ToolMaterial.STONE, 1));
+        copperWand = register(new ItemWand("copper_wand", "wandCopper", TOOL_COPPER, 2));
+        bronzeWand = register(new ItemWand("bronze_wand", "wandBronze", TOOL_BRONZE, 2));
+        ironWand = register(new ItemWand("iron_wand", "wandIron", Item.ToolMaterial.IRON, 2));
+        goldWand = register(new ItemWand("gold_wand", "wandGold", Item.ToolMaterial.GOLD, 6));
+        emeraldWand = register(new ItemWand("emerald_wand", "wandEmerald", TOOL_EMERALD, 4));
+        redstoneWand = register(new ItemWand("redstone_wand", "wandRedstone", TOOL_REDSTONE, 5));
+        lapisWand = register(new ItemWand("lapis_wand", "wandLapis", TOOL_LAPIS, 6));
+        diamondWand = register(new ItemWand("diamond_wand", "wandDiamond", Item.ToolMaterial.DIAMOND, 4));
+        silverWand = register(new ItemWand("silver_wand", "wandSilver", TOOL_SILVER, 6));
+        
+        // sticks
+        woodenStick = register(new ItemStick("wood_stick", "stickWood", Item.ToolMaterial.WOOD));
+        stoneStick = register(new ItemStick("stone_stick", "stickStone", Item.ToolMaterial.STONE));
+        copperStick = register(new ItemStick("copper_stick", "stickCopper", TOOL_COPPER));
+        bronzeStick = register(new ItemStick("bronze_stick", "stickBronze", TOOL_BRONZE));
+        ironStick = register(new ItemStick("iron_stick", "stickIron", Item.ToolMaterial.IRON));
+        goldStick = register(new ItemStick("gold_stick", "stickGold", Item.ToolMaterial.GOLD));
+        diamondStick = register(new ItemStick("diamond_stick", "stickDiamond", Item.ToolMaterial.DIAMOND));
+        
+        // dagger
+        woodenDagger = register(new ItemDagger("wood_dagger", "daggerWood", Item.ToolMaterial.WOOD));
+        stoneDagger = register(new ItemDagger("stone_dagger", "daggerStone", Item.ToolMaterial.STONE));
+        copperDagger = register(new ItemDagger("copper_dagger", "daggerCopper", TOOL_COPPER));
+        bronzeDagger = register(new ItemDagger("bronze_dagger", "daggerBronze", TOOL_BRONZE));
+        ironDagger = register(new ItemDagger("iron_dagger", "daggerIron", Item.ToolMaterial.IRON));
+        goldDagger = register(new ItemDagger("gold_dagger", "daggerGold", Item.ToolMaterial.GOLD));
+        diamondDagger = register(new ItemDagger("diamond_dagger", "daggerDiamond", Item.ToolMaterial.DIAMOND));
+        
+        // hammer
+        woodenHammer = register(new ItemHammer("wood_hammer", "hammerWood", Item.ToolMaterial.WOOD));
+        stoneHammer = register(new ItemHammer("stone_hammer", "hammerStone", Item.ToolMaterial.STONE));
+        copperHammer = register(new ItemHammer("copper_hammer", "hammerCopper", TOOL_COPPER));
+        bronzeHammer = register(new ItemHammer("bronze_hammer", "hammerBronze", TOOL_BRONZE));
+        ironHammer = register(new ItemHammer("iron_hammer", "hammerIron", Item.ToolMaterial.IRON));
+        goldHammer = register(new ItemHammer("gold_hammer", "hammerGold", Item.ToolMaterial.GOLD));
+        diamondHammer = register(new ItemHammer("diamond_hammer", "hammerDiamond", Item.ToolMaterial.DIAMOND));
         
         // coins
         copperCoin = register(new ItemBase("coin_copper", "coinCopper").setCreativeTab(CreativeTabs.MISC));
@@ -176,6 +265,8 @@ public class ModItems
         scroll = register((ItemScroll) new ItemScroll("scroll", "scroll").setCreativeTab(CreativeTabs.MISC));
         realHayBed = register(new ItemBed("real_hay_bed", "realHayBed"));
         hayBundle = register(new ItemBase("hay_bundle", "bundleHay").setCreativeTab(CreativeTabs.MATERIALS));
+        batWing = register(new ItemBase("bat_wing", "batWing").setCreativeTab(CreativeTabs.MATERIALS));
+        wolfFur = register(new ItemBase("wolf_fur", "wolfFur").setCreativeTab(CreativeTabs.MATERIALS));
     }
 	
     private static <T extends Item> T register(T item) 

+ 39 - 9
src/main/java/me/km/items/ModRecipes.java

@@ -3,7 +3,9 @@ package me.km.items;
 import me.km.blocks.EnumMetals;
 import me.km.blocks.ModBlocks;
 import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
 import net.minecraft.init.Items;
+import net.minecraft.item.EnumDyeColor;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.item.crafting.CraftingManager;
@@ -35,7 +37,6 @@ public class ModRecipes
         fr.addSmeltingRecipeForBlock(ModBlocks.silverOre, new ItemStack(ModItems.silverIngot), 1);
         
         // armor recipes
-        String[][] armorPatterns = new String[][] {{"XXX", "X X"}, {"X X", "XXX", "XXX"}, {"XXX", "X X", "X X"}, {"X X", "X X"}};
         Item[][] armorItems = new Item[][] 
         {
             {ModItems.copperIngot, ModItems.bronzeIngot}, 
@@ -44,9 +45,9 @@ public class ModRecipes
             {ModItems.copperLeggings, ModItems.bronzeLeggings}, 
             {ModItems.copperBoots, ModItems.bronzeBoots}
         };
-        addArmorRecipes(cm, armorPatterns, armorItems);
+        addArmorRecipes(cm, armorItems);
         
-        // tool recipes
+        // additionel old tool recipes
         String[][] toolPatterns = new String[][] {{"XXX", " # ", " # "}, {"X", "#", "#"}, {"XX", "X#", " #"}, {"XX", " #", " #"}};
         Object[][] toolItems = new Object[][] 
         {
@@ -58,14 +59,41 @@ public class ModRecipes
         };
         addToolRecipes(cm, toolPatterns, toolItems);
         
-        // weapon recipes
-        String[][] weaponPatterns = new String[][] {{"X", "X", "#"}};
+        // new tool / weapon recipes
+        toolPatterns = new String[][] {{"X  ", " # ", "  X"}, {" X", "# "}, {"XXX", "X#X", " # "}};
+        toolItems = new Object[][] 
+        {
+            {Blocks.PLANKS, Blocks.COBBLESTONE, Items.IRON_INGOT, Items.DIAMOND, 
+                Items.GOLD_INGOT, ModItems.copperIngot, ModItems.bronzeIngot}, 
+            {ModItems.woodenStick, ModItems.stoneStick, ModItems.ironStick, ModItems.diamondStick, 
+                ModItems.goldStick, ModItems.copperStick, ModItems.bronzeStick}, 
+            {ModItems.woodenDagger, ModItems.stoneDagger, ModItems.ironDagger, ModItems.diamondDagger, 
+                ModItems.goldDagger, ModItems.copperDagger, ModItems.bronzeDagger}, 
+            {ModItems.woodenHammer, ModItems.stoneHammer, ModItems.ironHammer, ModItems.diamondHammer, 
+                ModItems.goldHammer, ModItems.copperHammer, ModItems.bronzeHammer}, 
+        };
+        addToolRecipes(cm, toolPatterns, toolItems);
+        
+        // wands
+        toolPatterns = new String[][] {{" #X", " ##", "#  "}};
+        toolItems = new Object[][] 
+        {
+            {Blocks.PLANKS, Blocks.COBBLESTONE, Items.IRON_INGOT, Items.DIAMOND, Items.GOLD_INGOT, 
+                ModItems.copperIngot, ModItems.bronzeIngot, Items.EMERALD, Items.REDSTONE, 
+                new ItemStack(Items.DYE, 1, EnumDyeColor.BLUE.getDyeDamage()), ModItems.silverIngot}, 
+            {ModItems.woodenWand, ModItems.stoneWand, ModItems.ironWand, ModItems.diamondWand, ModItems.goldWand, 
+                ModItems.copperWand, ModItems.bronzeWand, ModItems.emeraldWand, ModItems.redstoneWand,
+                ModItems.lapisWand, ModItems.silverWand}, 
+        };
+        addToolRecipes(cm, toolPatterns, toolItems);
+        
+        // additionel old weapon recipes
         Object[][] weaponItems = new Object[][] 
         {
             {ModItems.copperIngot, ModItems.bronzeIngot}, 
             {ModItems.copperSword, ModItems.bronzeSword}
         };
-        addWeaponRecipes(cm, weaponPatterns, weaponItems);
+        addWeaponRecipes(cm, weaponItems);
         
         // block <-> parts <-> smaller parts recipes
         Object[][] ingotItems = new Object[][] 
@@ -85,8 +113,9 @@ public class ModRecipes
         addNuggetRecipes(fr, toolItems, armorItems, weaponItems, ModItems.copperNugget, ModItems.bronzeNugget);
     }
 
-    private static void addArmorRecipes(CraftingManager cm, String[][] armorPatterns, Item[][] armorItems)
+    private static void addArmorRecipes(CraftingManager cm, Item[][] armorItems)
     {
+        String[][] armorPatterns = new String[][] {{"XXX", "X X"}, {"X X", "XXX", "XXX"}, {"XXX", "X X", "X X"}, {"X X", "X X"}};
         for (int i = 0; i < armorItems[0].length; ++i)
         {
             Item item = armorItems[0][i];
@@ -100,7 +129,7 @@ public class ModRecipes
     }
     
     private static void addToolRecipes(CraftingManager cm, String[][] toolPatterns, Object[][] toolItems)
-    {
+    {       
         for(int i = 0; i < toolItems[0].length; ++i)
         {
             Object object = toolItems[0][i];
@@ -113,8 +142,9 @@ public class ModRecipes
         }
     }
     
-    private static void addWeaponRecipes(CraftingManager cm, String[][] weaponPatterns, Object[][] weaponItems)
+    private static void addWeaponRecipes(CraftingManager cm, Object[][] weaponItems)
     {
+        String[][] weaponPatterns = new String[][] {{"X", "X", "#"}};
         for(int i = 0; i < weaponItems[0].length; ++i)
         {
             Object object = weaponItems[0][i];

+ 1 - 1
src/main/java/me/km/scrolls/CommandScroll.java

@@ -71,7 +71,7 @@ public class CommandScroll extends ModuleTabCommand
         catch(NumberFormatException | ArrayIndexOutOfBoundsException ex)
         {
         }     
-        new ItemStackBuilder(ModItems.scroll, amount).setName(arg[0] + " " + Utils.intToRoman(level)).drop(p.world, p.getPosition());
+        new ItemStackBuilder(ModItems.scroll, amount).setName("§6" + arg[0] + " " + Utils.intToRoman(level)).drop(p.world, p.getPosition());
         return true;
     }
 }

+ 38 - 0
src/main/resources/assets/km/lang/en_US.lang

@@ -58,6 +58,42 @@ fluid.poison=Poison
 fluid.honey=Honey
 
 
+item.wandWood.name=Wooden Wand
+item.wandStone.name=Stone Wand
+item.wandCopper.name=Copper Wand
+item.wandBronze.name=Bronze Wand
+item.wandIron.name=Iron Wand
+item.wandGold.name=Gold Wand
+item.wandEmerald.name=Emerald Wand
+item.wandRedstone.name=Redstone Wand
+item.wandLapis.name=Lapis Lazuli Wand
+item.wandDiamond.name=Diamond Wand
+item.wandSilver.name=Silver Wand
+
+item.stickWood.name=Wooden Stick
+item.stickStone.name=Stone Stick
+item.stickCopper.name=Copper Stick
+item.stickBronze.name=Bronze Stick
+item.stickIron.name=Iron Stick
+item.stickGold.name=Gold Stick
+item.stickDiamond.name=Diamond Stick
+
+item.daggerWood.name=Wooden Dagger
+item.daggerStone.name=Stone Dagger
+item.daggerCopper.name=Copper Dagger
+item.daggerBronze.name=Bronze Dagger
+item.daggerIron.name=Iron Dagger
+item.daggerGold.name=Gold Dagger
+item.daggerDiamond.name=Diamond Dagger
+
+item.hammerWood.name=Wooden Hammer
+item.hammerStone.name=Stone Hammer
+item.hammerCopper.name=Copper Hammer
+item.hammerBronze.name=Bronze Hammer
+item.hammerIron.name=Iron Hammer
+item.hammerGold.name=Gold Hammer
+item.hammerDiamond.name=Diamond Hammer
+
 item.cylinder.name=Cylinder Hat
 item.chestplateSuit.name=Suit Jacket
 item.leggingsSuit.name=Dress Pants 
@@ -72,6 +108,8 @@ item.coinGold.name=Gold Coin
 item.scroll.name=Magic Scroll
 item.realHayBed.name=Hay Mat
 item.bundleHay.name=Hay Bundle
+item.batWing.name=Bat Wing
+item.wolfFur.name=Wolf Fur
 
 entity.BrownBear.name=Brown Bear
 entity.BlackBear.name=Black Bear

+ 6 - 0
src/main/resources/assets/km/models/item/bat_wing.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/generated",
+    "textures": {
+        "layer0": "km:items/bat_wings"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/bronze_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/bronze_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/bronze_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/bronze_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/bronze_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/bronze_stick"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/bronze_wand.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/wand/bronze_wand"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/copper_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/copper_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/copper_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/copper_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/copper_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/copper_stick"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/copper_wand.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/wand/copper_wand"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/diamond_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/diamond_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/diamond_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/diamond_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/diamond_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/diamond_stick"
+    }
+}

+ 1 - 1
src/main/resources/assets/km/models/item/diamond_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/diamond_wand"
+        "layer0": "km:items/wand/diamond_wand"
     }
 }

+ 1 - 1
src/main/resources/assets/km/models/item/emerald_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/emerald_wand"
+        "layer0": "km:items/wand/emerald_wand"
     }
 }

+ 6 - 0
src/main/resources/assets/km/models/item/gold_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/gold_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/gold_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/gold_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/gold_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/gold_stick"
+    }
+}

+ 1 - 1
src/main/resources/assets/km/models/item/gold_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/gold_wand"
+        "layer0": "km:items/wand/gold_wand"
     }
 }

+ 25 - 0
src/main/resources/assets/km/models/item/handheld_stick.json

@@ -0,0 +1,25 @@
+{
+    "parent": "item/generated",
+    "display": {
+        "thirdperson_righthand": {
+            "rotation": [ 0, -90, 55 ],
+            "translation": [ 0, -2.0, 0.5 ],
+            "scale": [ 1.50, 1.50, 1.50 ]
+        },
+        "thirdperson_lefthand": {
+            "rotation": [ 0, 90, -55 ],
+            "translation": [ 0, -2.0, 0.5 ],
+            "scale": [ 1.50, 1.50, 1.50 ]
+        },
+        "firstperson_righthand": {
+            "rotation": [ 0, -90, 25 ],
+            "translation": [ 1.13, 1.2, 1.13 ],
+            "scale": [ 0.88, 0.88, 0.88 ]
+        },
+        "firstperson_lefthand": {
+            "rotation": [ 0, 90, -25 ],
+            "translation": [ 1.13, 1.2, 1.13 ],
+            "scale": [ 0.88, 0.88, 0.88 ]
+        }
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/iron_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/iron_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/iron_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/iron_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/iron_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/iron_stick"
+    }
+}

+ 1 - 1
src/main/resources/assets/km/models/item/iron_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/iron_wand"
+        "layer0": "km:items/wand/iron_wand"
     }
 }

+ 1 - 1
src/main/resources/assets/km/models/item/lapis_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/lapis_wand"
+        "layer0": "km:items/wand/lapis_wand"
     }
 }

+ 1 - 1
src/main/resources/assets/km/models/item/redstone_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/redstone_wand"
+        "layer0": "km:items/wand/redstone_wand"
     }
 }

+ 6 - 0
src/main/resources/assets/km/models/item/silver_wand.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/wand/silver_wand"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/stone_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/stone_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/stone_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/stone_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/stone_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/stone_stick"
+    }
+}

+ 1 - 1
src/main/resources/assets/km/models/item/stone_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/stone_wand"
+        "layer0": "km:items/wand/stone_wand"
     }
 }

+ 6 - 0
src/main/resources/assets/km/models/item/wolf_fur.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/generated",
+    "textures": {
+        "layer0": "km:items/wolf_fur"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/wood_dagger.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/dagger/wood_dagger"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/wood_hammer.json

@@ -0,0 +1,6 @@
+{
+    "parent": "item/handheld",
+    "textures": {
+        "layer0": "km:items/hammer/wood_hammer"
+    }
+}

+ 6 - 0
src/main/resources/assets/km/models/item/wood_stick.json

@@ -0,0 +1,6 @@
+{
+    "parent": "km:item/handheld_stick",
+    "textures": {
+        "layer0": "km:items/stick/wood_stick"
+    }
+}

+ 1 - 1
src/main/resources/assets/km/models/item/wood_wand.json

@@ -1,6 +1,6 @@
 {
     "parent": "item/handheld",
     "textures": {
-        "layer0": "km:items/wood_wand"
+        "layer0": "km:items/wand/wood_wand"
     }
 }

BIN
src/main/resources/assets/km/textures/blocks/silver_block.png


BIN
src/main/resources/assets/km/textures/items/bat_wings.png


BIN
src/main/resources/assets/km/textures/items/dagger/bronze_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/copper_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/diamond_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/gold_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/iron_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/stone_dagger.png


BIN
src/main/resources/assets/km/textures/items/dagger/wood_dagger.png


BIN
src/main/resources/assets/km/textures/items/hammer/bronze_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/copper_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/diamond_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/gold_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/iron_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/stone_hammer.png


BIN
src/main/resources/assets/km/textures/items/hammer/wood_hammer.png


BIN
src/main/resources/assets/km/textures/items/silver/silver_ingot.png


BIN
src/main/resources/assets/km/textures/items/silver/silver_nugget.png


BIN
src/main/resources/assets/km/textures/items/stick/bronze_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/copper_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/diamond_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/gold_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/iron_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/stone_stick.png


BIN
src/main/resources/assets/km/textures/items/stick/wood_stick.png


BIN
src/main/resources/assets/km/textures/items/wand/bronze_wand.png


BIN
src/main/resources/assets/km/textures/items/wand/copper_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/diamond_wand.png → src/main/resources/assets/km/textures/items/wand/diamond_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/emerald_wand.png → src/main/resources/assets/km/textures/items/wand/emerald_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/gold_wand.png → src/main/resources/assets/km/textures/items/wand/gold_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/iron_wand.png → src/main/resources/assets/km/textures/items/wand/iron_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/lapis_wand.png → src/main/resources/assets/km/textures/items/wand/lapis_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/redstone_wand.png → src/main/resources/assets/km/textures/items/wand/redstone_wand.png


BIN
src/main/resources/assets/km/textures/items/wand/silver_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/stone_wand.png → src/main/resources/assets/km/textures/items/wand/stone_wand.png


+ 0 - 0
src/main/resources/assets/km/textures/items/wood_wand.png → src/main/resources/assets/km/textures/items/wand/wood_wand.png


BIN
src/main/resources/assets/km/textures/items/wolf_fur.png