diff --git a/exampleModifiers.xlsx b/exampleModifiers.xlsx index 7978068d..a55e85ae 100644 Binary files a/exampleModifiers.xlsx and b/exampleModifiers.xlsx differ 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 00000000..76007edf Binary files /dev/null and b/kfc/src/main/resources/assets/forgecraft/textures/items/wootzworkblade.png differ diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index b03393d6..fcd3dc05 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.21", + "version": "1.6.22", "mcversion": "1.12.2", "url": "", "updateUrl": "", diff --git a/~$exampleModifiers.xlsx b/~$exampleModifiers.xlsx deleted file mode 100644 index bef664bb..00000000 Binary files a/~$exampleModifiers.xlsx and /dev/null differ