From f606675101513483cb9bddbf9cfba30bec00fcae Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 8 Oct 2018 22:49:54 -0400 Subject: [PATCH] remove damascus config update to-dos released .22 --- exampleModifiers.xlsx | Bin 36703 -> 38976 bytes kfc/To-Dos.md | 41 +++++++------ kfc/gradle.properties | 2 +- .../nmd/primal/forgecraft/CommonEvents.java | 8 ++- .../nmd/primal/forgecraft/ForgeCraft.java | 1 - .../java/nmd/primal/forgecraft/ModInfo.java | 6 +- .../forgecraft/blocks/Anvil/AnvilStone.java | 3 +- .../nmd/primal/forgecraft/blocks/Chisel.java | 12 ++-- .../forgecraft/blocks/CustomFacing.java | 3 - .../forgecraft/blocks/machine/Breaker.java | 55 ++++++++++-------- .../forgecraft/compat/ModDictionary.java | 31 ---------- .../forgecraft/compat/ct/CTCrucible.java | 8 --- .../forgecraft/crafting/ForgeCrafting.java | 3 +- .../nmd/primal/forgecraft/init/ModBlocks.java | 1 - .../nmd/primal/forgecraft/init/ModConfig.java | 7 ++- .../primal/forgecraft/init/ModCrafting.java | 9 +-- .../primal/forgecraft/init/ModDictionary.java | 36 ++++++++++++ .../nmd/primal/forgecraft/init/ModItems.java | 10 ++-- .../primal/forgecraft/items/SledgeHammer.java | 18 +++--- .../primal/forgecraft/items/Workblade.java | 14 +++++ .../forgecraft/items/parts/ToolPart.java | 4 -- .../forgecraft/items/weapons/RawLongbow.java | 2 +- .../primal/forgecraft/tiles/TileBloomery.java | 2 - .../primal/forgecraft/util/AnvilHandler.java | 1 - .../assets/forgecraft/lang/en_US.lang | 2 + .../models/item/wootzworkblade.json | 6 ++ .../textures/items/wootzworkblade.png | Bin 0 -> 449 bytes kfc/src/main/resources/mcmod.info | 2 +- ~$exampleModifiers.xlsx | Bin 165 -> 0 bytes 29 files changed, 152 insertions(+), 135 deletions(-) delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/compat/ModDictionary.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/wootzworkblade.json create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootzworkblade.png delete mode 100644 ~$exampleModifiers.xlsx diff --git a/exampleModifiers.xlsx b/exampleModifiers.xlsx index 7978068db092c7e5dedffa56388a66b75f86db7e..a55e85ae2efacbaf82855e44361d8727c07e2a72 100644 GIT binary patch delta 33001 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 diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 9dd77a73..e5c1d793 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -1,26 +1,13 @@ # To-Dos ## Bugs -- [x] Hot Crucible block form missing texture -- [x] Soft Crucible drop from tongs -- [x] Pickaxe upgrades printout -- [x] Can't put a crucible straight from creative inventory into bloomery and pull with tongs +- [ ] Magnetitie drop from failed crucible ## Current Feature -- [x] SledgeHammer and Chisel item and blocks -- [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 -- [x] SoftCrucible Color Issues -- [ ] Add heat version of sledgehammer +- [ ] New Line Time Left +- [ ] Untick Bloomery and Forge - [ ] Craft Tweaker Support -- [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron -- [ ] Copper Gladius -- [ ] oreDict support for Forge Recipes -- [ ] drop a tool handle when crafting +- [ ] Recipe Handler for Block Breaker ## Feature Musket - [ ] Create powder charge item (copper, charcoal, gunpowder) @@ -57,6 +44,26 @@ rename s/iron/steel/ iron* ``` ### Completed +- [x] Check on disable for soft crucible in bloomery +- [x] Correct Tooltip for RawLongbow +- [x] Add tooltip to Chisel and SledgeHammer +- [x] Damascus workblade +- [x] Config to map only wrought iron to vanilla iron or wrought iron to another iron +- [x] Config to map damascus steel to generic mod steel +- [x] If blockbreaker charge is 0 shift right click will remove the gallagher +- [x] drop a tool handle when crafting +- [x] Hot Crucible block form missing texture +- [x] Soft Crucible drop from tongs +- [x] Pickaxe upgrades printout +- [x] Can't put a crucible straight from creative inventory into bloomery and pull with tongs +- [x] SledgeHammer and Chisel item and blocks +- [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 +- [x] SoftCrucible Color Issues - [x] Apply Forge turn off logic to Bloomery - [x] Soft Crucible Hibachi Recipe - [x] Fix Plate Crafting diff --git a/kfc/gradle.properties b/kfc/gradle.properties index 61bb3f49..7c8a07f6 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.21 +mod_version=1.6.22 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/CommonEvents.java b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java index f0d2595a..fee31fbd 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -5,6 +5,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; +import nmd.primal.core.api.PrimalAPI; +import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.tools.CustomAxe; import nmd.primal.forgecraft.items.tools.CustomHoe; @@ -18,7 +20,7 @@ import nmd.primal.forgecraft.util.ToolNBT; public class CommonEvents implements ToolNBT { - @SubscribeEvent(priority= EventPriority.LOWEST, receiveCanceled=true) + @SubscribeEvent(priority= EventPriority.HIGHEST, receiveCanceled=true) public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) { if(!event.player.getEntityWorld().isRemote) { @@ -43,15 +45,19 @@ public class CommonEvents implements ToolNBT { ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item if (a.getItem() instanceof CustomAxe) { doQuickNBT(event, i, a); + PlayerHelper.spawnItemOnPlayer(event.player.world, event.player, new ItemStack(PrimalAPI.Items.LACQUER_STICK, 1)); } if (a.getItem() instanceof CustomPickaxe) { doQuickNBT(event, i, a); + PlayerHelper.spawnItemOnPlayer(event.player.world, event.player, new ItemStack(PrimalAPI.Items.LACQUER_STICK, 1)); } if (a.getItem() instanceof CustomShovel) { doQuickNBT(event, i, a); + PlayerHelper.spawnItemOnPlayer(event.player.world, event.player, new ItemStack(PrimalAPI.Items.LACQUER_STICK, 1)); } if (a.getItem() instanceof CustomHoe) { doQuickNBT(event, i, a); + PlayerHelper.spawnItemOnPlayer(event.player.world, event.player, new ItemStack(PrimalAPI.Items.LACQUER_STICK, 1)); } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ForgeCraft.java b/kfc/src/main/java/nmd/primal/forgecraft/ForgeCraft.java index 4b008d2e..79593f2e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ForgeCraft.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ForgeCraft.java @@ -11,7 +11,6 @@ import net.minecraftforge.fml.common.event.FMLServerStartingEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import nmd.primal.forgecraft.commands.CommandShowWiki; -import nmd.primal.forgecraft.compat.ModDictionary; import nmd.primal.forgecraft.gui.GuiHandler; import nmd.primal.forgecraft.init.*; import nmd.primal.forgecraft.proxy.CommonProxy; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 2b0bb1f7..7086ad26 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -2,12 +2,12 @@ package nmd.primal.forgecraft; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.registries.IForgeRegistry; import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModItems; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.registries.IForgeRegistry; //import nmd.primal.forgecraft.Item.ModItems; /** @@ -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.21"; + public static final String MOD_VERSION = "1.6.22"; 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 3117e1d4..54831e6c 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,7 +11,6 @@ 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; /** @@ -55,7 +54,7 @@ public class AnvilStone extends AnvilBase { ItemStack tempwootzchunk = new ItemStack(ModItems.wootzchunk, 1); tempwootzchunk.setTagCompound(tempTag); tempwootzchunk.getTagCompound().setBoolean("hot", true); - + world.playEvent(1031, pos, 0); if (stack12.getItem().equals(ModItems.ironingotball) && stack12.getTagCompound().getBoolean("hot")) { world.playEvent(1031, pos, 0); tile.setSlotStack(6, tempironchunk); 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 c59d40b4..5503e3a8 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java @@ -4,30 +4,26 @@ import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.EnumFaceDirection; -import net.minecraft.client.renderer.RenderGlobal; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.*; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.EnumParticleTypes; +import net.minecraft.util.SoundCategory; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderBlockOverlayEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; -import nmd.primal.core.common.helper.PlayerHelper; -import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModSounds; import nmd.primal.forgecraft.items.SledgeHammer; import javax.annotation.Nullable; -import java.util.Random; -import java.util.concurrent.ThreadLocalRandom; public class Chisel extends CustomFacing { diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/CustomFacing.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/CustomFacing.java index ddb09cfa..0824bee0 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/CustomFacing.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/CustomFacing.java @@ -1,11 +1,8 @@ package nmd.primal.forgecraft.blocks; -import net.minecraft.block.Block; import net.minecraft.block.BlockDirectional; -import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; -import net.minecraft.block.properties.PropertyDirection; import net.minecraft.block.state.IBlockState; import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Breaker.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Breaker.java index 09ae5e44..57dec978 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Breaker.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Breaker.java @@ -19,6 +19,7 @@ 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.helper.PlayerHelper; import nmd.primal.core.common.items.tools.Gallagher; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.blocks.CustomContainerFacing; @@ -49,40 +50,44 @@ public class Breaker extends CustomContainerFacing implements BreakerHandler { public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) { if(!world.isRemote){ - TileBreaker tile = (TileBreaker) world.getTileEntity(pos); - ItemStack pItem = player.inventory.getCurrentItem(); + if (hand.equals(player.getActiveHand())) { + TileBreaker tile = (TileBreaker) world.getTileEntity(pos); + ItemStack pItem = player.inventory.getCurrentItem(); - if(state.getValue(PrimalAPI.States.ACTIVE) == true && player.isSneaking() && pItem.isEmpty()){ + if (state.getValue(PrimalAPI.States.ACTIVE) && player.isSneaking() && pItem.isEmpty()) { - doBreaking(world, state, pos, tile); - world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalAPI.States.ACTIVE, false)); + doBreaking(world, state, pos, tile); + world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalAPI.States.ACTIVE, false)); - tile.setCharge(0); - return true; - } - if(!player.isSneaking() && pItem.isEmpty()) { - if (!state.getValue(PrimalAPI.States.ACTIVE)) { - world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalAPI.States.ACTIVE, true), 2); + tile.setCharge(0); return true; } - if(state.getValue(PrimalAPI.States.ACTIVE)) { - if (tile.getCharge() < 181) { - tile.setCharge(tile.getCharge() + 2.0f); - tile.updateBlock(); - //System.out.println(tile.charge); + if (!state.getValue(PrimalAPI.States.ACTIVE) && player.isSneaking() && pItem.isEmpty() && tile.getCharge() == 0) { + PlayerHelper.spawnItemOnPlayer(world, player, tile.getSlotStack(0)); + tile.setSlotStack(0, ItemStack.EMPTY); + return true; + } + if (!player.isSneaking() && pItem.isEmpty()) { + if (!state.getValue(PrimalAPI.States.ACTIVE)) { + world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalAPI.States.ACTIVE, true), 2); return true; } + if (state.getValue(PrimalAPI.States.ACTIVE)) { + if (tile.getCharge() < 181) { + tile.setCharge(tile.getCharge() + 2.0f); + tile.updateBlock(); + //System.out.println(tile.charge); + return true; + } + } + } + + if (pItem.getItem() instanceof Gallagher) { + tile.setSlotStack(0, player.inventory.getCurrentItem()); + player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); + return true; } } - - if(pItem.getItem() instanceof Gallagher){ - tile.setSlotStack(0, player.inventory.getCurrentItem()); - player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); - return true; - } - - - } return false; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/ModDictionary.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/ModDictionary.java deleted file mode 100644 index 6111c44b..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/ModDictionary.java +++ /dev/null @@ -1,31 +0,0 @@ -package nmd.primal.forgecraft.compat; - -import net.minecraftforge.oredict.OreDictionary; -import nmd.primal.forgecraft.init.ModItems; - -/** - * Created by mminaie on 2/7/17. - */ -public class ModDictionary {/******************************************************************************* - * Register Only Vanilla OreDictionary Entries Here - * Mod Items/Blocks have their names added through the respective - * registration methods as a list of comma delineated strings. - * - * EXAMPLE: - * LEATHER_CORDAGE = registerItem(new PrimalItem("leather_cordage"), "cordageGeneral, cordageLeather"); - * - */ - public static void registerDictionaryNames() - { - //if (ModConfig.COMPATIBILITY_DICTIONARY_MAGMACREAM_AS_SLIME) - //OreDictionary.registerOre("clayball", Items.CLAY_BALL); - OreDictionary.registerOre("ingotIron", ModItems.ironingotball); - OreDictionary.registerOre("nuggetIron", ModItems.wroughtironchunk); - OreDictionary.registerOre("ingotIron", ModItems.ironcleaningotball); - OreDictionary.registerOre("nuggetIron", ModItems.ironcleanchunk); - OreDictionary.registerOre("ingotSteel", ModItems.steelingotball); - OreDictionary.registerOre("nuggetSteel", ModItems.steelchunk); - OreDictionary.registerOre("ingotBronze", ModItems.bronzeingotball); - OreDictionary.registerOre("nuggetBronze", ModItems.bronzechunk); - } -} \ No newline at end of file diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTCrucible.java index 7dc2315b..2941de11 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/ct/CTCrucible.java @@ -7,25 +7,17 @@ import crafttweaker.annotations.ModOnly; import crafttweaker.annotations.ZenRegister; import crafttweaker.api.item.IIngredient; import crafttweaker.api.item.IItemStack; -import crafttweaker.api.item.IngredientStack; import crafttweaker.api.minecraft.CraftTweakerMC; -import crafttweaker.api.oredict.IOreDictEntry; -import crafttweaker.api.oredict.IngredientOreDict; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.NonNullList; -import net.minecraftforge.oredict.OreIngredient; import nmd.primal.core.common.PrimalCore; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.crafting.CrucibleCrafting; -import stanhebben.zenscript.annotations.Optional; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; import java.util.List; import java.util.stream.Collectors; -import java.util.stream.Stream; @ZenClass("mods.forgecraft.NBTCrucible") @ModOnly(ModInfo.MOD_ID) diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java index 91948551..3c0803ad 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/ForgeCrafting.java @@ -57,7 +57,8 @@ public class ForgeCrafting { public static ForgeCrafting getRecipe(Item item) { for(ForgeCrafting recipe : forgeRecipes) { - if (item.equals(recipe.input)) + + if (item.equals(recipe.getInput())) return recipe; } return null; 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 43409ae4..6e266544 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java @@ -11,7 +11,6 @@ import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; -import nmd.primal.forgecraft.blocks.Anvil.AnvilIron; import nmd.primal.forgecraft.blocks.Anvil.AnvilStone; import nmd.primal.forgecraft.blocks.Chisel; import nmd.primal.forgecraft.blocks.Crucibles.NBTCrucible; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java index 895bde12..ad5a7adf 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java @@ -24,8 +24,11 @@ public final class ModConfig */ public static class Compatibility { - //@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"}) - //public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL; + @Config.Comment({"Ore Dictionary Wrought Iron to common Iron"}) + public static boolean COMPAT_DICTIONARY_WROUGHT_IRON = true; + + //@Config.Comment({"Ore Dictionary Damascus Steel to common Steel"}) + //public static boolean COMPAT_DICTIONARY_DAMASCUS_STEEL = true; } /** 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 3ea6976e..3c3402cd 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -1,20 +1,15 @@ package nmd.primal.forgecraft.init; -import net.minecraft.block.BlockPlanks; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.OreIngredient; -import net.minecraftforge.oredict.ShapedOreRecipe; import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.common.recipes.irecipe.RecipeHandler; import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.crafting.CastingCrafting; -import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.crafting.ForgeCrafting; import java.util.Random; @@ -751,7 +746,7 @@ public class ModCrafting{ ******************************************************************************/ //TODO allow oreDict checks against my Item Ingots -//Makes a Hot Iron Ingot + /**Makes a Hot Iron Ingot**/ ForgeCrafting.addRecipe( ModItems.ironingotball, //800, 200 @@ -762,7 +757,7 @@ public class ModCrafting{ 1.0f, 1.0f ); -//Makes a Hot Clean Iron Ingot + /**Makes a Hot Clean Iron Ingot**/ ForgeCrafting.addRecipe( ModItems.ironcleaningotball, hotCleanIronIngot, diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java new file mode 100644 index 00000000..fba4e5db --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModDictionary.java @@ -0,0 +1,36 @@ +package nmd.primal.forgecraft.init; + +import net.minecraftforge.oredict.OreDictionary; + +import static nmd.primal.forgecraft.init.ModConfig.Compatibility.COMPAT_DICTIONARY_WROUGHT_IRON; + +/** + * Created by mminaie on 2/7/17. + */ +public class ModDictionary {/******************************************************************************* + * Register Only Vanilla OreDictionary Entries Here + * Mod Items/Blocks have their names added through the respective + * registration methods as a list of comma delineated strings. + * + * EXAMPLE: + * LEATHER_CORDAGE = registerItem(new PrimalItem("leather_cordage"), "cordageGeneral, cordageLeather"); + * + */ + public static void registerDictionaryNames() + { + if(COMPAT_DICTIONARY_WROUGHT_IRON) { + OreDictionary.registerOre("ingotIron", ModItems.ironingotball); + OreDictionary.registerOre("nuggetIron", ModItems.wroughtironchunk); + } + OreDictionary.registerOre("ingotIron", ModItems.ironcleaningotball); + OreDictionary.registerOre("nuggetIron", ModItems.ironcleanchunk); + OreDictionary.registerOre("ingotSteel", ModItems.steelingotball); + OreDictionary.registerOre("nuggetSteel", ModItems.steelchunk); + OreDictionary.registerOre("ingotBronze", ModItems.bronzeingotball); + OreDictionary.registerOre("nuggetBronze", ModItems.bronzechunk); + //if(COMPAT_DICTIONARY_DAMASCUS_STEEL) { + // OreDictionary.registerOre("ingotSteel", ModItems.wootzingotball); + // OreDictionary.registerOre("nuggetSteel", ModItems.wootzchunk); + //} + } +} \ No newline at end of file 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 c4889349..dc21d9e8 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -9,9 +9,6 @@ import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; -import nmd.primal.core.common.compat.ModDictionary; -import nmd.primal.core.common.items.tools.Gallagher; -import nmd.primal.core.common.recipes.irecipe.ToolCraftingRecipe; import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; @@ -150,6 +147,7 @@ public class ModItems { public static Item rawlongbow; public static Item unstrunglongbow; public static Item longbow; + public static Item wootzworkblade; public static Item leatherhelmet; //public static Item testleggings; @@ -173,6 +171,8 @@ public class ModItems { unstrunglongbow = new BaseItem("unstrunglongbow"); longbow = new Longbow("longbow"); //matchlockmusket = new Musket("matchlock_musket"); + wootzworkblade = new Workblade("wootzworkblade", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, -1.0F).setFireProof(true); + /********** TOOL PARTS @@ -309,7 +309,7 @@ public class ModItems { ForgeRegistries.ITEMS.register(castingmud); ForgeRegistries.ITEMS.register(bellowshandle); ForgeRegistries.ITEMS.register(softcrucible); - //ForgeRegistries.ITEMS.register(stonetongs); + ForgeRegistries.ITEMS.register(wootzworkblade); ForgeRegistries.ITEMS.register(forgehammer); ForgeRegistries.ITEMS.register(bronzeingotball); @@ -448,7 +448,7 @@ public class ModItems { registerRender(bellowshandle); registerRender(softcrucible); registerRender(forgehammer); - + registerRender(wootzworkblade); registerRender(bronzeingotball); registerRender(bronzechunk); 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 358a8ee3..9c11e7fc 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/SledgeHammer.java @@ -15,7 +15,6 @@ 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; @@ -23,12 +22,10 @@ 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; @@ -92,13 +89,6 @@ public class SledgeHammer extends Gallagher implements ToolMaterialMap { return material; } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - @SideOnly(Side.CLIENT) @Override public boolean hasEffect(ItemStack stack) @@ -131,4 +121,12 @@ public class SledgeHammer extends Gallagher implements ToolMaterialMap { return multimap; } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) { + tooltip.add(ChatFormatting.GRAY + "Place a chisel and right click it"); + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + + } + } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java b/kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java new file mode 100644 index 00000000..4a20ecda --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/Workblade.java @@ -0,0 +1,14 @@ +package nmd.primal.forgecraft.items; + +import nmd.primal.core.common.items.tools.WorkBlade; +import nmd.primal.forgecraft.ModInfo; + +public class Workblade extends WorkBlade { + + public Workblade(String name, ToolMaterial material, float speed) { + super(material, speed); + this.setRegistryName(name); + this.setUnlocalizedName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + } +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java index b7aa1125..408a3852 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java @@ -1,7 +1,6 @@ package nmd.primal.forgecraft.items.parts; import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -14,9 +13,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.world.World; -import net.minecraftforge.client.event.ColorHandlerEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; 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 index 05e765fe..b366406a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/RawLongbow.java @@ -21,7 +21,7 @@ public class RawLongbow extends BaseItem { @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"); + tooltip.add(ChatFormatting.GRAY + "Stack two Yew Staves in-world and right-click the bottom Yew Stave with a Work Blade"); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java index d1fac684..8ce396fc 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java @@ -19,8 +19,6 @@ import nmd.primal.forgecraft.blocks.machine.BloomeryBase; import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModItems; -import javax.annotation.Nullable; - /** * Created by mminaie on 1/22/17. */ 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 272cb5c5..164237ee 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -18,7 +18,6 @@ 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; 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 5331bda3..413e0fd9 100644 --- a/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang +++ b/kfc/src/main/resources/assets/forgecraft/lang/en_US.lang @@ -142,6 +142,8 @@ item.ironsledgehammer.name=Wrough Iron SledgeHammer item.bronzesledgehammer.name=Bronze SledgeHammer item.coppersledgehammer.name=Copper SledgeHammer +item.wootzworkblade.name=Damascus Work Blade + # -- configuration -- # forgecraft.config.title=ForgeCraft Config diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/wootzworkblade.json b/kfc/src/main/resources/assets/forgecraft/models/item/wootzworkblade.json new file mode 100644 index 00000000..f722ca02 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/wootzworkblade.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "forgecraft:items/wootzworkblade" + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootzworkblade.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootzworkblade.png new file mode 100644 index 0000000000000000000000000000000000000000..76007edf4c94ab7cba306357f213b297cfa86ea3 GIT binary patch literal 449 zcmV;y0Y3hTP)&$=3elovP;Huu zXxeBZjanAiq&Uvpc2Z%f%-vl$=Wu_{A!df367X5R1!l(q^7(a2EvGWgM#J!!(d+i0 zC|TrkYcy7%Tt23BdL?O^kA|XTK}4ujt1yh4$tHL(O&Q=yM2ZYaiDUx7U|{?Wws&?j zolfV?wm;#zF65{TIVz*}R6{sCKg7|fHx~4*fFRK)0wh_2{b9oy4B&Y#*kcrnd-U%L zOYyjHoB=|iIYeVIu;;;X99WixLScixW9cs=ZECCB7K_7PmSmJl`}7+(Qb5;KuGH&r zMFE@XgFi%uH1v4)8PhGUPL4FeEbM0%0OU3WEYrB$FWz$j)R)1@fo~ E0m$za4FCWD