From 03d0724cd274eb0f687c6d9240fa42690b0c9ce3 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Sat, 6 Oct 2018 18:55:02 -0400 Subject: [PATCH] finizhed chisel and sledgehammer feature plus fixed some bugs --- kfc/To-Dos.md | 13 +- kfc/gradle.properties | 2 +- .../java/nmd/primal/forgecraft/ModInfo.java | 2 +- .../forgecraft/blocks/Anvil/AnvilStone.java | 19 +- .../nmd/primal/forgecraft/blocks/Chisel.java | 43 +++- .../primal/forgecraft/compat/jei/ModJEI.java | 2 + .../CraftingRegistery/RecipesCrucible.java | 12 +- .../nmd/primal/forgecraft/init/ModBlocks.java | 6 +- .../primal/forgecraft/init/ModCrafting.java | 6 + .../nmd/primal/forgecraft/init/ModItems.java | 19 +- .../init/recipes/CrucibleRecipes.java | 186 ---------------- .../primal/forgecraft/items/SledgeHammer.java | 82 +++++-- .../forgecraft/items/weapons/RawLongbow.java | 28 +++ .../primal/forgecraft/util/AnvilHandler.java | 203 +++++++++--------- .../assets/forgecraft/lang/en_US.lang | 18 +- kfc/src/main/resources/mcmod.info | 2 +- 16 files changed, 295 insertions(+), 348 deletions(-) delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CrucibleRecipes.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 0929f5fc..9dd77a73 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -8,13 +8,14 @@ ## Current Feature - [x] SledgeHammer and Chisel item and blocks -- [ ] Chisel Bounding Box changes -- [ ] SledgeHammer Supid Damage Modifier +- [x] ToolTip rawLongbow +- [x] Update Recipes with oreDict for slackLime +- [x] Chisel Bounding Box changes +- [x] SledgeHammer Supid Damage Modifier - [x] SledgeHammer and Chisel crafting - [x] SledgeHammer and Chisel assets -- [ ] SoftCrucible Color Issues -- [ ] Play a sound when bloomery or forge finishes -- [ ] Hardness and Resistance calculation for durability damage +- [x] SoftCrucible Color Issues +- [ ] Add heat version of sledgehammer - [ ] Craft Tweaker Support - [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron - [ ] Copper Gladius @@ -33,6 +34,8 @@ - [ ] Create lock assembly item ## Backlog +- [ ] Play a sound when bloomery or forge finishes +- [ ] Hardness and Resistance calculation for durability damage - [ ] Hardened Leather Helmet Inventory Model - [ ] Add Achievements - [ ] Bloomery Print out diff --git a/kfc/gradle.properties b/kfc/gradle.properties index b0924a96..61bb3f49 100644 --- a/kfc/gradle.properties +++ b/kfc/gradle.properties @@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G mod_group=nmd.primal.forgecraft mod_name=ForgeCraft -mod_version=1.6.20 +mod_version=1.6.21 forge_version=14.23.4.2744 mcp_mappings=snapshot_20171003 mc_version=1.12.2 diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 3d59d713..2b0bb1f7 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -21,7 +21,7 @@ public class ModInfo { //public static final String MOD_PREFIX = MOD_ID + ":"; public static final String MOD_CHANNEL = MOD_ID; - public static final String MOD_VERSION = "1.6.20"; + public static final String MOD_VERSION = "1.6.21"; public static final String MC_VERSIONS = "[1.12.0, 1.13.0)"; public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);"; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java index 224fadc8..3117e1d4 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java @@ -11,6 +11,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import nmd.primal.core.common.items.tools.Gallagher; import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.items.SledgeHammer; import nmd.primal.forgecraft.tiles.TileAnvil; /** @@ -34,7 +35,6 @@ public class AnvilStone extends AnvilBase { ItemStack stack12 = tile.getSlotStack(12).copy(); if (!world.isRemote) { if (hand.equals(hand.MAIN_HAND)) { - if (!stack12.isEmpty()) { if (tile != null) { if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) { @@ -113,15 +113,16 @@ public class AnvilStone extends AnvilBase { } } } - if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) { - ItemStack[] tempArray = new ItemStack[25]; - for (int i = 0; i < 25; i++) { - tempArray[i] = tile.getSlotStack(i); + //if(! (pItem.getItem() instanceof SledgeHammer) ) { + if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) { + ItemStack[] tempArray = new ItemStack[25]; + for (int i = 0; i < 25; i++) { + tempArray[i] = tile.getSlotStack(i); + } + doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player); + return true; } - doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player); - return true; - } - + //} doAnvilInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player); return true; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java index 0b672029..c59d40b4 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java @@ -50,11 +50,23 @@ public class Chisel extends CustomFacing { 0.625D, 0.4375D, 0.4375D, 1.0D, 0.5625D, 0.5625D); private AxisAlignedBB boundBoxWest = new AxisAlignedBB( - 0.0D, 0.4375D, 0.0D, - 1.0D, 0.5625D, 1.0D); + 0.0D, 0.4375D, 0.4375D, + 0.875D, 0.5625D, 0.5625D); private AxisAlignedBB boundBoxWestActive = new AxisAlignedBB( - 0.0D, 0.4375D, 0.0D, - 1.0D, 0.5625D, 1.0D); + 0.0D, 0.4375D, 0.4375D, + 0.375D, 0.5625D, 0.5625D); + private AxisAlignedBB boundBoxNorth = new AxisAlignedBB( + 0.4375D, 0.4375D, 0.0D, + 0.5625D, 0.5625D, 0.875D); + private AxisAlignedBB boundBoxNorthActive = new AxisAlignedBB( + 0.4375D, 0.4375D, 0.0D, + 0.5625D, 0.5625D, 0.375D); + private AxisAlignedBB boundBoxSouth = new AxisAlignedBB( + 0.4375D, 0.4375D, 0.125D, + 0.5625D, 0.5625D, 1.0D); + private AxisAlignedBB boundBoxSouthActive = new AxisAlignedBB( + 0.4375D, 0.4375D, 0.625D, + 0.5625D, 0.5625D, 1.0D); private Item.ToolMaterial realMaterial; @@ -93,6 +105,18 @@ public class Chisel extends CustomFacing { if(state.getValue(FACING)==EnumFacing.WEST && state.getValue(PrimalAPI.States.ACTIVE)){ return boundBoxWestActive; } + if(state.getValue(FACING)==EnumFacing.NORTH && !state.getValue(PrimalAPI.States.ACTIVE)){ + return boundBoxNorth; + } + if(state.getValue(FACING)==EnumFacing.NORTH && state.getValue(PrimalAPI.States.ACTIVE)){ + return boundBoxNorthActive; + } + if(state.getValue(FACING)==EnumFacing.SOUTH && !state.getValue(PrimalAPI.States.ACTIVE)){ + return boundBoxSouth; + } + if(state.getValue(FACING)==EnumFacing.SOUTH && state.getValue(PrimalAPI.States.ACTIVE)){ + return boundBoxSouthActive; + } return boundBoxDown; } @@ -372,7 +396,10 @@ public class Chisel extends CustomFacing { private void doBreaking(World world, BlockPos movePos, IBlockState state, EntityPlayer player){ if (!(state.getBlock().equals(Blocks.AIR))) { if(world.getBlockState(movePos).getBlock().getBlockHardness(state, world, movePos)>0) { - world.destroyBlock(movePos, player.canHarvestBlock(state)); + + ItemStack playerStack = player.inventory.getCurrentItem(); + int toolHarvestLevel = playerStack.getItem().getHarvestLevel(playerStack, "pickaxe", player, state); + world.destroyBlock(movePos, compareHarvestLevel(toolHarvestLevel, state.getBlock().getHarvestLevel(state))); world.sendBlockBreakProgress(player.getEntityId()+PrimalAPI.getRandom().nextInt(100), movePos, 0); } } @@ -386,6 +413,12 @@ public class Chisel extends CustomFacing { } } + private boolean compareHarvestLevel(int inputLevel, int compareHarvest){ + if(inputLevel >= compareHarvest){ + return true; + } else return false; + } + private void makeParticles(World world, BlockPos pos, EnumParticleTypes particle, EnumFacing facing){ double d0 = (double)pos.getX() + 0.5D; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/jei/ModJEI.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/jei/ModJEI.java index 539938e0..6eb9e16f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/jei/ModJEI.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/jei/ModJEI.java @@ -100,5 +100,7 @@ public class ModJEI implements IModPlugin //registry.addIngredientInfo(new OreIngredient("oreIron"), OreIngredient.class, "jei.info.forgecraft.oreiron"); registry.addIngredientInfo(new ItemStack(ModBlocks.castingform, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.casting"); registry.addIngredientInfo(new ItemStack(ModBlocks.stoneanvil, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.anvil"); + + } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java index 3094f2cd..d12d5623 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java @@ -306,7 +306,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("dustIron"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), Ingredient.EMPTY, Ingredient.EMPTY, Ingredient.EMPTY, @@ -533,7 +533,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), Ingredient.EMPTY, Ingredient.EMPTY, Ingredient.EMPTY, @@ -613,7 +613,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), new OreIngredient("dustRedstone"), Ingredient.EMPTY, Ingredient.EMPTY, @@ -625,7 +625,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), new OreIngredient("flakeDiamond"), Ingredient.EMPTY, Ingredient.EMPTY, @@ -637,7 +637,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), new OreIngredient("flakeEmerald"), Ingredient.EMPTY, Ingredient.EMPTY, @@ -649,7 +649,7 @@ public final class RecipesCrucible { recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("slackLime"), new OreIngredient("gemLapis"), Ingredient.EMPTY, Ingredient.EMPTY, diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java index 4766923e..43409ae4 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java @@ -75,7 +75,7 @@ public class ModBlocks { pistonbellowsacacia = new PistonBellows(Material.WOOD, "pistonbellowsacacia"); stoneanvil = new AnvilStone(Material.ANVIL, "stoneanvil", 5.0f, true); - ironanvil = new AnvilIron(Material.ANVIL, "ironanvil", 6.0f, true); + //ironanvil = new AnvilIron(Material.ANVIL, "ironanvil", 6.0f, true); yewstave = new YewStave(Material.WOOD, "yewstave", 3.0F); @@ -106,7 +106,7 @@ public class ModBlocks { registerBlockWithItem(pistonbellowsacacia); registerBlockWithItem(stoneanvil); - registerBlockWithItem(ironanvil); + //registerBlockWithItem(ironanvil); registerBlockWithItem(yewstave); } @@ -137,7 +137,7 @@ public class ModBlocks { registerRender(bloomery_adobe); registerRender(stoneanvil); - registerRender(ironanvil); + //registerRender(ironanvil); registerRender(yewstave); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 94a97fc0..3ea6976e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -228,6 +228,12 @@ public class ModCrafting{ coppershovelhead = toolArray[22]; copperhoehead = toolArray[23]; + ItemStack ironsledgehammer = new ItemStack(ModItems.ironsledgehammer, 1); + ItemStack cleanironsledgehammer = new ItemStack(ModItems.cleanironsledgehammer, 1); + ItemStack steelsledgehammer = new ItemStack(ModItems.steelsledgehammer, 1); + ItemStack wootzsledgehammer = new ItemStack(ModItems.wootzsledgehammer, 1); + + for(ItemStack temp : hotToolArray) { //NBTTagCompound newTag = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound(); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java index 59e87c47..c4889349 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -20,10 +20,7 @@ import nmd.primal.forgecraft.items.tools.CustomAxe; import nmd.primal.forgecraft.items.tools.CustomHoe; import nmd.primal.forgecraft.items.tools.CustomPickaxe; import nmd.primal.forgecraft.items.tools.CustomShovel; -import nmd.primal.forgecraft.items.weapons.CustomShield; -import nmd.primal.forgecraft.items.weapons.CustomSword; -import nmd.primal.forgecraft.items.weapons.Longbow; -import nmd.primal.forgecraft.items.weapons.SlayerSword; +import nmd.primal.forgecraft.items.weapons.*; /** * Created by kitsu on 11/26/2016. @@ -172,7 +169,7 @@ public class ModItems { forgehammer = new ForgeHammer("forgehammer"); castingmud = new BaseItem("castingmud"); - rawlongbow = new BaseItem("rawlongbow"); + rawlongbow = new RawLongbow("rawlongbow"); unstrunglongbow = new BaseItem("unstrunglongbow"); longbow = new Longbow("longbow"); //matchlockmusket = new Musket("matchlock_musket"); @@ -217,37 +214,37 @@ public class ModItems { copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); copperhoe = new CustomHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - coppersledgehammer = new SledgeHammer("coppersledgehammer", PrimalAPI.ToolMaterials.TOOL_COPPER); + coppersledgehammer = new SledgeHammer("coppersledgehammer", PrimalAPI.ToolMaterials.TOOL_COPPER, 12, -3.7D); bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); - bronzesledgehammer = new SledgeHammer("bronzesledgehammer", PrimalAPI.ToolMaterials.TOOL_BRONZE); + bronzesledgehammer = new SledgeHammer("bronzesledgehammer", PrimalAPI.ToolMaterials.TOOL_BRONZE, 12, -3.7D); ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead); ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f); ironshovel = new CustomShovel("ironshovel", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironshovelhead); ironhoe = new CustomHoe("ironhoe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironhoehead); - ironsledgehammer = new SledgeHammer("ironsledgehammer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON); + ironsledgehammer = new SledgeHammer("ironsledgehammer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 12, -3.7D); cleanironpickaxe = new CustomPickaxe("cleanironpickaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironpickaxehead); cleanironaxe = new CustomAxe("cleanironaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironaxehead, 6, -3.2f); cleanironshovel = new CustomShovel("cleanironshovel", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironshovelhead); cleanironhoe = new CustomHoe("cleanironhoe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironhoehead); - cleanironsledgehammer = new SledgeHammer("cleanironsledgehammer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON); + cleanironsledgehammer = new SledgeHammer("cleanironsledgehammer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 12, -3.7D); steelpickaxe = new CustomPickaxe("steelpickaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelpickaxehead); steelaxe = new CustomAxe("steelaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelaxehead, 7, -2.8f); steelshovel = new CustomShovel("steelshovel", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelshovelhead); steelhoe = new CustomHoe("steelhoe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelhoehead); - steelsledgehammer = new SledgeHammer("steelsledgehammer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL); + steelsledgehammer = new SledgeHammer("steelsledgehammer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, 12, -3.5D); wootzpickaxe = new CustomPickaxe("wootzpickaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzpickaxehead); wootzaxe = new CustomAxe("wootzaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzaxehead, 8, -2.4f); wootzshovel = new CustomShovel("wootzshovel", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzshovelhead); wootzhoe = new CustomHoe("wootzhoe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzhoehead); - wootzsledgehammer = new SledgeHammer("wootzsledgehammer", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL); + wootzsledgehammer = new SledgeHammer("wootzsledgehammer", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, 12, -3.4D); /********** WEAPONS diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CrucibleRecipes.java b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CrucibleRecipes.java deleted file mode 100644 index 99ff29fd..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CrucibleRecipes.java +++ /dev/null @@ -1,186 +0,0 @@ -package nmd.primal.forgecraft.init.recipes; - -/** - * Created by mminaie on 9/15/18. - */ -/* -@GameRegistry.ObjectHolder(ModInfo.MOD_ID) -@Mod.EventBusSubscriber -public final class CrucibleRecipes { - - @SubscribeEvent - public static void registerRecipes(RegistryEvent.Register event) - { - final IForgeRegistry registry = event.getRegistry(); - - /***Default Recipe***/ - /** - registry.register(new CrucibleCrafting( - - ).setRecipeName("")); - ***/ - - /* - registry.register(new CrucibleCrafting( - new OreIngredient("oreIron"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(Blocks.IRON_ORE, 1), - new ItemStack(ModItems.ironingotball, 1), - 100, - 100, - 1000).setRecipeName("wroughtiron")); - - registry.register(new CrucibleCrafting( - new OreIngredient("dustIron"), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.IRON_DUST, 1), - new ItemStack(ModItems.ironcleaningotball, 1), - 100, - 100, - 1000).setRecipeName("cleaniron")); - - registry.register(new CrucibleCrafting( - Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_HIGH, 1)), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(ModItems.ironcleaningotball, 1), - new ItemStack(ModItems.steelingotball, 1), - 100, - 100, - 1000 - ).setRecipeName("steel")); - - registry.register(new CrucibleCrafting( - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), - Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), - Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)), - new OreIngredient("dustMagnetite"), - new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), - new ItemStack(ModItems.wootzingotball, 1), - 100, - 100, - 1000 - ).setRecipeName("damascus")); - - registry.register(new CrucibleCrafting( - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), - Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)), - Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), - Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)), - new OreIngredient("magnetite"), - new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), - new ItemStack(ModItems.wootzingotball, 1), - 100, - 100, - 1000 - ).setRecipeName("damascus")); - - registry.register(new CrucibleCrafting( - new OreIngredient("dustCopper"), - new OreIngredient("dustCopper"), - new OreIngredient("dustCopper"), - new OreIngredient("dustTin"), - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - new ItemStack(ModItems.bronzeingotball, 1), - 100, - 100, - 1000 - ).setRecipeName("bronzebasic")); - - NBTTagCompound tagBronzeDefault = new NBTTagCompound(); - tagBronzeDefault.setString("upgrades", ""); - ItemStack defaultBronze = new ItemStack(ModItems.bronzeingotball, 1); - defaultBronze.setTagCompound(tagBronzeDefault.copy()); - registry.register(new CrucibleCrafting( - new OreIngredient("oreBronze"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - defaultBronze, - 100, - 100, - 1000 - ).setRecipeName("defaultbronze")); - - NBTTagCompound tag = new NBTTagCompound(); - tag.setString("upgrades", "redstone"); - ItemStack redBronze = new ItemStack(ModItems.bronzeingotball, 1); - registry.register(new CrucibleCrafting( - new OreIngredient("ingotBronze"), - new OreIngredient("dustRedstone"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - redBronze, - 100, - 100, - 100 - ).setRecipeName("redbronze")); - - NBTTagCompound diamondBronzeTag = new NBTTagCompound(); - tag.setString("upgrades", "diamond"); - ItemStack diamondBronze = new ItemStack(ModItems.bronzeingotball, 1); - diamondBronze.setTagCompound(diamondBronzeTag.copy()); - registry.register(new CrucibleCrafting( - new OreIngredient("ingotBronze"), - new OreIngredient("dustDiamond"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - diamondBronze, - 100, - 100, - 100 - ).setRecipeName("diamondbronze")); - - NBTTagCompound emeraldBronzeTag = new NBTTagCompound(); - tag.setString("upgrades", "emerald"); - ItemStack emeraldBronze = new ItemStack(ModItems.bronzeingotball, 1); - emeraldBronze.setTagCompound(emeraldBronzeTag.copy()); - registry.register(new CrucibleCrafting( - new OreIngredient("ingotBronze"), - new OreIngredient("dustEmerald"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - diamondBronze, - 100, - 100, - 100 - ).setRecipeName("emeraldbronze")); - - NBTTagCompound tagBronzeLapis = new NBTTagCompound(); - tagBronzeDefault.setString("upgrades", "lapis"); - ItemStack lapisBronze = new ItemStack(ModItems.bronzeingotball, 1); - lapisBronze.setTagCompound(tagBronzeLapis.copy()); - registry.register(new CrucibleCrafting( - new OreIngredient("oreBronze"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - lapisBronze, - 100, - 100, - 1000 - ).setRecipeName("lapisbronze")); - - } -} -*/ diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java b/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java index d33ead34..358a8ee3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java @@ -1,42 +1,62 @@ package nmd.primal.forgecraft.items; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.MobEffects; +import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; +import nmd.primal.core.common.items.tools.Gallagher; +import nmd.primal.core.common.recipes.irecipe.ToolCraftingRecipe; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.blocks.Anvil.AnvilBase; +import nmd.primal.forgecraft.blocks.Chisel; import nmd.primal.forgecraft.util.ToolMaterialMap; import javax.annotation.Nullable; import java.util.List; -public class SledgeHammer extends BaseItem implements ToolMaterialMap { - - +public class SledgeHammer extends Gallagher implements ToolMaterialMap { + private int attack; + private double speed; private ToolMaterial material; - public SledgeHammer(String registryName, Item.ToolMaterial material) { - super(registryName); + public SledgeHammer(String name, Item.ToolMaterial material, Integer attack, Double speed) { + super(material, ToolCraftingRecipe.EnumToolType.MALLET_METAL); + this.setUnlocalizedName(name); + this.setRegistryName(name); this.setMaxDamage(material.getMaxUses()*3); - this.setHarvestLevel("pickaxe", material.getHarvestLevel()); + this.setHarvestLevel("pickaxe" , material.getHarvestLevel()); this.material=material; + this.attack = attack; + this.speed = speed; + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); } @Override public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) { if(!world.isRemote){ EntityPlayer player = (EntityPlayer) entity; + if(player.inventory.getCurrentItem().getItem().equals(stack.getItem())) { if(player.isPotionActive(MobEffects.MINING_FATIGUE)) { if (!player.isSwingInProgress) { @@ -51,17 +71,21 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap { } @Override - public ActionResult onItemRightClick(World world, EntityPlayer player, EnumHand hand) + public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing face, float hitx, float hity, float hitz) { if(!world.isRemote) { - if (!player.isSwingInProgress) { - int tempInt = 0; - player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100/(materialModifiers.get(this.getMaterial())+tempInt)), 100)); - player.swingArm(hand); - return new ActionResult(EnumActionResult.PASS, player.getHeldItem(hand)); + IBlockState state = world.getBlockState(pos); + Block block = world.getBlockState(pos).getBlock(); + if(!(block instanceof AnvilBase)) { + if (!player.isSwingInProgress) { + int tempInt = 0; + player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100 - ((materialModifiers.get(this.getMaterial()) * 13) + tempInt)), 100)); + player.swingArm(hand); + return EnumActionResult.PASS; + } } } - return new ActionResult(EnumActionResult.FAIL, player.getHeldItem(hand)); + return EnumActionResult.PASS; } public ToolMaterial getMaterial() { @@ -75,4 +99,36 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap { tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + + @Override + public Multimap getItemAttributeModifiers(EntityEquipmentSlot equipmentSlot) + { + Multimap multimap = HashMultimap.create(); + + if (equipmentSlot == EntityEquipmentSlot.MAINHAND) + { + multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", this.attack, 0)); + multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", this.speed, 0)); + } + + return multimap; + } + } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java new file mode 100644 index 00000000..05e765fe --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java @@ -0,0 +1,28 @@ +package nmd.primal.forgecraft.items.weapons; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.forgecraft.items.BaseItem; + +import javax.annotation.Nullable; +import java.util.List; + +public class RawLongbow extends BaseItem { + + public RawLongbow(String registryName) { + super(registryName); + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flagIn) { + + tooltip.add(ChatFormatting.GRAY + "Stack two Yew Staves in-world and Sneak right-click the bottom Yew Stave with a Work Blade"); + + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java index eac72fc8..272cb5c5 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -18,6 +18,7 @@ import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.BaseMultiItem; import nmd.primal.forgecraft.items.ForgeHammer; +import nmd.primal.forgecraft.items.SledgeHammer; import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.tiles.TileAnvil; @@ -273,128 +274,127 @@ public interface AnvilHandler extends ToolMaterialMap { static boolean doWork(ItemStack pItem, Integer counter, TileAnvil tile, World world, BlockPos pos, EntityPlayer player) { + if (pItem.getItem().equals(ModItems.slottedtongs)) { - if (pItem.getItem().equals(ModItems.slottedtongs)) { + IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null); + ItemStack tongStack = inventory.getStackInSlot(0).copy(); + SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); - IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null); - ItemStack tongStack = inventory.getStackInSlot(0).copy(); - SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); - - if (tongStack.isEmpty()) { - if (!tile.getSlotStack(counter).isEmpty()) { - ItemStack tempStack = tile.getSlotStack(counter).copy(); - inventory.insertItem(0,tempStack, false); - tile.setSlotStack(counter, ItemStack.EMPTY); - itemstackItem.markDirty(pItem); - return true; - } - } - - if (!tongStack.isEmpty()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, inventory.extractItem(0, 1, false)); - itemstackItem.markDirty(pItem); - return true; - } - } - } - - - if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - - if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem() instanceof BaseMultiItem) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if(tile.getSlotStack(counter).getItem() instanceof ToolPart){ - if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + if (tongStack.isEmpty()) { + if (!tile.getSlotStack(counter).isEmpty()) { + ItemStack tempStack = tile.getSlotStack(counter).copy(); + inventory.insertItem(0,tempStack, false); tile.setSlotStack(counter, ItemStack.EMPTY); + itemstackItem.markDirty(pItem); return true; } } - if (pItem.getItem().equals(Items.DIAMOND)) { + if (!tongStack.isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); + tile.setSlotStack(counter, inventory.extractItem(0, 1, false)); + itemstackItem.markDirty(pItem); return true; } } + } + + + if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { + + if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } - if (pItem.getItem().equals(Items.EMERALD)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } + if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; } - if (pItem.getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } + if (tile.getSlotStack(counter).getItem() instanceof BaseMultiItem) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; } + } + if(tile.getSlotStack(counter).getItem() instanceof ToolPart){ + if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + } - if (pItem.getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } + if (pItem.getItem().equals(Items.DIAMOND)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; } + } - if (pItem.getItem().equals(Items.REDSTONE)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } + if (pItem.getItem().equals(Items.EMERALD)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; } + } - if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); - pItem.shrink(1); - return true; - } + if (pItem.getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; } + } + + if (pItem.getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(Items.REDSTONE)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + pItem.shrink(1); + return true; + } + } return false; } @@ -409,7 +409,6 @@ public interface AnvilHandler extends ToolMaterialMap { double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D; double offsetY = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D; double offsetZ = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D; - System.out.println(stack); EntityItem itemDrop = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack); itemDrop.setDefaultPickupDelay(); world.spawnEntity(itemDrop); diff --git a/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang b/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang index 5d609e76..5331bda3 100644 --- a/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang +++ b/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang @@ -20,11 +20,12 @@ tile.pistonbellowsspruce.name=Spruce Piston Bellows tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows tile.pistonbellowsacacia.name=Acacia Piston Bellows -tile.emptycruciblehot.name=Empty Hot Crucible -tile.emptycrucible.name=Empty Crucible -tile.emptycruciblehit.name=Hot Empty Crucible -tile.emptycruciblecracked.name= Cracked Empty Crucible -tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible +tile.steelchisel.name=Steel Chisel +tile.wootzchisel.name= Damascus Chisel +tile.cleanironchisel.name=Clean Iron Chisel +tile.ironchisel.name=Wrought Iron Chisel +tile.copperchisel.name=Copper Chisel +tile.bronzechisel.name=Bronze Chisel item.bronzeingotball.name=Bronze Ingot item.bronzechunk.name=Bronze Chunk @@ -134,6 +135,13 @@ item.coppergladius.name=Copper Gladius item.leatherhelmet.name=Hardened Leather Helmet +item.wootzsledgehammer.name=Damascus SledgeHammer +item.steelsledgehammer.name=Steel SledgeHammer +item.cleanironsledgehammer.name=Clean Iron SledgeHammer +item.ironsledgehammer.name=Wrough Iron SledgeHammer +item.bronzesledgehammer.name=Bronze SledgeHammer +item.coppersledgehammer.name=Copper SledgeHammer + # -- configuration -- # forgecraft.config.title=ForgeCraft Config diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index 6b7e98ea..b03393d6 100644 --- a/kfc/src/main/resources/mcmod.info +++ b/kfc/src/main/resources/mcmod.info @@ -2,7 +2,7 @@ "modid": "forgecraft", "name": "Kitsu's Forgecraft", "description": "Forged with sweat and blood", - "version": "1.6.20", + "version": "1.6.21", "mcversion": "1.12.2", "url": "", "updateUrl": "",