From 2c0c89f91bf6d0ef553a68426335f19edc526981 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Wed, 26 Sep 2018 09:38:34 -0400 Subject: [PATCH 01/34] fixed forge lighting being to bright and updated to-do list --- kfc/To-Dos.md | 7 ++++++- .../java/nmd/primal/forgecraft/blocks/machine/Forge.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 60bd3e1d..f6c42b93 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -3,7 +3,12 @@ ## Bugs ## Current Feature -- [ ] FIX LONGBOW +- [x] Forge Light Level +- [ ] Check Forge Textures for lit +- [ ] Diamond + Redstone no texture +- [ ] Longbow Fire Speed +- [ ] Bloomery Print out +- [ ] Anvil cool down items - [ ] Copper Tools - [ ] Craft Tweaker Support - [ ] Config Usage diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java index 3277257a..4f52bff4 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java @@ -184,7 +184,7 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider, public int getLightValue(IBlockState state, IBlockAccess world, BlockPos pos) { if(state.getValue(PrimalAPI.States.ACTIVE) == true){ - return 15; + return 5; } return 0; } From a77e2637eec6a4a039f1d51a29e1188a497f9751 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Thu, 27 Sep 2018 15:57:37 -0400 Subject: [PATCH 02/34] working on fixing so many things --- kfc/To-Dos.md | 25 +- .../nmd/primal/forgecraft/CommonEvents.java | 4 + .../blocks/machine/CastingForm.java | 5 +- .../nmd/primal/forgecraft/init/ModConfig.java | 52 +++- .../primal/forgecraft/init/ModCrafting.java | 24 ++ .../nmd/primal/forgecraft/init/ModItems.java | 38 ++- .../forgecraft/items/BaseMultiItem.java | 2 +- .../{BronzeAxe.java => AbstractAxe.java} | 82 ++--- .../forgecraft/items/tools/BronzeHoe.java | 283 ------------------ .../forgecraft/items/tools/CustomAxe.java | 194 +----------- .../forgecraft/items/tools/CustomHoe.java | 21 +- .../forgecraft/items/tools/CustomPickaxe.java | 18 +- .../forgecraft/items/tools/CustomShovel.java | 21 +- .../items/tools/bronze/BronzeAxe.java | 113 +++++++ .../items/tools/bronze/BronzeHoe.java | 115 +++++++ .../tools/{ => bronze}/BronzePickaxe.java | 43 +-- .../tools/{ => bronze}/BronzeShovel.java | 40 +-- .../forgecraft/items/weapons/Longbow.java | 6 +- .../primal/forgecraft/tiles/TileAnvil.java | 45 ++- .../primal/forgecraft/tiles/TileForge.java | 28 +- kfc/testbuild.txt | 77 ----- 21 files changed, 478 insertions(+), 758 deletions(-) rename kfc/src/main/java/nmd/primal/forgecraft/items/tools/{BronzeAxe.java => AbstractAxe.java} (78%) delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java rename kfc/src/main/java/nmd/primal/forgecraft/items/tools/{ => bronze}/BronzePickaxe.java (87%) rename kfc/src/main/java/nmd/primal/forgecraft/items/tools/{ => bronze}/BronzeShovel.java (87%) delete mode 100644 kfc/testbuild.txt diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index f6c42b93..bf5ab8cd 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -4,14 +4,21 @@ ## Current Feature - [x] Forge Light Level -- [ ] Check Forge Textures for lit -- [ ] Diamond + Redstone no texture -- [ ] Longbow Fire Speed -- [ ] Bloomery Print out -- [ ] Anvil cool down items -- [ ] Copper Tools -- [ ] Craft Tweaker Support +- [x] Check Forge Textures for lit +- [x] Forge not cooling down +- [x] Steel Chunk stop reading upgrades +- [x] Casting Form broken +- [x] Anvil cool down items +- [x] Longbow Fire Speed +- [x] More Crafting for buckets + - [ ] Config Usage +- [ ] Copper Tools +- [ ] Copper Tool Casting +- [ ] Copper Tool Assets + +- [ ] Craft Tweaker Support + - [ ] Config for lowering fortune multiplier - [ ] Hardened Leather Helmet Inventory Model @@ -27,10 +34,12 @@ - [ ] Create lock assembly item ## Backlog +- [ ] Bloomery Print out +- [ ] Random Floats for hot texture +- [ ] Diamond + Redstone no texture - [ ] Mass Ore Production - [ ] Silver/Lead Production - [ ] Sparks to forging -- [x] Move Ingot break into chunks logic out of the block and into the ForgeHammer - [ ] Add Iron Ring Recipe - [ ] Add chainmail recipe - [ ] Add Iron Shield diff --git a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java index 5c747360..60836e6e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -8,6 +8,10 @@ import net.minecraftforge.fml.common.gameevent.PlayerEvent; import nmd.primal.forgecraft.items.parts.BronzeToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.tools.*; +import nmd.primal.forgecraft.items.tools.bronze.BronzeAxe; +import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; +import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; +import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; import nmd.primal.forgecraft.util.ToolNBT; /** diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index c8958233..4db3311e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -60,13 +60,12 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan TileCastingForm tile = (TileCastingForm) world.getTileEntity(pos); ItemStack pItem = player.inventory.getCurrentItem(); - IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null); - ItemStack slotStack = inventory.getStackInSlot(0).copy(); - if(pItem.getItem() != ModItems.slottedtongs) { doInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player); } if(pItem.getItem().equals(ModItems.slottedtongs)){ + IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null); + ItemStack slotStack = inventory.getStackInSlot(0).copy(); SlottedTongs tongs = (SlottedTongs) pItem.getItem(); if(slotStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { ItemStack tongsStack = slotStack.copy(); 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 e4eb2722..d0e85996 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java @@ -6,8 +6,9 @@ import nmd.primal.forgecraft.ModInfo; @Config(modid = ModInfo.MOD_ID, name = ModInfo.MOD_CONFIG, category = "") @Config.LangKey("forgecraft.config.title") -@SuppressWarnings("unused") -public class ModConfig + + +public final class ModConfig { static { ForgeCraft.LOGGER.info("Loading Config File: " + ModInfo.MOD_CONFIG + ".cfg"); @@ -17,7 +18,7 @@ public class ModConfig * Main Config Sections */ public static Compatibility compatibility; - public static ModConfig.Features features; + public static Features features; /** * Options related to compatibility with mods and vanilla features @@ -31,10 +32,22 @@ public class ModConfig /** * Customize main features of the mod */ + + //@Config.RequiresMcRestart + //@Config.Comment({"Config to allow or dissallow Copper Tools"}) + //public static boolean ENABLE_COPPER_TOOLS = false; + public static class Features { - @Config.Comment({"Smoke is produced from various forge blocks when active"}) - public static boolean FEATURE_ENABLE_SMOKE = true; + @Config.RequiresMcRestart + @Config.Comment({"Config to allow or dissallow Copper Tools"}) + public static boolean ENABLE_COPPER_TOOLS = false; + + @Config.Comment({"Bronze Tool Lapis Bonus do not go greater than 5"}) + public static int BRONZE_LAPIS_MULTIPLIER = 5; + + @Config.Comment({"Copper Tools Emerald Upgrade"}) + public static boolean ENABLE_COPPER_EMERALD = true; @Config.RequiresMcRestart @Config.Comment({"Various forge blocks will set fire to their surroundings when active"}) @@ -44,4 +57,31 @@ public class ModConfig @Config.RangeInt(min = 0, max = 1000) public static int FEATURE_HEAT_RANGE = 0; } -} \ No newline at end of file +} + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 64606673..4b239062 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -1452,6 +1452,30 @@ public class ModCrafting{ "null" ); + /*** Bucket ***/ + AnvilCrafting.addRecipe( + new ItemStack [] { + emptyAir,emptyAir,emptyAir,emptyAir,emptyAir, + emptyAir,hotCleanChunk,emptyAir,hotCleanChunk,emptyAir, + emptyAir,hotCleanChunk,emptyAir,hotCleanChunk,emptyAir, + emptyAir,emptyAir,hotCleanChunk,emptyAir,emptyAir, + emptyAir,emptyAir,emptyAir,emptyAir,emptyAir }, + new ItemStack(Items.BUCKET, 1), + "null" + ); + + /*** Bucket ***/ + AnvilCrafting.addRecipe( + new ItemStack [] { + emptyAir,emptyAir,emptyAir,emptyAir,emptyAir, + emptyAir,hotSteelChunk,emptyAir,hotSteelChunk,emptyAir, + emptyAir,hotSteelChunk,emptyAir,hotSteelChunk,emptyAir, + emptyAir,emptyAir,hotSteelChunk,emptyAir,emptyAir, + emptyAir,emptyAir,emptyAir,emptyAir,emptyAir }, + new ItemStack(Items.BUCKET, 1), + "null" + ); + /*** Primal Plate ***/ AnvilCrafting.addRecipe( new ItemStack [] { 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 36889de9..df303880 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -15,6 +15,10 @@ import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; import nmd.primal.forgecraft.items.parts.BronzeToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.tools.*; +import nmd.primal.forgecraft.items.tools.bronze.BronzeAxe; +import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; +import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; +import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.items.weapons.Longbow; @@ -23,6 +27,7 @@ import nmd.primal.forgecraft.items.weapons.SlayerSword; /** * Created by kitsu on 11/26/2016. */ + public class ModItems { //public static Item test; @@ -47,6 +52,17 @@ public class ModItems { public static Item wootzingotball; public static Item wootzchunk; + public static Item copperpickaxehead; + public static Item copperaxehead; + public static Item coppershovelhead; + public static Item copperhoehead; + + public static Item copperpickaxe; + public static Item copperaxe; + public static Item coppershovel; + public static Item copperhoe; + + public static Item pickaxehead; public static Item ironaxehead; public static Item ironshovelhead; @@ -154,6 +170,18 @@ public class ModItems { /********** TOOL PARTS **********/ + if(ModConfig.Features.ENABLE_COPPER_TOOLS){ + copperpickaxehead; + copperaxehead; + coppershovelhead; + copperhoehead; + + copperpickaxe; + copperaxe; + coppershovel; + copperhoe; + } + bronzepickaxehead = new BronzeToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); bronzeaxehead = new BronzeToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); bronzeshovelhead = new BronzeToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); @@ -183,27 +211,27 @@ public class ModItems { TOOLS **********/ bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); - bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead); + bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); bronzeshovel = new BronzeShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); bronzehoe = new BronzeHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead); - ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead); + 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); cleanironpickaxe = new CustomPickaxe("cleanironpickaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironpickaxehead); - cleanironaxe = new CustomAxe("cleanironaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironaxehead); + 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); steelpickaxe = new CustomPickaxe("steelpickaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelpickaxehead); - steelaxe = new CustomAxe("steelaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelaxehead); + 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); wootzpickaxe = new CustomPickaxe("wootzpickaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzpickaxehead); - wootzaxe = new CustomAxe("wootzaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzaxehead); + 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); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java index c0f7667b..4a36cae9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java @@ -142,7 +142,7 @@ public class BaseMultiItem extends BaseItem { { if (item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades: " + item.getTagCompound().getString("upgrades")); + //tooltip.add(ChatFormatting.GRAY + "Upgrades: " + item.getTagCompound().getString("upgrades")); /* tooltip.add(ChatFormatting.GRAY + "Upgrades: " + (3 - getModifiers(item)) ); if (getEmerald(item) == true) { diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java similarity index 78% rename from kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java index 6049b45a..a5c9f73e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java @@ -20,67 +20,25 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; import java.util.List; import java.util.concurrent.ThreadLocalRandom; -/** - * Created by mminaie on 6/25/17. - */ -public class BronzeAxe extends ItemAxe implements ToolNBT { +public abstract class AbstractAxe extends ItemAxe implements ToolNBT { Item drop; - public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop) { - super(material, 5, -2f); + public AbstractAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { + super(material, damage, speed); this.setUnlocalizedName(name); this.setRegistryName(name); this.setCreativeTab(ModInfo.TAB_FORGECRAFT); this.setMaxStackSize(1); this.setNoRepair(); - this.drop=damageDrop; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + this.drop = damageDrop; - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); } public static boolean isHidden() @@ -92,6 +50,7 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { if(!world.isRemote) { + item.setItemDamage(item.getMaxDamage()-5); if (!item.hasTagCompound()) { item.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -114,6 +73,7 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { @Override public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { if(!world.isRemote) { + if (!item.hasTagCompound()) { item.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -127,9 +87,9 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { setLapisLevel(item, 0); setModifiers(item, 0); } - //this.setDamage(item, this.getMaxDamage(item) -2); + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenbronzetool, 1)); + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } } @@ -145,7 +105,7 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { { if (item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) ); if (getEmerald(item) == true) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } @@ -153,38 +113,42 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); } if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + "1" ); + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); } if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + "5" ); + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); } tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } } } - +/* @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ World world = player.getEntityWorld(); - //System.out.println(world.getBlockState(pos).getBlock()); if(itemstack.getItem() instanceof CustomAxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } - /*if( getDiamondLevel(itemstack) > 0 ){ - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ + if( getDiamondLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + //itemstack.getItem().setHarvestLevel("pickaxe", 3); + } + if( getRedstoneLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); + //System.out.println(itemstack.getEnchantmentTagList()); + } if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); } } } return false; } - +*/ @Override public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) { @@ -243,7 +207,7 @@ public class BronzeAxe extends ItemAxe implements ToolNBT { if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ return super.getDestroySpeed(stack, state); } else { - return this.efficiency + 1; + return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 )); } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java deleted file mode 100644 index fbd89e9f..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java +++ /dev/null @@ -1,283 +0,0 @@ -package nmd.primal.forgecraft.items.tools; - -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.IItemPropertyGetter; -import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundCategory; -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.common.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -/** - * Created by mminaie on 3/21/17. - */ -public class BronzeHoe extends ItemHoe implements ToolNBT { - - Item drop; - - public BronzeHoe(String name, ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); - } - - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenbronzetool, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); - if(item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - } - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - - if(itemstack.getItem() instanceof BronzeHoe){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - /*if( getDiamondLevel(itemstack) > 0 ){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ - /*if( getRedstoneLevel(itemstack) > 0 ){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); - //System.out.println(itemstack.getEnchantmentTagList()); - }*/ - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); - } - } - } - - return false; - } - - @Override - protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) - { - worldIn.playSound(player, pos, SoundEvents.ITEM_HOE_TILL, SoundCategory.BLOCKS, 1.0F, 1.0F); - - if (!worldIn.isRemote) - { - worldIn.setBlockState(pos, state, 11); - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, player); - } else { - ItemStack dropStack = new ItemStack(drop, 1); - dropStack.setItemDamage(stack.getItemDamage()); - dropStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound copyNBT; - copyNBT = stack.getSubCompound("tags").copy(); - dropStack.setTagCompound(copyNBT); - PlayerHelper.spawnItemOnPlayer(worldIn, player, dropStack); - player.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - } - - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - - @SideOnly(Side.CLIENT) - @Override - public boolean hasEffect(ItemStack stack) - { - return false; - } - - @Override - public boolean isRepairable() - { - return false; - } - - public int getItemEnchantability(ItemStack stack) - { - return 0; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java index 9b59eb7f..64354a2e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java @@ -31,18 +31,12 @@ import java.util.concurrent.ThreadLocalRandom; /** * Created by mminaie on 3/20/17. */ -public class CustomAxe extends ItemAxe implements ToolNBT { +public class CustomAxe extends AbstractAxe implements ToolNBT { Item drop; - public CustomAxe(String name, Item.ToolMaterial material, Item damageDrop) { - super(material, 6, -3.1f); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop = damageDrop; + public CustomAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { + super(name, material, damageDrop, damage, speed); this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { /*** @@ -225,97 +219,6 @@ public class CustomAxe extends ItemAxe implements ToolNBT { }); } - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - item.setItemDamage(item.getMaxDamage()-5); - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - } - - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenwroughtirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokencleanirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokensteeltool, 1)); - } - ((EntityPlayer) player).inventory.deleteStack(item); - } - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(!item.isEmpty()) - { - if (item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - } - } - @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { @@ -326,101 +229,18 @@ public class CustomAxe extends ItemAxe implements ToolNBT { itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } if( getDiamondLevel(itemstack) > 0 ){ - //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + //itemstack.getItem().setHarvestLevel("pickaxe", 3); } - /*if( getRedstoneLevel(itemstack) > 0 ){ + if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); //System.out.println(itemstack.getEnchantmentTagList()); - }*/ + } if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); } } } - return false; } - - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - - if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ - return super.getDestroySpeed(stack, state); - } else { - return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1); - } - - } - - @SideOnly(Side.CLIENT) - @Override - public boolean hasEffect(ItemStack stack) - { - return false; - } - - @Override - public boolean isRepairable() - { - return false; - } - - public int getItemEnchantability(ItemStack stack) - { - return 0; - } - } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java index 965eaa49..33b6a053 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -270,16 +270,7 @@ public class CustomHoe extends ItemHoe implements ToolNBT { } if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenwroughtirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokencleanirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokensteeltool, 1)); - } + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } @@ -322,14 +313,14 @@ public class CustomHoe extends ItemHoe implements ToolNBT { if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } - /*if( getDiamondLevel(itemstack) > 0 ){ + if( getDiamondLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ - /*if( getRedstoneLevel(itemstack) > 0 ){ + //itemstack.getItem().setHarvestLevel("pickaxe", 3); + } + if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); //System.out.println(itemstack.getEnchantmentTagList()); - }*/ + } if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index 3c4c16cd..239fa0ba 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -272,18 +272,8 @@ public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ } - //this.setDamage(item, this.getMaxDamage(item) -2); if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenwroughtirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokencleanirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokensteeltool, 1)); - } + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } @@ -327,13 +317,13 @@ public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } if( getDiamondLevel(itemstack) > 0 ){ - //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); itemstack.getItem().setHarvestLevel("pickaxe", 3); } - /*if( getRedstoneLevel(itemstack) > 0 ){ + if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); //System.out.println(itemstack.getEnchantmentTagList()); - }*/ + } if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java index c38d9516..7e71ec28 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -272,21 +272,10 @@ public class CustomShovel extends ItemSpade implements ToolNBT { } - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenwroughtirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokencleanirontool, 1)); - } - if(this.toolMaterial == PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokensteeltool, 1)); - } + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } - } } @@ -326,13 +315,13 @@ public class CustomShovel extends ItemSpade implements ToolNBT { itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } if( getDiamondLevel(itemstack) > 0 ){ - //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("shovel", 3); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + //itemstack.getItem().setHarvestLevel("shovel", 3); } - /*if( getRedstoneLevel(itemstack) > 0 ){ + if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); //System.out.println(itemstack.getEnchantmentTagList()); - }*/ + } if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java new file mode 100644 index 00000000..87bc1cfe --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java @@ -0,0 +1,113 @@ +package nmd.primal.forgecraft.items.tools.bronze; + +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +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.common.helper.PlayerHelper; +import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractAxe; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 6/25/17. + */ +public class BronzeAxe extends AbstractAxe implements ToolNBT { + + Item drop; + + public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { + super(name, material, damageDrop, damage, speed); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + + if (item.hasTagCompound()) { + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + //System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof BronzeAxe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + /*if( getDiamondLevel(itemstack) > 0 ){ + itemstack.getItem().setHarvestLevel("pickaxe", 3); + }*/ + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); + } + } + } + + return false; + } + + @Override + public float getDestroySpeed(ItemStack stack, IBlockState state) + { + Material material = state.getMaterial(); + //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; + + if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ + return super.getDestroySpeed(stack, state); + } else { + return this.efficiency + 1; + } + + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java new file mode 100644 index 00000000..c94f6379 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java @@ -0,0 +1,115 @@ +package nmd.primal.forgecraft.items.tools.bronze; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundCategory; +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.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.CustomHoe; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 3/21/17. + */ +public class BronzeHoe extends AbstractHoe implements ToolNBT { + + Item drop; + + public BronzeHoe(String name, Item.ToolMaterial material, Item damageDrop) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + this.drop=damageDrop; + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + if (item.hasTagCompound()) { + + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + + if(itemstack.getItem() instanceof BronzeHoe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + /*if( getDiamondLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.getItem().setHarvestLevel("pickaxe", 3); + }*/ + /*if( getRedstoneLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); + //System.out.println(itemstack.getEnchantmentTagList()); + } + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); + }*/ + } + } + + return false; + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java similarity index 87% rename from kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java index 615ef331..700a118b 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java @@ -1,4 +1,4 @@ -package nmd.primal.forgecraft.items.tools; +package nmd.primal.forgecraft.items.tools.bronze; import com.mojang.realmsclient.gui.ChatFormatting; import net.minecraft.block.material.Material; @@ -20,7 +20,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.init.ModConfig; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -131,7 +131,7 @@ public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ } if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenbronzetool, 1)); + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } } @@ -139,27 +139,30 @@ public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ //public void onItemTooltip(ItemTooltipEvent event){ - @Override + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) { - //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); - if(item.hasTagCompound()) + if(!item.isEmpty()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + if (item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + int lapisOutput = Integer.valueOf(ModConfig.Features.BRONZE_LAPIS_MULTIPLIER) ; + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + Integer.toString(lapisOutput*1)); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } } @@ -178,7 +181,7 @@ public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ itemstack.getItem().setHarvestLevel("pickaxe", 3); }*/ if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java similarity index 87% rename from kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java index a8d16f74..2ef6518e 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java @@ -1,4 +1,4 @@ -package nmd.primal.forgecraft.items.tools; +package nmd.primal.forgecraft.items.tools.bronze; import com.google.common.collect.Sets; import com.mojang.realmsclient.gui.ChatFormatting; @@ -22,7 +22,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.init.ModConfig; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -133,7 +133,7 @@ Item drop; } if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.brokenbronzetool, 1)); + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); ((EntityPlayer) player).inventory.deleteStack(item); } } @@ -145,23 +145,25 @@ Item drop; @SideOnly(Side.CLIENT) public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) { - //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); - if(item.hasTagCompound()) + if(!item.isEmpty()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + if (item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + Integer.toString(ModConfig.Features.BRONZE_LAPIS_MULTIPLIER)); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } } @@ -176,7 +178,7 @@ Item drop; itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/Longbow.java b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/Longbow.java index ad9587b7..a2032bbf 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/Longbow.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/Longbow.java @@ -179,13 +179,15 @@ public class Longbow extends BaseItem { public static float getArrowVelocity(int charge) { - float f = (float)charge / 5.0F; - f = (f * f + f * 2.0F); + float f = (float)charge / 120; if (f > 1.0F) { f = 1.0F; } + if(f < 0.1){ + f =0.1f; + } return f; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java index 50e9bbba..a6bb93f7 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java @@ -5,6 +5,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ITickable; import net.minecraft.util.NonNullList; import net.minecraft.world.World; +import nmd.primal.core.api.PrimalAPI; +import nmd.primal.forgecraft.items.BaseMultiItem; +import nmd.primal.forgecraft.items.parts.ToolPart; /** * Created by mminaie on 3/4/17. @@ -44,39 +47,27 @@ public class TileAnvil extends TileBaseSlot implements ITickable { if (!world.isRemote) { IBlockState state = world.getBlockState(this.pos); - - /*** - Cooling Code - */ - /*if ( ThreadLocalRandom.current().nextInt(0,10000) == 0 ) { + if(PrimalAPI.randomCheck(1800)){ for(int i=0; i=301){ + iteration =0; + } craftingManager(); } - if(this.iteration == 299){ - this.heatManager(this.getHeat(), state, this.getSlotStack(0), world, pos); - } + + } } @@ -144,7 +140,7 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ if(h > 0) { this.setHeat(h - 25); } - if(h < 10 ){ + if(h < 50 ){ world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, false), 2); } } diff --git a/kfc/testbuild.txt b/kfc/testbuild.txt deleted file mode 100644 index 2be6d3f3..00000000 --- a/kfc/testbuild.txt +++ /dev/null @@ -1,77 +0,0 @@ -buildscript { - repositories { - jcenter() - maven { url = "http://files.minecraftforge.net/maven" } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' - } -} -apply plugin: 'net.minecraftforge.gradle.forge' -//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. - - -version = "1.0" -group = "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "modid" - -sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. -compileJava { - sourceCompatibility = targetCompatibility = '1.8' -} - -minecraft { - version = "1.12-14.21.0.2368" - runDir = "run" - - // the mappings can be changed at any time, and must be in the following format. - // snapshot_YYYYMMDD snapshot are built nightly. - // stable_# stables are built at the discretion of the MCP team. - // Use non-default mappings at your own risk. they may not always work. - // simply re-run your setup task after changing the mappings to update your workspace. - mappings = "snapshot_20170624" - // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. -} - -dependencies { - // you may put jars on which you depend on in ./libs - // or you may define them like so.. - //compile "some.group:artifact:version:classifier" - //compile "some.group:artifact:version" - - // real examples - //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env - //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env - - // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. - //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' - - // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, - // except that these dependencies get remapped to your current MCP mappings - //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' - //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' - - // for more info... - // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html - // http://www.gradle.org/docs/current/userguide/dependency_management.html - -} - -processResources { - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else except the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} From c765542d6a122b8433406d55d2b40116a611e585 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Fri, 28 Sep 2018 02:04:01 -0400 Subject: [PATCH 03/34] Forge Light level reduce, forge cools down, ingots dont need to read upgrades, casting form fixed, anvil now cools its inventory, longbow arrow velocity balanced, more bucket crafting, config, copper tools, config for lowering fortune multiplier need to finish copper tool and tool head assets --- kfc/To-Dos.md | 12 +- .../nmd/primal/forgecraft/CommonEvents.java | 17 +- .../blocks/machine/CastingForm.java | 41 +- .../nmd/primal/forgecraft/init/ModConfig.java | 8 +- .../primal/forgecraft/init/ModCrafting.java | 38 +- .../nmd/primal/forgecraft/init/ModItems.java | 62 ++- .../forgecraft/items/BaseMultiItem.java | 2 - ...ronzeToolPart.java => SimpleToolPart.java} | 57 ++- .../forgecraft/items/parts/ToolPart.java | 190 +-------- .../forgecraft/items/tools/AbstractAxe.java | 36 +- .../forgecraft/items/tools/AbstractHoe.java | 212 ++++++++++ .../items/tools/AbstractPickaxe.java | 243 ++++++++++++ .../items/tools/AbstractShovel.java | 237 +++++++++++ .../forgecraft/items/tools/CustomAxe.java | 200 ---------- .../forgecraft/items/tools/CustomHoe.java | 195 +-------- .../forgecraft/items/tools/CustomPickaxe.java | 374 +----------------- .../forgecraft/items/tools/CustomShovel.java | 370 +---------------- .../items/tools/bronze/BronzeAxe.java | 52 --- .../items/tools/bronze/BronzeHoe.java | 69 +--- .../items/tools/bronze/BronzePickaxe.java | 231 +---------- .../items/tools/bronze/BronzeShovel.java | 221 +---------- .../items/tools/copper/CopperAxe.java | 63 +++ .../items/tools/copper/CopperHoe.java | 45 +++ .../items/tools/copper/CopperPickaxe.java | 40 ++ .../items/tools/copper/CopperShovel.java | 51 +++ .../primal/forgecraft/tiles/TileForge.java | 3 +- .../models/item/axe/copper/copperaxe_0.json | 8 + .../models/item/axe/copper/copperaxe_1.json | 8 + .../models/item/axe/copper/copperaxe_2.json | 8 + .../models/item/axe/copper/copperaxe_3.json | 8 + .../models/item/axe/copper/copperaxe_4.json | 8 + .../forgecraft/models/item/bronzeaxe.json | 9 +- .../forgecraft/models/item/bronzeaxehead.json | 10 +- .../forgecraft/models/item/bronzehoe.json | 9 +- .../forgecraft/models/item/bronzehoehead.json | 8 +- .../forgecraft/models/item/bronzepickaxe.json | 8 +- .../models/item/bronzepickaxehead.json | 8 +- .../forgecraft/models/item/bronzeshovel.json | 8 +- .../models/item/bronzeshovelhead.json | 8 +- 39 files changed, 1156 insertions(+), 2021 deletions(-) rename kfc/src/main/java/nmd/primal/forgecraft/items/parts/{BronzeToolPart.java => SimpleToolPart.java} (73%) create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_2.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_3.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_4.json diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index bf5ab8cd..cae880ed 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -11,15 +11,15 @@ - [x] Anvil cool down items - [x] Longbow Fire Speed - [x] More Crafting for buckets +- [x] Config Usage +- [x] Copper Tools +- [x] Config for lowering fortune multiplier -- [ ] Config Usage -- [ ] Copper Tools - [ ] Copper Tool Casting - [ ] Copper Tool Assets - +- [ ] Emerald and redstone asset +- [ ] Diamond + Redstone no texture - [ ] Craft Tweaker Support - -- [ ] Config for lowering fortune multiplier - [ ] Hardened Leather Helmet Inventory Model ## Feature Musket @@ -36,7 +36,7 @@ ## Backlog - [ ] Bloomery Print out - [ ] Random Floats for hot texture -- [ ] Diamond + Redstone no texture + - [ ] Mass Ore Production - [ ] Silver/Lead Production - [ ] Sparks to forging diff --git a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java index 60836e6e..39ec91eb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -5,9 +5,12 @@ 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.forgecraft.items.parts.BronzeToolPart; +import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; -import nmd.primal.forgecraft.items.tools.*; +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.tools.bronze.BronzeAxe; import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; @@ -31,7 +34,7 @@ public class CommonEvents implements ToolNBT { if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -46,7 +49,7 @@ public class CommonEvents implements ToolNBT { if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -61,7 +64,7 @@ public class CommonEvents implements ToolNBT { if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -76,7 +79,7 @@ public class CommonEvents implements ToolNBT { if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -85,7 +88,7 @@ public class CommonEvents implements ToolNBT { } } } - if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof BronzeToolPart) { + if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof SimpleToolPart) { NBTTagCompound tempTag = new NBTTagCompound(); for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index 4db3311e..40d88406 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -31,7 +31,7 @@ import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.SlottedTongs; -import nmd.primal.forgecraft.items.parts.BronzeToolPart; +import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.ToolNBT; @@ -64,11 +64,14 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan doInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player); } if(pItem.getItem().equals(ModItems.slottedtongs)){ + IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null); - ItemStack slotStack = inventory.getStackInSlot(0).copy(); + SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); + ItemStack tongsStack = inventory.getStackInSlot(0).copy(); + SlottedTongs tongs = (SlottedTongs) pItem.getItem(); - if(slotStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { - ItemStack tongsStack = slotStack.copy(); + if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { + NBTTagCompound tag = tongsStack.getTagCompound().copy(); if(tag != null){ @@ -86,7 +89,8 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray); if(casting != null){ NBTTagCompound tagOutput = casting.getOutput().getTagCompound(); - //System.out.println(tagOutput); + NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound(); + if(tagOutput != null) { ItemStack dropStack = casting.getOutput(); dropStack.setTagCompound(new NBTTagCompound()); @@ -94,46 +98,39 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan dropStack.getTagCompound().setTag("tags", tags); setHot(dropStack, false); - if (tagOutput.getString("upgrades") == "emerald") { + if (crucibleOutput.getString("upgrades") == "emerald") { setEmerald(dropStack, true); + setModifiers(dropStack, 1); } else { setEmerald(dropStack, false); } - if (tagOutput.getString("upgrades") == "diamond") { + if (crucibleOutput.getString("upgrades") == "diamond") { setDiamondLevel(dropStack, 1); + setModifiers(dropStack, 1); } else { setDiamondLevel(dropStack, 0); } - if (tagOutput.getString("upgrades") == "redstone") { + if (crucibleOutput.getString("upgrades") == "redstone") { setRedstoneLevel(dropStack, 1); + setModifiers(dropStack, 1); } else { setRedstoneLevel(dropStack, 0); } - if (tagOutput.getString("upgrades") == "lapis") { + if (crucibleOutput.getString("upgrades") == "lapis") { setLapisLevel(dropStack, 1); + setModifiers(dropStack, 1); } else { setLapisLevel(dropStack, 0); } - setModifiers(dropStack, 1); + CommonUtils.spawnItemEntityFromWorld(world, pos, dropStack); tag.getCompoundTag("BlockEntityTag").setBoolean("status", false); tag.getCompoundTag("BlockEntityTag").setInteger("hot", 0); ItemStackHelper.saveAllItems(tag.getCompoundTag("BlockEntityTag"), ingListEmpty); inventory.getStackInSlot(0).setTagCompound(tag); + itemstackItem.markDirty(pItem); return true; } - if(tagOutput == null){ - System.out.println("Tag is null"); - if( !(casting.getOutput().getItem() instanceof BronzeToolPart) ){ - ItemStack dropStack = casting.getOutput(); - CommonUtils.spawnItemEntityFromWorld(world, pos, dropStack); - tag.getCompoundTag("BlockEntityTag").setBoolean("status", false); - tag.getCompoundTag("BlockEntityTag").setInteger("hot", 0); - ItemStackHelper.saveAllItems(tag.getCompoundTag("BlockEntityTag"), ingListEmpty); - inventory.getStackInSlot(0).setTagCompound(tag); - return true; - } - } } } } 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 d0e85996..cf4aca86 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java @@ -1,7 +1,6 @@ package nmd.primal.forgecraft.init; import net.minecraftforge.common.config.Config; -import nmd.primal.forgecraft.ForgeCraft; import nmd.primal.forgecraft.ModInfo; @Config(modid = ModInfo.MOD_ID, name = ModInfo.MOD_CONFIG, category = "") @@ -10,9 +9,9 @@ import nmd.primal.forgecraft.ModInfo; public final class ModConfig { - static { - ForgeCraft.LOGGER.info("Loading Config File: " + ModInfo.MOD_CONFIG + ".cfg"); - } + //static { + // ForgeCraft.LOGGER.info("Loading Config File: " + ModInfo.MOD_CONFIG + ".cfg"); + //} /** * Main Config Sections @@ -44,6 +43,7 @@ public final class ModConfig public static boolean ENABLE_COPPER_TOOLS = false; @Config.Comment({"Bronze Tool Lapis Bonus do not go greater than 5"}) + @Config.RangeInt(min = 0, max = 5) public static int BRONZE_LAPIS_MULTIPLIER = 5; @Config.Comment({"Copper Tools Emerald Upgrade"}) 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 4b239062..3211b5d2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -30,7 +30,6 @@ public class ModCrafting{ NBTTagCompound newTag = new NBTTagCompound(); - NBTTagCompound setHot = new NBTTagCompound(); setHot.setBoolean("hot", true); @@ -174,15 +173,16 @@ public class ModCrafting{ for(ItemStack temp : toolArray) { - NBTTagCompound tags = new NBTTagCompound(); - temp.getTagCompound().setTag("tags", tags); + NBTTagCompound tags = temp.getTagCompound(); + tags.setTag("tags", tags); - temp.getSubCompound("tags").setBoolean("hot", false); - temp.getSubCompound("tags").setBoolean("emerald", false); - temp.getSubCompound("tags").setInteger("diamond", 0); - temp.getSubCompound("tags").setInteger("redstone", 0); - temp.getSubCompound("tags").setInteger("lapis", 0); - temp.getSubCompound("tags").setInteger("modifiers", 0); + tags.getCompoundTag("tags").setBoolean("hot", false); + tags.getCompoundTag("tags").setBoolean("emerald", false); + tags.getCompoundTag("tags").setInteger("diamond", 0); + tags.getCompoundTag("tags").setInteger("redstone", 0); + tags.getCompoundTag("tags").setInteger("lapis", 0); + tags.getCompoundTag("tags").setInteger("modifiers", 0); + temp.setTagCompound(tags); } bronzepickaxehead = toolArray[0]; @@ -393,20 +393,6 @@ public class ModCrafting{ 800, 600); - - /*CrucibleCrafting.addRecipe( - new OreIngredient("oreBronze"), - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - Ingredient.EMPTY, - new ItemStack(PrimalAPI.Items.SLAG, 1), - defaultBronze, - 1100, - 800, - 600); - */ - CrucibleCrafting.addRecipe( new OreIngredient("ingotBronze"), Ingredient.EMPTY, @@ -419,10 +405,6 @@ public class ModCrafting{ 800, 600); - //NBTTagCompound tag = new NBTTagCompound(); - //tag.setString("upgrades", "redstone"); - //ItemStack redBronze = new ItemStack(ModItems.bronzeingotball, 1); - //redBronze.setTagCompound(tag.copy()); ItemStack redBronze = defaultBronze.copy(); redBronze.getTagCompound().setString("upgrades", "redstone"); CrucibleCrafting.addRecipe( @@ -469,7 +451,7 @@ public class ModCrafting{ lapisBronze.getTagCompound().setString("upgrades", "lapis"); CrucibleCrafting.addRecipe( new OreIngredient("ingotBronze"), - new OreIngredient("dustLapis"), + new OreIngredient("gemLapis"), Ingredient.EMPTY, Ingredient.EMPTY, Ingredient.EMPTY, 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 df303880..3c663149 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -12,13 +12,20 @@ import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; -import nmd.primal.forgecraft.items.parts.BronzeToolPart; +import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; -import nmd.primal.forgecraft.items.tools.*; +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.tools.bronze.BronzeAxe; import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; +import nmd.primal.forgecraft.items.tools.copper.CopperAxe; +import nmd.primal.forgecraft.items.tools.copper.CopperHoe; +import nmd.primal.forgecraft.items.tools.copper.CopperPickaxe; +import nmd.primal.forgecraft.items.tools.copper.CopperShovel; import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.items.weapons.Longbow; @@ -129,6 +136,7 @@ public class ModItems { public static Item steelslayer; public static Item wootzslayer; + public static Item brokencoppertool; public static Item brokenbronzetool; public static Item brokenwroughtirontool; public static Item brokencleanirontool; @@ -171,21 +179,21 @@ public class ModItems { TOOL PARTS **********/ if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - copperpickaxehead; - copperaxehead; - coppershovelhead; - copperhoehead; + copperpickaxehead = new SimpleToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); + copperaxehead = new SimpleToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); + coppershovelhead= new SimpleToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); + copperhoehead = new SimpleToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe"); - copperpickaxe; - copperaxe; - coppershovel; - copperhoe; + copperpickaxe = new CopperPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); + copperaxe = new CopperAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); + coppershovel = new CopperShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); + copperhoe = new CopperHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); } - bronzepickaxehead = new BronzeToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); - bronzeaxehead = new BronzeToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); - bronzeshovelhead = new BronzeToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); - bronzehoehead = new BronzeToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); + bronzepickaxehead = new SimpleToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); + bronzeaxehead = new SimpleToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); + bronzeshovelhead = new SimpleToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); + bronzehoehead = new SimpleToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); pickaxehead = new ToolPart("ironpickaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "pickaxe"); ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe"); @@ -276,6 +284,7 @@ public class ModItems { //forgingmanual = new ItemForgingManual(); //test = new ItemTest("ironsword"); + brokencoppertool = new BaseItem("brokencoppertool"); brokenbronzetool = new BaseItem("brokenbronzetool"); brokenwroughtirontool = new BaseItem("brokenwroughtirontool"); brokencleanirontool = new BaseItem("brokencleanirontool"); @@ -316,6 +325,18 @@ public class ModItems { /********** TOOL PARTS **********/ + if(ModConfig.Features.ENABLE_COPPER_TOOLS){ + ForgeRegistries.ITEMS.register(copperpickaxehead); + ForgeRegistries.ITEMS.register(copperaxehead); + ForgeRegistries.ITEMS.register(coppershovelhead); + ForgeRegistries.ITEMS.register(copperhoehead); + + ForgeRegistries.ITEMS.register(copperpickaxe); + ForgeRegistries.ITEMS.register(copperaxe); + ForgeRegistries.ITEMS.register(coppershovel); + ForgeRegistries.ITEMS.register(copperhoe); + } + ForgeRegistries.ITEMS.register(bronzepickaxehead); ForgeRegistries.ITEMS.register(bronzeaxehead); ForgeRegistries.ITEMS.register(bronzeshovelhead); @@ -437,6 +458,19 @@ public class ModItems { /********** TOOL PARTS **********/ + + if(ModConfig.Features.ENABLE_COPPER_TOOLS){ + registerRender(copperpickaxehead); + registerRender(copperaxehead); + registerRender(coppershovelhead); + registerRender(copperhoehead); + + registerRender(copperpickaxe); + registerRender(copperaxe); + registerRender(coppershovel); + registerRender(copperhoe); + } + registerRender(bronzepickaxehead); registerRender(bronzeaxehead); registerRender(bronzeshovelhead); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java index 4a36cae9..2cb17a4a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java @@ -1,6 +1,5 @@ package nmd.primal.forgecraft.items; -import com.mojang.realmsclient.gui.ChatFormatting; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -16,7 +15,6 @@ 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.FireHelper; import nmd.primal.forgecraft.init.ModItems; import javax.annotation.Nullable; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/BronzeToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java similarity index 73% rename from kfc/src/main/java/nmd/primal/forgecraft/items/parts/BronzeToolPart.java rename to kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java index abecdb4c..3a693335 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/BronzeToolPart.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java @@ -13,6 +13,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -21,61 +22,53 @@ import java.util.List; /** * Created by mminaie on 3/9/17. */ -public class BronzeToolPart extends Item implements ToolNBT{ +public class SimpleToolPart extends Item implements ToolNBT{ private String toolType; - public BronzeToolPart(String name, ToolMaterial material, String type) { + public SimpleToolPart(String name, ToolMaterial material, String type) { this.setMaxDamage(material.getMaxUses()); this.setUnlocalizedName(name); this.setRegistryName(name); - //this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); this.setMaxStackSize(1); this.setNoRepair(); this.toolType = type; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() - { + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { /*** - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X ***/ @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } + Float returnFloat = 0.0F; + if(getHot(item)){ + returnFloat = returnFloat + 1.0F; } - if (getModifiers(item) == 0) { - return 0.0F; + if(getEmerald(item)){ + returnFloat += 0.1F; } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + return returnFloat; } return 0.0F; } }); - } public static boolean isHidden() @@ -130,8 +123,8 @@ public class BronzeToolPart extends Item implements ToolNBT{ { if(item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades"); - if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.GRAY + "Upgrades: " + getModifiers(item)); + if (getEmerald(item)) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } if (getDiamondLevel(item) > 0) { 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 43e95325..5ff9997b 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 @@ -16,7 +16,6 @@ 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.FireHelper; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.util.ToolNBT; @@ -42,192 +41,39 @@ public class ToolPart extends Item implements ToolNBT{ this.toolType = type; this.toolMaterial = material; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() - { + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { /*** - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X ***/ @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { - - if (getHot(item) == false) { - if (getModifiers(item) != 0) { - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2) ) { - return 0.0102F; - } - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1) ) { - return 0.0011F; - } - } + Float returnFloat = 0.0F; + if(getHot(item)){ + returnFloat = returnFloat + 1.0F; } - if (getHot(item) == true) { - return 1.0F; + if(getEmerald(item)){ + returnFloat += 0.1F; } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + return returnFloat; } return 0.0F; } }); - } public static boolean isHidden() diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java index a5c9f73e..fcfa6ffb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java @@ -4,7 +4,6 @@ import com.mojang.realmsclient.gui.ChatFormatting; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -30,7 +29,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { Item drop; - public AbstractAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { + public AbstractAxe(String name, ToolMaterial material, Item damageDrop, Integer damage, Float speed) { super(material, damage, speed); this.setUnlocalizedName(name); this.setRegistryName(name); @@ -39,6 +38,39 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { this.setNoRepair(); this.drop = damageDrop; + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + Float returnFloat = 0.0F; + if(getHot(item)){ + returnFloat = returnFloat + 1.0F; + } + if(getEmerald(item)){ + returnFloat += 0.1F; + } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + return returnFloat; + } + return 0.0F; + } + }); } public static boolean isHidden() diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java new file mode 100644 index 00000000..3bc1d509 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java @@ -0,0 +1,212 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; +import net.minecraft.item.Item; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.SoundCategory; +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.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +public abstract class AbstractHoe extends ItemHoe implements ToolNBT { + + private Item drop; + + public AbstractHoe(String name, ToolMaterial material, Item damageDrop) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + this.drop = damageDrop; + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); + ((EntityPlayer) player).inventory.deleteStack(item); + } + + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) + { + if(item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades: " + (getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + + } + + + @Override + protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) + { + worldIn.playSound(player, pos, SoundEvents.ITEM_HOE_TILL, SoundCategory.BLOCKS, 1.0F, 1.0F); + + if (!worldIn.isRemote) + { + worldIn.setBlockState(pos, state, 11); + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.damageItem(1, player); + } else { + ItemStack dropStack = new ItemStack(drop, 1); + dropStack.setItemDamage(stack.getItemDamage()); + dropStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound copyNBT; + copyNBT = stack.getSubCompound("tags").copy(); + dropStack.setTagCompound(copyNBT); + PlayerHelper.spawnItemOnPlayer(worldIn, player, dropStack); + player.renderBrokenItemStack(stack); + stack.shrink(1); + } + } + } + + @Override + public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.damageItem(1, attacker); + return true; + } else { + ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + + EntityPlayer player = (EntityPlayer) attacker; + World world = attacker.getEntityWorld(); + if(!world.isRemote) { + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + attacker.renderBrokenItemStack(stack); + stack.shrink(1); + return true; + } + return false; + } + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.getTagCompound().removeTag("ench"); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } else { + ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + EntityPlayer player = (EntityPlayer) entityLiving; + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + entityLiving.renderBrokenItemStack(stack); + stack.shrink(1); + } + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java new file mode 100644 index 00000000..91c88eff --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java @@ -0,0 +1,243 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +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.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { + private Item drop; + + public AbstractPickaxe(String name, Item.ToolMaterial material, Item damageDrop) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + this.drop=damageDrop; + //this.toolClass = "pickaxe"; + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + Float returnFloat = 0.0F; + if(getHot(item)){ + returnFloat = returnFloat + 1.0F; + } + if(getEmerald(item)){ + returnFloat += 0.1F; + } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + return returnFloat; + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + //item.setItemDamage(item.getMaxDamage()-2); + + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); + ((EntityPlayer) player).inventory.deleteStack(item); + } + + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) + { + //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); + if(item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + + + + @Override + public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.damageItem(1, attacker); + return true; + } else { + ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + + EntityPlayer player = (EntityPlayer) attacker; + World world = attacker.getEntityWorld(); + if(!world.isRemote) { + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + attacker.renderBrokenItemStack(stack); + stack.shrink(1); + return true; + } + return false; + } + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.getTagCompound().removeTag("ench"); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } else { + ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + EntityPlayer player = (EntityPlayer) entityLiving; + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + entityLiving.renderBrokenItemStack(stack); + stack.shrink(1); + player.inventory.markDirty(); + //player.inventory.inventoryChanged = true; + } + } + + return true; + } + + @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 float getDestroySpeed(ItemStack stack, IBlockState state) + { + Material material = state.getMaterial(); + //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; + + if(material != Material.IRON && material != Material.ANVIL && material != Material.ROCK){ + return super.getDestroySpeed(stack, state); + } else { + return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1); + } + + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java new file mode 100644 index 00000000..6c3ae3ef --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java @@ -0,0 +1,237 @@ +package nmd.primal.forgecraft.items.tools; + +import com.google.common.collect.Sets; +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.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +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.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ThreadLocalRandom; + +public class AbstractShovel extends ItemSpade implements ToolNBT { + + private static final Set EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.CLAY, Blocks.DIRT, Blocks.FARMLAND, Blocks.GRASS, Blocks.GRAVEL, Blocks.MYCELIUM, Blocks.SAND, Blocks.SNOW, Blocks.SNOW_LAYER, Blocks.SOUL_SAND, Blocks.GRASS_PATH}); + private Item drop; + + public AbstractShovel(String name, Item.ToolMaterial material, Item damageDrop) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + this.drop = damageDrop; + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + Float returnFloat = 0.0F; + if(getHot(item)){ + returnFloat = returnFloat + 1.0F; + } + if(getEmerald(item)){ + returnFloat += 0.1F; + } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + return returnFloat; + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); + ((EntityPlayer) player).inventory.deleteStack(item); + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) + { + if(item.hasTagCompound()) + { + + tooltip.add(ChatFormatting.GRAY + "Upgrades: " + getModifiers(item) ); + if (getEmerald(item)) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + + @Override + public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.damageItem(1, attacker); + return true; + } else { + ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + + EntityPlayer player = (EntityPlayer) attacker; + World world = attacker.getEntityWorld(); + if(!world.isRemote) { + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + attacker.renderBrokenItemStack(stack); + stack.shrink(1); + return true; + } + return false; + } + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) + { + if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { + stack.getTagCompound().removeTag("ench"); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } else { + ItemStack dropStack = new ItemStack(this.drop, 1, stack.getItemDamage()); + NBTTagCompound copyNBT = stack.getTagCompound(); + dropStack.setTagCompound(copyNBT); + EntityPlayer player = (EntityPlayer) entityLiving; + PlayerHelper.spawnItemOnPlayer(world, player, dropStack); + entityLiving.renderBrokenItemStack(stack); + stack.shrink(1); + } + } + + return true; + } + + @Override + public float getDestroySpeed(ItemStack stack, IBlockState state) + { + for (String type : getToolClasses(stack)) + { + if (state.getBlock().isToolEffective(type, state)) + return efficiency; + } + return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java index 64354a2e..6ab055c2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java @@ -1,33 +1,13 @@ package nmd.primal.forgecraft.items.tools; -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 3/20/17. */ @@ -37,186 +17,6 @@ public class CustomAxe extends AbstractAxe implements ToolNBT { public CustomAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { super(name, material, damageDrop, damage, speed); - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - - - - if (getHot(item) != true) { - if (getModifiers(item) != 0) { - if ((getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ((getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ((getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ((getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ((getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ((getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0102F; - } - } - } - if (getHot(item) == true) { - return 1.0F; - } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } - } - - } - return 0.0F; - } - }); } @Override diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java index 33b6a053..789d3a26 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -1,49 +1,29 @@ package nmd.primal.forgecraft.items.tools; -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundCategory; 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.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; /** * Created by mminaie on 3/21/17. */ -public class CustomHoe extends ItemHoe implements ToolNBT { +public class CustomHoe extends AbstractHoe implements ToolNBT { private Item drop; public CustomHoe(String name, Item.ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop = damageDrop; + super(name, material, damageDrop); this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { /*** @@ -223,86 +203,6 @@ public class CustomHoe extends ItemHoe implements ToolNBT { }); } - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - - } - @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { @@ -330,95 +230,4 @@ public class CustomHoe extends ItemHoe implements ToolNBT { return false; } - @Override - protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) - { - worldIn.playSound(player, pos, SoundEvents.ITEM_HOE_TILL, SoundCategory.BLOCKS, 1.0F, 1.0F); - - if (!worldIn.isRemote) - { - worldIn.setBlockState(pos, state, 11); - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, player); - } else { - ItemStack dropStack = new ItemStack(drop, 1); - dropStack.setItemDamage(stack.getItemDamage()); - dropStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound copyNBT; - copyNBT = stack.getSubCompound("tags").copy(); - dropStack.setTagCompound(copyNBT); - PlayerHelper.spawnItemOnPlayer(worldIn, player, dropStack); - player.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - } - - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - - @SideOnly(Side.CLIENT) - @Override - public boolean hasEffect(ItemStack stack) - { - return false; - } - - @Override - public boolean isRepairable() - { - return false; - } - - public int getItemEnchantability(ItemStack stack) - { - return 0; - } - } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index 239fa0ba..c725e5a9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -1,309 +1,22 @@ package nmd.primal.forgecraft.items.tools; -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 3/14/17. */ -public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ +public class CustomPickaxe extends AbstractPickaxe implements ToolNBT{ private Item drop; public CustomPickaxe(String name, Item.ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - //this.toolClass = "pickaxe"; - - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - - if (getHot(item) == false) { - if (getModifiers(item) != 0) { - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2) ) { - return 0.0102F; - } - } - } - if (getHot(item) == true) { - return 1.0F; - } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } - } - } - return 0.0F; - } - }); - } - - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - //item.setItemDamage(item.getMaxDamage()-2); - - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); - if(item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } + super(name, material, damageDrop); } @Override @@ -333,87 +46,4 @@ public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ return false; } - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - player.inventory.markDirty(); - //player.inventory.inventoryChanged = true; - } - } - - return true; - } - - @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 float getDestroySpeed(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - - if(material != Material.IRON && material != Material.ANVIL && material != Material.ROCK){ - return super.getDestroySpeed(stack, state); - } else { - return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1); - } - - } - } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java index 7e71ec28..977e794f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -1,308 +1,20 @@ package nmd.primal.forgecraft.items.tools; -import com.google.common.collect.Sets; -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.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.List; -import java.util.Set; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 3/21/17. */ -public class CustomShovel extends ItemSpade implements ToolNBT { - - private static final Set EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.CLAY, Blocks.DIRT, Blocks.FARMLAND, Blocks.GRASS, Blocks.GRAVEL, Blocks.MYCELIUM, Blocks.SAND, Blocks.SNOW, Blocks.SNOW_LAYER, Blocks.SOUL_SAND, Blocks.GRASS_PATH}); - private Item drop; +public class CustomShovel extends AbstractShovel implements ToolNBT { public CustomShovel(String name, Item.ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - - if (getHot(item) == false) { - if (getModifiers(item) != 0) { - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2) ) { - return 0.0102F; - } - } - } - if (getHot(item) == true) { - return 1.0F; - } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } - } - } - return 0.0F; - } - }); - } - - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(item.hasTagCompound()) - { - - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } + super(name, material, damageDrop); } @Override @@ -331,82 +43,4 @@ public class CustomShovel extends ItemSpade implements ToolNBT { return false; } - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiency; - } - return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F; - } - - @SideOnly(Side.CLIENT) - @Override - public boolean hasEffect(ItemStack stack) - { - return false; - } - - @Override - public boolean isRepairable() - { - return false; - } - - public int getItemEnchantability(ItemStack stack) - { - return 0; - } - } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java index 87bc1cfe..293efd80 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java @@ -3,25 +3,14 @@ package nmd.primal.forgecraft.items.tools.bronze; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.common.helper.PlayerHelper; import nmd.primal.forgecraft.init.ModConfig; import nmd.primal.forgecraft.items.tools.AbstractAxe; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 6/25/17. */ @@ -31,46 +20,6 @@ public class BronzeAxe extends AbstractAxe implements ToolNBT { public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { super(name, material, damageDrop, damage, speed); - - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - - if (item.hasTagCompound()) { - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); } @@ -78,7 +27,6 @@ public class BronzeAxe extends AbstractAxe implements ToolNBT { public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); //System.out.println(world.getBlockState(pos).getBlock()); if(itemstack.getItem() instanceof BronzeAxe){ if( getEmerald(itemstack)){ diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java index c94f6379..55e312b2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java @@ -1,88 +1,29 @@ package nmd.primal.forgecraft.items.tools.bronze; -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundCategory; 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.common.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.CustomHoe; +import nmd.primal.forgecraft.items.tools.AbstractHoe; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; /** * Created by mminaie on 3/21/17. */ public class BronzeHoe extends AbstractHoe implements ToolNBT { - Item drop; - - public BronzeHoe(String name, Item.ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); + public BronzeHoe(String name, ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); } @Override @@ -102,10 +43,10 @@ public class BronzeHoe extends AbstractHoe implements ToolNBT { /*if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); //System.out.println(itemstack.getEnchantmentTagList()); - } + }*/ if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - }*/ + } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java index 700a118b..6bcc5a5f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java @@ -1,170 +1,26 @@ package nmd.primal.forgecraft.items.tools.bronze; -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.common.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractPickaxe; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 3/14/17. */ -public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ +public class BronzePickaxe extends AbstractPickaxe implements ToolNBT { private Item drop; public BronzePickaxe(String name, ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - //this.toolClass = "pickaxe"; - - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); + super(name, material, damageDrop); } - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(!item.isEmpty()) - { - if (item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - int lapisOutput = Integer.valueOf(ModConfig.Features.BRONZE_LAPIS_MULTIPLIER) ; - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + Integer.toString(lapisOutput*1)); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - } - } @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) @@ -185,89 +41,8 @@ public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ } } } - return false; } - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - - @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 float getDestroySpeed(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - - if(material != Material.IRON && material != Material.ANVIL && material != Material.ROCK){ - return super.getDestroySpeed(stack, state); - } else { - return this.efficiency + 1; - } - - } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java index 2ef6518e..8e16a29d 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java @@ -1,177 +1,29 @@ package nmd.primal.forgecraft.items.tools.bronze; -import com.google.common.collect.Sets; -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.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; -import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; 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.common.helper.PlayerHelper; -import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractShovel; import nmd.primal.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; -import java.util.List; -import java.util.Set; -import java.util.concurrent.ThreadLocalRandom; - /** * Created by mminaie on 3/21/17. */ -public class BronzeShovel extends ItemSpade implements ToolNBT { - - private static final Set EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.CLAY, Blocks.DIRT, Blocks.FARMLAND, Blocks.GRASS, Blocks.GRAVEL, Blocks.MYCELIUM, Blocks.SAND, Blocks.SNOW, Blocks.SNOW_LAYER, Blocks.SOUL_SAND, Blocks.GRASS_PATH}); -Item drop; +public class BronzeShovel extends AbstractShovel implements ToolNBT { public BronzeShovel(String name, ToolMaterial material, Item damageDrop) { - super(material); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - this.drop=damageDrop; - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) - { - if (item.hasTagCompound()) { - - - if (getModifiers(item) != 0) { - if (getEmerald(item)) { - return 0.1F; - } - - if (getDiamondLevel(item) == 1) { - return 0.2F; - } - - if ( getRedstoneLevel(item) == 1) { - return 0.3F; - } - - if (getLapisLevel(item) == 1) { - return 0.4F; - } - } - if (getModifiers(item) == 0) { - return 0.0F; - } - } - return 0.0F; - } - }); + super(name, material, damageDrop); } - public static boolean isHidden() - { - return false; - } - - @Override - public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { - - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - /*setHot(item, false); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0);*/ - } - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if(!world.isRemote) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - - } - if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ - PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(this.drop, 1)); - ((EntityPlayer) player).inventory.deleteStack(item); - } - } - } - - //public void onItemTooltip(ItemTooltipEvent event){ - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(!item.isEmpty()) - { - if (item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + Integer.toString(ModConfig.Features.BRONZE_LAPIS_MULTIPLIER)); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); - } - } - } @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); if(itemstack.getItem() instanceof BronzeShovel){ if( getEmerald(itemstack)){ @@ -186,55 +38,6 @@ Item drop; return false; } - @Override - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.damageItem(1, attacker); - return true; - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - - EntityPlayer player = (EntityPlayer) attacker; - World world = attacker.getEntityWorld(); - if(!world.isRemote) { - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - attacker.renderBrokenItemStack(stack); - stack.shrink(1); - return true; - } - return false; - } - } - - @Override - public boolean onBlockDestroyed(ItemStack stack, World world, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!world.isRemote && (double)state.getBlockHardness(world, pos) != 0.0D) - { - if(stack.getMaxDamage() - stack.getItemDamage() >1 ) { - stack.getTagCompound().removeTag("ench"); - if(getDiamondLevel(stack) > 0) { - if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { - stack.damageItem(1, entityLiving); - } - } else stack.damageItem(1, entityLiving); - } else { - ItemStack dropStack = new ItemStack(drop, 1, stack.getItemDamage()); - NBTTagCompound copyNBT = stack.getTagCompound(); - dropStack.setTagCompound(copyNBT); - EntityPlayer player = (EntityPlayer) entityLiving; - PlayerHelper.spawnItemOnPlayer(world, player, dropStack); - entityLiving.renderBrokenItemStack(stack); - stack.shrink(1); - } - } - - return true; - } - @Override public float getDestroySpeed(ItemStack stack, IBlockState state) { @@ -246,22 +49,4 @@ Item drop; return this.efficiency + 1; } - @SideOnly(Side.CLIENT) - @Override - public boolean hasEffect(ItemStack stack) - { - return false; - } - - @Override - public boolean isRepairable() - { - return false; - } - - public int getItemEnchantability(ItemStack stack) - { - return 0; - } - } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java new file mode 100644 index 00000000..85d2cc26 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java @@ -0,0 +1,63 @@ +package nmd.primal.forgecraft.items.tools.copper; + +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractAxe; +import nmd.primal.forgecraft.util.ToolNBT; + +/** + * Created by mminaie on 6/25/17. + */ +public class CopperAxe extends AbstractAxe implements ToolNBT { + + Item drop; + + public CopperAxe(String name, ToolMaterial material, Item damageDrop, Integer damage, Float speed) { + super(name, material, damageDrop, damage, speed); + } + + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + //System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CopperAxe){ + if(ModConfig.Features.ENABLE_COPPER_EMERALD) { + if (getEmerald(itemstack)) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + } + /*if( getDiamondLevel(itemstack) > 0 ){ + itemstack.getItem().setHarvestLevel("pickaxe", 3); + } + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); + }*/ + } + } + + return false; + } + + @Override + public float getDestroySpeed(ItemStack stack, IBlockState state) + { + Material material = state.getMaterial(); + //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; + + if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ + return super.getDestroySpeed(stack, state); + } else { + return this.efficiency + 1; + } + + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java new file mode 100644 index 00000000..28af9b97 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java @@ -0,0 +1,45 @@ +package nmd.primal.forgecraft.items.tools.copper; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +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.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractHoe; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; + +/** + * Created by mminaie on 3/21/17. + */ +public class CopperHoe extends AbstractHoe implements ToolNBT { + + public CopperHoe(String name, ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); + + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + if(ModConfig.Features.ENABLE_COPPER_EMERALD) { + if (getEmerald(itemstack)) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + } + } + + return false; + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java new file mode 100644 index 00000000..a401c1d8 --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java @@ -0,0 +1,40 @@ +package nmd.primal.forgecraft.items.tools.copper; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractPickaxe; +import nmd.primal.forgecraft.util.ToolNBT; + +/** + * Created by mminaie on 3/14/17. + */ +public class CopperPickaxe extends AbstractPickaxe implements ToolNBT { + + private Item drop; + + public CopperPickaxe(String name, ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); + } + + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + if(ModConfig.Features.ENABLE_COPPER_EMERALD) { + if (getEmerald(itemstack)) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + } + } + return false; + } + + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java new file mode 100644 index 00000000..c6986b4a --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java @@ -0,0 +1,51 @@ +package nmd.primal.forgecraft.items.tools.copper; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import nmd.primal.forgecraft.init.ModConfig; +import nmd.primal.forgecraft.items.tools.AbstractShovel; +import nmd.primal.forgecraft.util.ToolNBT; + +/** + * Created by mminaie on 3/21/17. + */ +public class CopperShovel extends AbstractShovel implements ToolNBT { + + public CopperShovel(String name, ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); + } + + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + + if(itemstack.getItem() instanceof CopperShovel){ + if(ModConfig.Features.ENABLE_COPPER_EMERALD) { + if (getEmerald(itemstack)) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + } + } + } + + return false; + } + + @Override + public float getDestroySpeed(ItemStack stack, IBlockState state) + { + for (String type : getToolClasses(stack)) + { + if (state.getBlock().isToolEffective(type, state)) + return efficiency; + } + return this.efficiency + 1; + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java index 504d6d25..8bf94a80 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java @@ -15,7 +15,6 @@ import nmd.primal.forgecraft.crafting.ForgeCrafting; import nmd.primal.forgecraft.items.BaseMultiItem; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.util.ToolNBT; -import scala.Int; import static nmd.primal.core.api.PrimalAPI.randomCheck; import static nmd.primal.core.common.helper.FireHelper.makeSmoke; @@ -69,7 +68,7 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ } } if(this.iteration == 250){ - setHeat(this.getHeat()-50); + setHeat(this.getHeat()-25); } if (this.iteration == 300) { this.heatManager(this.getHeat(), state, this.getSlotStack(0), world, pos); diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.json b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.json new file mode 100644 index 00000000..4c0be917 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + } +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_1.json b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_1.json new file mode 100644 index 00000000..f69edd84 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_1.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_emerald" + } +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_2.json b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_2.json new file mode 100644 index 00000000..db6abd4c --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_2.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_diamond" + } +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_3.json b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_3.json new file mode 100644 index 00000000..ef1651d1 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_3.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_redstone" + } +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_4.json b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_4.json new file mode 100644 index 00000000..6e05bf4a --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_4.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_lapis" + } +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json index 7c0ad504..107500ca 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json @@ -7,11 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/axe/bronze/bronzeaxe_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/axe/bronze/bronzeaxe_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/axe/bronze/bronzeaxe_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/axe/bronze/bronzeaxe_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/axe/bronze/bronzeaxe_4"} - + {"predicate": {"type": 0.0001},"model": "forgecraft:item/axe/bronze/bronzeaxe_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/axe/bronze/bronzeaxe_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/axe/bronze/bronzeaxe_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/axe/bronze/bronzeaxe_1"} ] } diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxehead.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxehead.json index aa500686..e93e7f11 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxehead.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeaxehead.json @@ -7,14 +7,12 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_4"} - + {"predicate": {"type": 0.0001},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/axehead/bronze/bronzeaxehead_1"} ] } - diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoe.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoe.json index 2a91e897..ab04b365 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoe.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoe.json @@ -7,10 +7,11 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/hoe/bronze/bronzehoe_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/hoe/bronze/bronzehoe_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/hoe/bronze/bronzehoe_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/hoe/bronze/bronzehoe_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/hoe/bronze/bronzehoe_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/hoe/bronze/bronzehoe_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/hoe/bronze/bronzehoe_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/hoe/bronze/bronzehoe_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/hoe/bronze/bronzehoe_1"} + ] } diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoehead.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoehead.json index c04af984..76f6f4f1 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoehead.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzehoehead.json @@ -7,10 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/hoehead/bronze/bronzehoehead_1"} ] } diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json index da0069f2..feda72a5 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json @@ -7,10 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_1"} ] } \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxehead.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxehead.json index a027151c..9bab1008 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxehead.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzepickaxehead.json @@ -7,10 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxehead/bronze/bronzepickaxehead_1"} ] } \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json index ccf8b66a..4d085d92 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json @@ -7,10 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/shovel/bronze/bronzeshovel_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/shovel/bronze/bronzeshovel_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/shovel/bronze/bronzeshovel_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/shovel/bronze/bronzeshovel_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/shovel/bronze/bronzeshovel_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/shovel/bronze/bronzeshovel_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/shovel/bronze/bronzeshovel_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/shovel/bronze/bronzeshovel_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/shovel/bronze/bronzeshovel_1"} ] } \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovelhead.json b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovelhead.json index a27abef0..95e4d2ae 100644 --- a/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovelhead.json +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bronzeshovelhead.json @@ -7,10 +7,10 @@ }, "overrides": [ {"predicate": {"type": 0.0},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_0"}, - {"predicate": {"type": 0.1},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_1"}, - {"predicate": {"type": 0.2},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_2"}, - {"predicate": {"type": 0.3},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_3"}, - {"predicate": {"type": 0.4},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_4"} + {"predicate": {"type": 0.0001},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_4"}, + {"predicate": {"type": 0.001},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_3"}, + {"predicate": {"type": 0.01},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_2"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/shovelhead/bronze/bronzeshovelhead_1"} ] } \ No newline at end of file From 2faa718deb89a1eba860bcafd156fa87e83a964c Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Sun, 30 Sep 2018 14:30:47 -0400 Subject: [PATCH 04/34] tools range upgrades from 1-5 longbow fixed, reduced forge light level, forge really cools down now, chunks dont read upgrades, casting form works, anvil can cool down items stored in its inventory, --- exampleModifiers.xlsx | Bin 0 -> 36703 bytes kfc/To-Dos.md | 29 +- kfc/gradle.properties | 2 +- .../nmd/primal/forgecraft/CommonEvents.java | 128 ++--- .../java/nmd/primal/forgecraft/ModInfo.java | 2 +- .../blocks/machine/CastingForm.java | 12 +- .../forgecraft/crafting/AnvilCrafting.java | 1 - .../forgecraft/crafting/CastingCrafting.java | 2 +- .../nmd/primal/forgecraft/init/ModConfig.java | 28 +- .../primal/forgecraft/init/ModCrafting.java | 514 +++++++++--------- .../nmd/primal/forgecraft/init/ModItems.java | 84 ++- .../items/parts/SimpleToolPart.java | 141 ----- .../forgecraft/items/parts/ToolPart.java | 43 +- .../forgecraft/items/tools/AbstractAxe.java | 14 +- .../forgecraft/items/tools/AbstractHoe.java | 71 ++- .../items/tools/AbstractPickaxe.java | 7 +- .../items/tools/AbstractShovel.java | 9 +- .../forgecraft/items/tools/CustomAxe.java | 2 - .../forgecraft/items/tools/CustomHoe.java | 186 ------- .../forgecraft/items/tools/CustomPickaxe.java | 3 - .../forgecraft/items/tools/CustomShovel.java | 3 +- .../items/tools/bronze/BronzeAxe.java | 61 --- .../items/tools/bronze/BronzeHoe.java | 56 -- .../items/tools/bronze/BronzePickaxe.java | 48 -- .../items/tools/bronze/BronzeShovel.java | 52 -- .../items/tools/copper/CopperAxe.java | 63 --- .../items/tools/copper/CopperHoe.java | 45 -- .../items/tools/copper/CopperPickaxe.java | 40 -- .../items/tools/copper/CopperShovel.java | 51 -- .../primal/forgecraft/tiles/TileAnvil.java | 31 +- .../primal/forgecraft/util/AnvilHandler.java | 50 +- .../forgecraft/util/ToolMaterialMap.java | 29 + .../primal/forgecraft/util/ToolMaterials.java | 10 - .../assets/forgecraft/lang/en_us.lang | 26 +- .../models/item/axe/bronze/assets1.sh | 28 + .../item/axe/bronze/bronzeaxe_0.0001.json | 8 + .../item/axe/bronze/bronzeaxe_0.001.json | 8 + .../item/axe/bronze/bronzeaxe_0.01.json | 8 + .../models/item/axe/bronze/bronzeaxe_0.1.json | 8 + .../models/item/axe/bronze/bronzeaxe_0.json | 4 +- .../models/item/axe/bronze/bronzeaxe_1.json | 4 +- .../models/item/axe/bronze/bronzeaxe_2.json | 8 - .../models/item/axe/bronze/bronzeaxe_3.json | 8 - .../models/item/axe/bronze/bronzeaxe_4.json | 8 - .../models/item/axe/clean_iron/assets3.sh | 49 ++ .../axe/clean_iron/clean_ironaxe_0.0001.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0002.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0003.json | 8 + .../axe/clean_iron/clean_ironaxe_0.001.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0011.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0012.json | 8 + .../axe/clean_iron/clean_ironaxe_0.002.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0021.json | 8 + .../axe/clean_iron/clean_ironaxe_0.003.json | 8 + .../axe/clean_iron/clean_ironaxe_0.01.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0101.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0102.json | 8 + .../axe/clean_iron/clean_ironaxe_0.011.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0111.json | 8 + .../axe/clean_iron/clean_ironaxe_0.012.json | 8 + .../axe/clean_iron/clean_ironaxe_0.02.json | 8 + .../axe/clean_iron/clean_ironaxe_0.0201.json | 8 + .../axe/clean_iron/clean_ironaxe_0.021.json | 8 + .../axe/clean_iron/clean_ironaxe_0.03.json | 8 + .../axe/clean_iron/clean_ironaxe_0.1.json | 8 + .../axe/clean_iron/clean_ironaxe_0.101.json | 8 + .../axe/clean_iron/clean_ironaxe_0.102.json | 8 + .../axe/clean_iron/clean_ironaxe_0.11.json | 8 + .../axe/clean_iron/clean_ironaxe_0.111.json | 8 + .../axe/clean_iron/clean_ironaxe_0.12.json | 8 + .../item/axe/clean_iron/clean_ironaxe_0.json | 8 + .../item/axe/clean_iron/clean_ironaxe_1.json | 8 + .../item/axe/clean_iron/cleanironaxe_0.json | 8 - .../item/axe/clean_iron/cleanironaxe_1.json | 8 - .../item/axe/clean_iron/cleanironaxe_10.json | 8 - .../item/axe/clean_iron/cleanironaxe_11.json | 8 - .../item/axe/clean_iron/cleanironaxe_12.json | 8 - .../item/axe/clean_iron/cleanironaxe_13.json | 8 - .../item/axe/clean_iron/cleanironaxe_14.json | 8 - .../item/axe/clean_iron/cleanironaxe_15.json | 8 - .../item/axe/clean_iron/cleanironaxe_16.json | 8 - .../item/axe/clean_iron/cleanironaxe_17.json | 8 - .../item/axe/clean_iron/cleanironaxe_18.json | 8 - .../item/axe/clean_iron/cleanironaxe_19.json | 8 - .../item/axe/clean_iron/cleanironaxe_2.json | 8 - .../item/axe/clean_iron/cleanironaxe_20.json | 8 - .../item/axe/clean_iron/cleanironaxe_21.json | 8 - .../item/axe/clean_iron/cleanironaxe_3.json | 8 - .../item/axe/clean_iron/cleanironaxe_4.json | 8 - .../item/axe/clean_iron/cleanironaxe_5.json | 8 - .../item/axe/clean_iron/cleanironaxe_6.json | 8 - .../item/axe/clean_iron/cleanironaxe_7.json | 8 - .../item/axe/clean_iron/cleanironaxe_8.json | 8 - .../item/axe/clean_iron/cleanironaxe_9.json | 8 - .../models/item/axe/copper/assets1.sh | 28 + .../item/axe/copper/copperaxe_0.0001.json | 8 + .../item/axe/copper/copperaxe_0.001.json | 8 + .../item/axe/copper/copperaxe_0.01.json | 8 + .../models/item/axe/copper/copperaxe_0.1.json | 8 + .../models/item/axe/copper/copperaxe_0.json | 4 +- .../models/item/axe/copper/copperaxe_1.json | 4 +- .../models/item/axe/copper/copperaxe_2.json | 8 - .../models/item/axe/copper/copperaxe_3.json | 8 - .../models/item/axe/copper/copperaxe_4.json | 8 - .../models/item/axe/iron/assets2.sh | 36 ++ .../models/item/axe/iron/ironaxe_0.0001.json | 8 + .../models/item/axe/iron/ironaxe_0.0002.json | 8 + .../models/item/axe/iron/ironaxe_0.001.json | 8 + .../models/item/axe/iron/ironaxe_0.0011.json | 8 + .../models/item/axe/iron/ironaxe_0.002.json | 8 + .../models/item/axe/iron/ironaxe_0.01.json | 8 + .../models/item/axe/iron/ironaxe_0.0101.json | 8 + .../models/item/axe/iron/ironaxe_0.011.json | 8 + .../models/item/axe/iron/ironaxe_0.02.json | 8 + .../models/item/axe/iron/ironaxe_0.1.json | 8 + .../models/item/axe/iron/ironaxe_0.101.json | 8 + .../models/item/axe/iron/ironaxe_0.11.json | 8 + .../models/item/axe/iron/ironaxe_0.json | 4 +- .../models/item/axe/iron/ironaxe_1.json | 4 +- .../models/item/axe/iron/ironaxe_10.json | 8 - .../models/item/axe/iron/ironaxe_11.json | 8 - .../models/item/axe/iron/ironaxe_12.json | 8 - .../models/item/axe/iron/ironaxe_13.json | 8 - .../models/item/axe/iron/ironaxe_14.json | 8 - .../models/item/axe/iron/ironaxe_15.json | 8 - .../models/item/axe/iron/ironaxe_16.json | 8 - .../models/item/axe/iron/ironaxe_17.json | 8 - .../models/item/axe/iron/ironaxe_18.json | 8 - .../models/item/axe/iron/ironaxe_19.json | 8 - .../models/item/axe/iron/ironaxe_2.json | 8 - .../models/item/axe/iron/ironaxe_20.json | 8 - .../models/item/axe/iron/ironaxe_21.json | 8 - .../models/item/axe/iron/ironaxe_3.json | 8 - .../models/item/axe/iron/ironaxe_4.json | 8 - .../models/item/axe/iron/ironaxe_5.json | 8 - .../models/item/axe/iron/ironaxe_6.json | 8 - .../models/item/axe/iron/ironaxe_7.json | 8 - .../models/item/axe/iron/ironaxe_8.json | 8 - .../models/item/axe/iron/ironaxe_9.json | 8 - .../models/item/axe/steel/assets4.sh | 68 +++ .../item/axe/steel/steelaxe_0.0001.json | 8 + .../item/axe/steel/steelaxe_0.0002.json | 8 + .../item/axe/steel/steelaxe_0.0003.json | 8 + .../item/axe/steel/steelaxe_0.0004.json | 8 + .../models/item/axe/steel/steelaxe_0.001.json | 8 + .../item/axe/steel/steelaxe_0.0011.json | 8 + .../item/axe/steel/steelaxe_0.0012.json | 8 + .../item/axe/steel/steelaxe_0.0013.json | 8 + .../models/item/axe/steel/steelaxe_0.002.json | 8 + .../item/axe/steel/steelaxe_0.0021.json | 8 + .../item/axe/steel/steelaxe_0.0022.json | 8 + .../models/item/axe/steel/steelaxe_0.003.json | 8 + .../item/axe/steel/steelaxe_0.0031.json | 8 + .../models/item/axe/steel/steelaxe_0.004.json | 8 + .../models/item/axe/steel/steelaxe_0.01.json | 8 + .../item/axe/steel/steelaxe_0.0101.json | 8 + .../item/axe/steel/steelaxe_0.0102.json | 8 + .../item/axe/steel/steelaxe_0.0103.json | 8 + .../models/item/axe/steel/steelaxe_0.011.json | 8 + .../item/axe/steel/steelaxe_0.0111.json | 8 + .../item/axe/steel/steelaxe_0.0112.json | 8 + .../models/item/axe/steel/steelaxe_0.012.json | 8 + .../item/axe/steel/steelaxe_0.0121.json | 8 + .../models/item/axe/steel/steelaxe_0.013.json | 8 + .../models/item/axe/steel/steelaxe_0.02.json | 8 + .../item/axe/steel/steelaxe_0.0201.json | 8 + .../item/axe/steel/steelaxe_0.0202.json | 8 + .../models/item/axe/steel/steelaxe_0.021.json | 8 + .../item/axe/steel/steelaxe_0.0211.json | 8 + .../models/item/axe/steel/steelaxe_0.022.json | 8 + .../models/item/axe/steel/steelaxe_0.03.json | 8 + .../item/axe/steel/steelaxe_0.0301.json | 8 + .../models/item/axe/steel/steelaxe_0.031.json | 8 + .../models/item/axe/steel/steelaxe_0.04.json | 8 + .../models/item/axe/steel/steelaxe_0.1.json | 8 + .../models/item/axe/steel/steelaxe_0.101.json | 8 + .../models/item/axe/steel/steelaxe_0.102.json | 8 + .../models/item/axe/steel/steelaxe_0.103.json | 8 + .../models/item/axe/steel/steelaxe_0.11.json | 8 + .../models/item/axe/steel/steelaxe_0.111.json | 8 + .../models/item/axe/steel/steelaxe_0.112.json | 8 + .../models/item/axe/steel/steelaxe_0.12.json | 8 + .../models/item/axe/steel/steelaxe_0.121.json | 8 + .../models/item/axe/steel/steelaxe_0.13.json | 8 + .../models/item/axe/steel/steelaxe_0.json | 4 +- .../models/item/axe/steel/steelaxe_1.json | 4 +- .../models/item/axe/steel/steelaxe_10.json | 8 - .../models/item/axe/steel/steelaxe_11.json | 8 - .../models/item/axe/steel/steelaxe_12.json | 8 - .../models/item/axe/steel/steelaxe_13.json | 8 - .../models/item/axe/steel/steelaxe_14.json | 8 - .../models/item/axe/steel/steelaxe_15.json | 8 - .../models/item/axe/steel/steelaxe_16.json | 8 - .../models/item/axe/steel/steelaxe_17.json | 8 - .../models/item/axe/steel/steelaxe_18.json | 8 - .../models/item/axe/steel/steelaxe_19.json | 8 - .../models/item/axe/steel/steelaxe_2.json | 8 - .../models/item/axe/steel/steelaxe_20.json | 8 - .../models/item/axe/steel/steelaxe_21.json | 8 - .../models/item/axe/steel/steelaxe_3.json | 8 - .../models/item/axe/steel/steelaxe_4.json | 8 - .../models/item/axe/steel/steelaxe_5.json | 8 - .../models/item/axe/steel/steelaxe_6.json | 8 - .../models/item/axe/steel/steelaxe_7.json | 8 - .../models/item/axe/steel/steelaxe_8.json | 8 - .../models/item/axe/steel/steelaxe_9.json | 8 - .../models/item/axe/wootz/assets5.sh | 92 ++++ .../item/axe/wootz/wootzaxe_0.0001.json | 8 + .../item/axe/wootz/wootzaxe_0.0002.json | 8 + .../item/axe/wootz/wootzaxe_0.0003.json | 8 + .../item/axe/wootz/wootzaxe_0.0004.json | 8 + .../item/axe/wootz/wootzaxe_0.0005.json | 8 + .../models/item/axe/wootz/wootzaxe_0.001.json | 8 + .../item/axe/wootz/wootzaxe_0.0011.json | 8 + .../item/axe/wootz/wootzaxe_0.0012.json | 8 + .../item/axe/wootz/wootzaxe_0.0013.json | 8 + .../item/axe/wootz/wootzaxe_0.0014.json | 8 + .../models/item/axe/wootz/wootzaxe_0.002.json | 8 + .../item/axe/wootz/wootzaxe_0.0021.json | 8 + .../item/axe/wootz/wootzaxe_0.0022.json | 8 + .../item/axe/wootz/wootzaxe_0.0023.json | 8 + .../models/item/axe/wootz/wootzaxe_0.003.json | 8 + .../item/axe/wootz/wootzaxe_0.0031.json | 8 + .../item/axe/wootz/wootzaxe_0.0032.json | 8 + .../models/item/axe/wootz/wootzaxe_0.004.json | 8 + .../item/axe/wootz/wootzaxe_0.0041.json | 8 + .../models/item/axe/wootz/wootzaxe_0.005.json | 8 + .../models/item/axe/wootz/wootzaxe_0.01.json | 8 + .../item/axe/wootz/wootzaxe_0.0101.json | 8 + .../item/axe/wootz/wootzaxe_0.0102.json | 8 + .../item/axe/wootz/wootzaxe_0.0103.json | 8 + .../item/axe/wootz/wootzaxe_0.0104.json | 8 + .../models/item/axe/wootz/wootzaxe_0.011.json | 8 + .../item/axe/wootz/wootzaxe_0.0111.json | 8 + .../item/axe/wootz/wootzaxe_0.0112.json | 8 + .../item/axe/wootz/wootzaxe_0.0113.json | 8 + .../models/item/axe/wootz/wootzaxe_0.012.json | 8 + .../item/axe/wootz/wootzaxe_0.0121.json | 8 + .../item/axe/wootz/wootzaxe_0.0122.json | 8 + .../models/item/axe/wootz/wootzaxe_0.013.json | 8 + .../item/axe/wootz/wootzaxe_0.0131.json | 8 + .../models/item/axe/wootz/wootzaxe_0.014.json | 8 + .../models/item/axe/wootz/wootzaxe_0.02.json | 8 + .../item/axe/wootz/wootzaxe_0.0201.json | 8 + .../item/axe/wootz/wootzaxe_0.0202.json | 8 + .../item/axe/wootz/wootzaxe_0.0203.json | 8 + .../models/item/axe/wootz/wootzaxe_0.021.json | 8 + .../item/axe/wootz/wootzaxe_0.0211.json | 8 + .../item/axe/wootz/wootzaxe_0.0212.json | 8 + .../models/item/axe/wootz/wootzaxe_0.022.json | 8 + .../item/axe/wootz/wootzaxe_0.0221.json | 8 + .../models/item/axe/wootz/wootzaxe_0.03.json | 8 + .../item/axe/wootz/wootzaxe_0.0301.json | 8 + .../item/axe/wootz/wootzaxe_0.0302.json | 8 + .../models/item/axe/wootz/wootzaxe_0.031.json | 8 + .../item/axe/wootz/wootzaxe_0.0311.json | 8 + .../models/item/axe/wootz/wootzaxe_0.04.json | 8 + .../item/axe/wootz/wootzaxe_0.0401.json | 8 + .../models/item/axe/wootz/wootzaxe_0.041.json | 8 + .../models/item/axe/wootz/wootzaxe_0.05.json | 8 + .../models/item/axe/wootz/wootzaxe_0.1.json | 8 + .../models/item/axe/wootz/wootzaxe_0.101.json | 8 + .../models/item/axe/wootz/wootzaxe_0.102.json | 8 + .../models/item/axe/wootz/wootzaxe_0.103.json | 8 + .../models/item/axe/wootz/wootzaxe_0.104.json | 8 + .../models/item/axe/wootz/wootzaxe_0.11.json | 8 + .../models/item/axe/wootz/wootzaxe_0.111.json | 8 + .../models/item/axe/wootz/wootzaxe_0.112.json | 8 + .../models/item/axe/wootz/wootzaxe_0.113.json | 8 + .../models/item/axe/wootz/wootzaxe_0.12.json | 8 + .../models/item/axe/wootz/wootzaxe_0.121.json | 8 + .../models/item/axe/wootz/wootzaxe_0.122.json | 8 + .../models/item/axe/wootz/wootzaxe_0.13.json | 8 + .../models/item/axe/wootz/wootzaxe_0.131.json | 8 + .../models/item/axe/wootz/wootzaxe_0.14.json | 8 + .../models/item/axe/wootz/wootzaxe_0.json | 4 +- .../models/item/axe/wootz/wootzaxe_1.json | 4 +- .../models/item/axe/wootz/wootzaxe_10.json | 8 - .../models/item/axe/wootz/wootzaxe_11.json | 8 - .../models/item/axe/wootz/wootzaxe_12.json | 8 - .../models/item/axe/wootz/wootzaxe_13.json | 8 - .../models/item/axe/wootz/wootzaxe_14.json | 8 - .../models/item/axe/wootz/wootzaxe_15.json | 8 - .../models/item/axe/wootz/wootzaxe_16.json | 8 - .../models/item/axe/wootz/wootzaxe_17.json | 8 - .../models/item/axe/wootz/wootzaxe_18.json | 8 - .../models/item/axe/wootz/wootzaxe_19.json | 8 - .../models/item/axe/wootz/wootzaxe_2.json | 8 - .../models/item/axe/wootz/wootzaxe_20.json | 8 - .../models/item/axe/wootz/wootzaxe_21.json | 8 - .../models/item/axe/wootz/wootzaxe_3.json | 8 - .../models/item/axe/wootz/wootzaxe_4.json | 8 - .../models/item/axe/wootz/wootzaxe_5.json | 8 - .../models/item/axe/wootz/wootzaxe_6.json | 8 - .../models/item/axe/wootz/wootzaxe_7.json | 8 - .../models/item/axe/wootz/wootzaxe_8.json | 8 - .../models/item/axe/wootz/wootzaxe_9.json | 8 - .../models/item/axehead/bronze/assets1.sh | 28 + .../axehead/bronze/bronzeaxehead_0.0001.json | 8 + .../axehead/bronze/bronzeaxehead_0.001.json | 8 + .../axehead/bronze/bronzeaxehead_0.01.json | 8 + .../axehead/bronze/bronzeaxehead_0.1.json | 8 + .../item/axehead/bronze/bronzeaxehead_0.json | 4 +- .../item/axehead/bronze/bronzeaxehead_1.json | 4 +- .../item/axehead/bronze/bronzeaxehead_2.json | 8 - .../item/axehead/bronze/bronzeaxehead_3.json | 8 - .../item/axehead/bronze/bronzeaxehead_4.json | 8 - .../models/item/axehead/clean_iron/assets3.sh | 49 ++ .../clean_iron/clean_ironaxehead_0.0001.json | 8 + .../clean_iron/clean_ironaxehead_0.0002.json | 8 + .../clean_iron/clean_ironaxehead_0.0003.json | 8 + .../clean_iron/clean_ironaxehead_0.001.json | 8 + .../clean_iron/clean_ironaxehead_0.0011.json | 8 + .../clean_iron/clean_ironaxehead_0.0012.json | 8 + .../clean_iron/clean_ironaxehead_0.002.json | 8 + .../clean_iron/clean_ironaxehead_0.0021.json | 8 + .../clean_iron/clean_ironaxehead_0.003.json | 8 + .../clean_iron/clean_ironaxehead_0.01.json | 8 + .../clean_iron/clean_ironaxehead_0.0101.json | 8 + .../clean_iron/clean_ironaxehead_0.0102.json | 8 + .../clean_iron/clean_ironaxehead_0.011.json | 8 + .../clean_iron/clean_ironaxehead_0.0111.json | 8 + .../clean_iron/clean_ironaxehead_0.012.json | 8 + .../clean_iron/clean_ironaxehead_0.02.json | 8 + .../clean_iron/clean_ironaxehead_0.0201.json | 8 + .../clean_iron/clean_ironaxehead_0.021.json | 8 + .../clean_iron/clean_ironaxehead_0.03.json | 8 + .../clean_iron/clean_ironaxehead_0.1.json | 8 + .../clean_iron/clean_ironaxehead_0.101.json | 8 + .../clean_iron/clean_ironaxehead_0.102.json | 8 + .../clean_iron/clean_ironaxehead_0.11.json | 8 + .../clean_iron/clean_ironaxehead_0.111.json | 8 + .../clean_iron/clean_ironaxehead_0.12.json | 8 + .../clean_iron/clean_ironaxehead_0.json | 8 + .../clean_iron/clean_ironaxehead_1.json | 8 + .../clean_iron/cleanironaxehead_0.json | 8 - .../clean_iron/cleanironaxehead_1.json | 8 - .../clean_iron/cleanironaxehead_10.json | 8 - .../clean_iron/cleanironaxehead_11.json | 8 - .../clean_iron/cleanironaxehead_12.json | 8 - .../clean_iron/cleanironaxehead_13.json | 8 - .../clean_iron/cleanironaxehead_14.json | 8 - .../clean_iron/cleanironaxehead_15.json | 8 - .../clean_iron/cleanironaxehead_16.json | 8 - .../clean_iron/cleanironaxehead_17.json | 8 - .../clean_iron/cleanironaxehead_18.json | 8 - .../clean_iron/cleanironaxehead_19.json | 8 - .../clean_iron/cleanironaxehead_2.json | 8 - .../clean_iron/cleanironaxehead_20.json | 8 - .../clean_iron/cleanironaxehead_21.json | 8 - .../clean_iron/cleanironaxehead_3.json | 8 - .../clean_iron/cleanironaxehead_4.json | 8 - .../clean_iron/cleanironaxehead_5.json | 8 - .../clean_iron/cleanironaxehead_6.json | 8 - .../clean_iron/cleanironaxehead_7.json | 8 - .../clean_iron/cleanironaxehead_8.json | 8 - .../clean_iron/cleanironaxehead_9.json | 8 - .../models/item/axehead/copper/assets1.sh | 28 + .../axehead/copper/copperaxehead_0.0001.json | 8 + .../axehead/copper/copperaxehead_0.001.json | 8 + .../axehead/copper/copperaxehead_0.01.json | 8 + .../axehead/copper/copperaxehead_0.1.json | 8 + .../item/axehead/copper/copperaxehead_0.json | 8 + .../item/axehead/copper/copperaxehead_1.json | 8 + .../models/item/axehead/iron/assets2.sh | 36 ++ .../item/axehead/iron/ironaxehead_0.0001.json | 8 + .../item/axehead/iron/ironaxehead_0.0002.json | 8 + .../item/axehead/iron/ironaxehead_0.001.json | 8 + .../item/axehead/iron/ironaxehead_0.0011.json | 8 + .../item/axehead/iron/ironaxehead_0.002.json | 8 + .../item/axehead/iron/ironaxehead_0.01.json | 8 + .../item/axehead/iron/ironaxehead_0.0101.json | 8 + .../item/axehead/iron/ironaxehead_0.011.json | 8 + .../item/axehead/iron/ironaxehead_0.02.json | 8 + .../item/axehead/iron/ironaxehead_0.1.json | 8 + .../item/axehead/iron/ironaxehead_0.101.json | 8 + .../item/axehead/iron/ironaxehead_0.11.json | 8 + .../item/axehead/iron/ironaxehead_0.json | 4 +- .../item/axehead/iron/ironaxehead_1.json | 4 +- .../item/axehead/iron/ironaxehead_10.json | 8 - .../item/axehead/iron/ironaxehead_11.json | 8 - .../item/axehead/iron/ironaxehead_12.json | 8 - .../item/axehead/iron/ironaxehead_13.json | 8 - .../item/axehead/iron/ironaxehead_14.json | 8 - .../item/axehead/iron/ironaxehead_15.json | 8 - .../item/axehead/iron/ironaxehead_16.json | 8 - .../item/axehead/iron/ironaxehead_17.json | 8 - .../item/axehead/iron/ironaxehead_18.json | 8 - .../item/axehead/iron/ironaxehead_19.json | 8 - .../item/axehead/iron/ironaxehead_2.json | 8 - .../item/axehead/iron/ironaxehead_20.json | 8 - .../item/axehead/iron/ironaxehead_21.json | 8 - .../item/axehead/iron/ironaxehead_3.json | 8 - .../item/axehead/iron/ironaxehead_4.json | 8 - .../item/axehead/iron/ironaxehead_5.json | 8 - .../item/axehead/iron/ironaxehead_6.json | 8 - .../item/axehead/iron/ironaxehead_7.json | 8 - .../item/axehead/iron/ironaxehead_8.json | 8 - .../item/axehead/iron/ironaxehead_9.json | 8 - .../models/item/axehead/steel/assets4.sh | 68 +++ .../axehead/steel/steelaxehead_0.0001.json | 8 + .../axehead/steel/steelaxehead_0.0002.json | 8 + .../axehead/steel/steelaxehead_0.0003.json | 8 + .../axehead/steel/steelaxehead_0.0004.json | 8 + .../axehead/steel/steelaxehead_0.001.json | 8 + .../axehead/steel/steelaxehead_0.0011.json | 8 + .../axehead/steel/steelaxehead_0.0012.json | 8 + .../axehead/steel/steelaxehead_0.0013.json | 8 + .../axehead/steel/steelaxehead_0.002.json | 8 + .../axehead/steel/steelaxehead_0.0021.json | 8 + .../axehead/steel/steelaxehead_0.0022.json | 8 + .../axehead/steel/steelaxehead_0.003.json | 8 + .../axehead/steel/steelaxehead_0.0031.json | 8 + .../axehead/steel/steelaxehead_0.004.json | 8 + .../item/axehead/steel/steelaxehead_0.01.json | 8 + .../axehead/steel/steelaxehead_0.0101.json | 8 + .../axehead/steel/steelaxehead_0.0102.json | 8 + .../axehead/steel/steelaxehead_0.0103.json | 8 + .../axehead/steel/steelaxehead_0.011.json | 8 + .../axehead/steel/steelaxehead_0.0111.json | 8 + .../axehead/steel/steelaxehead_0.0112.json | 8 + .../axehead/steel/steelaxehead_0.012.json | 8 + .../axehead/steel/steelaxehead_0.0121.json | 8 + .../axehead/steel/steelaxehead_0.013.json | 8 + .../item/axehead/steel/steelaxehead_0.02.json | 8 + .../axehead/steel/steelaxehead_0.0201.json | 8 + .../axehead/steel/steelaxehead_0.0202.json | 8 + .../axehead/steel/steelaxehead_0.021.json | 8 + .../axehead/steel/steelaxehead_0.0211.json | 8 + .../axehead/steel/steelaxehead_0.022.json | 8 + .../item/axehead/steel/steelaxehead_0.03.json | 8 + .../axehead/steel/steelaxehead_0.0301.json | 8 + .../axehead/steel/steelaxehead_0.031.json | 8 + .../item/axehead/steel/steelaxehead_0.04.json | 8 + .../item/axehead/steel/steelaxehead_0.1.json | 8 + .../axehead/steel/steelaxehead_0.101.json | 8 + .../axehead/steel/steelaxehead_0.102.json | 8 + .../axehead/steel/steelaxehead_0.103.json | 8 + .../item/axehead/steel/steelaxehead_0.11.json | 8 + .../axehead/steel/steelaxehead_0.111.json | 8 + .../axehead/steel/steelaxehead_0.112.json | 8 + .../item/axehead/steel/steelaxehead_0.12.json | 8 + .../axehead/steel/steelaxehead_0.121.json | 8 + .../item/axehead/steel/steelaxehead_0.13.json | 8 + .../item/axehead/steel/steelaxehead_0.json | 4 +- .../item/axehead/steel/steelaxehead_1.json | 4 +- .../item/axehead/steel/steelaxehead_10.json | 8 - .../item/axehead/steel/steelaxehead_11.json | 8 - .../item/axehead/steel/steelaxehead_12.json | 8 - .../item/axehead/steel/steelaxehead_13.json | 8 - .../item/axehead/steel/steelaxehead_14.json | 8 - .../item/axehead/steel/steelaxehead_15.json | 8 - .../item/axehead/steel/steelaxehead_16.json | 8 - .../item/axehead/steel/steelaxehead_17.json | 8 - .../item/axehead/steel/steelaxehead_18.json | 8 - .../item/axehead/steel/steelaxehead_19.json | 8 - .../item/axehead/steel/steelaxehead_2.json | 8 - .../item/axehead/steel/steelaxehead_20.json | 8 - .../item/axehead/steel/steelaxehead_21.json | 8 - .../item/axehead/steel/steelaxehead_3.json | 8 - .../item/axehead/steel/steelaxehead_4.json | 8 - .../item/axehead/steel/steelaxehead_5.json | 8 - .../item/axehead/steel/steelaxehead_6.json | 8 - .../item/axehead/steel/steelaxehead_7.json | 8 - .../item/axehead/steel/steelaxehead_8.json | 8 - .../item/axehead/steel/steelaxehead_9.json | 8 - .../models/item/axehead/wootz/assets5.sh | 92 ++++ .../axehead/wootz/wootzaxehead_0.0001.json | 8 + .../axehead/wootz/wootzaxehead_0.0002.json | 8 + .../axehead/wootz/wootzaxehead_0.0003.json | 8 + .../axehead/wootz/wootzaxehead_0.0004.json | 8 + .../axehead/wootz/wootzaxehead_0.0005.json | 8 + .../axehead/wootz/wootzaxehead_0.001.json | 8 + .../axehead/wootz/wootzaxehead_0.0011.json | 8 + .../axehead/wootz/wootzaxehead_0.0012.json | 8 + .../axehead/wootz/wootzaxehead_0.0013.json | 8 + .../axehead/wootz/wootzaxehead_0.0014.json | 8 + .../axehead/wootz/wootzaxehead_0.002.json | 8 + .../axehead/wootz/wootzaxehead_0.0021.json | 8 + .../axehead/wootz/wootzaxehead_0.0022.json | 8 + .../axehead/wootz/wootzaxehead_0.0023.json | 8 + .../axehead/wootz/wootzaxehead_0.003.json | 8 + .../axehead/wootz/wootzaxehead_0.0031.json | 8 + .../axehead/wootz/wootzaxehead_0.0032.json | 8 + .../axehead/wootz/wootzaxehead_0.004.json | 8 + .../axehead/wootz/wootzaxehead_0.0041.json | 8 + .../axehead/wootz/wootzaxehead_0.005.json | 8 + .../item/axehead/wootz/wootzaxehead_0.01.json | 8 + .../axehead/wootz/wootzaxehead_0.0101.json | 8 + .../axehead/wootz/wootzaxehead_0.0102.json | 8 + .../axehead/wootz/wootzaxehead_0.0103.json | 8 + .../axehead/wootz/wootzaxehead_0.0104.json | 8 + .../axehead/wootz/wootzaxehead_0.011.json | 8 + .../axehead/wootz/wootzaxehead_0.0111.json | 8 + .../axehead/wootz/wootzaxehead_0.0112.json | 8 + .../axehead/wootz/wootzaxehead_0.0113.json | 8 + .../axehead/wootz/wootzaxehead_0.012.json | 8 + .../axehead/wootz/wootzaxehead_0.0121.json | 8 + .../axehead/wootz/wootzaxehead_0.0122.json | 8 + .../axehead/wootz/wootzaxehead_0.013.json | 8 + .../axehead/wootz/wootzaxehead_0.0131.json | 8 + .../axehead/wootz/wootzaxehead_0.014.json | 8 + .../item/axehead/wootz/wootzaxehead_0.02.json | 8 + .../axehead/wootz/wootzaxehead_0.0201.json | 8 + .../axehead/wootz/wootzaxehead_0.0202.json | 8 + .../axehead/wootz/wootzaxehead_0.0203.json | 8 + .../axehead/wootz/wootzaxehead_0.021.json | 8 + .../axehead/wootz/wootzaxehead_0.0211.json | 8 + .../axehead/wootz/wootzaxehead_0.0212.json | 8 + .../axehead/wootz/wootzaxehead_0.022.json | 8 + .../axehead/wootz/wootzaxehead_0.0221.json | 8 + .../item/axehead/wootz/wootzaxehead_0.03.json | 8 + .../axehead/wootz/wootzaxehead_0.0301.json | 8 + .../axehead/wootz/wootzaxehead_0.0302.json | 8 + .../axehead/wootz/wootzaxehead_0.031.json | 8 + .../axehead/wootz/wootzaxehead_0.0311.json | 8 + .../item/axehead/wootz/wootzaxehead_0.04.json | 8 + .../axehead/wootz/wootzaxehead_0.0401.json | 8 + .../axehead/wootz/wootzaxehead_0.041.json | 8 + .../item/axehead/wootz/wootzaxehead_0.05.json | 8 + .../item/axehead/wootz/wootzaxehead_0.1.json | 8 + .../axehead/wootz/wootzaxehead_0.101.json | 8 + .../axehead/wootz/wootzaxehead_0.102.json | 8 + .../axehead/wootz/wootzaxehead_0.103.json | 8 + .../axehead/wootz/wootzaxehead_0.104.json | 8 + .../item/axehead/wootz/wootzaxehead_0.11.json | 8 + .../axehead/wootz/wootzaxehead_0.111.json | 8 + .../axehead/wootz/wootzaxehead_0.112.json | 8 + .../axehead/wootz/wootzaxehead_0.113.json | 8 + .../item/axehead/wootz/wootzaxehead_0.12.json | 8 + .../axehead/wootz/wootzaxehead_0.121.json | 8 + .../axehead/wootz/wootzaxehead_0.122.json | 8 + .../item/axehead/wootz/wootzaxehead_0.13.json | 8 + .../axehead/wootz/wootzaxehead_0.131.json | 8 + .../item/axehead/wootz/wootzaxehead_0.14.json | 8 + .../item/axehead/wootz/wootzaxehead_0.json | 4 +- .../item/axehead/wootz/wootzaxehead_1.json | 4 +- .../item/axehead/wootz/wootzaxehead_10.json | 8 - .../item/axehead/wootz/wootzaxehead_11.json | 8 - .../item/axehead/wootz/wootzaxehead_12.json | 8 - .../item/axehead/wootz/wootzaxehead_13.json | 8 - .../item/axehead/wootz/wootzaxehead_14.json | 8 - .../item/axehead/wootz/wootzaxehead_15.json | 8 - .../item/axehead/wootz/wootzaxehead_16.json | 8 - .../item/axehead/wootz/wootzaxehead_17.json | 8 - .../item/axehead/wootz/wootzaxehead_18.json | 8 - .../item/axehead/wootz/wootzaxehead_19.json | 8 - .../item/axehead/wootz/wootzaxehead_2.json | 8 - .../item/axehead/wootz/wootzaxehead_20.json | 8 - .../item/axehead/wootz/wootzaxehead_21.json | 8 - .../item/axehead/wootz/wootzaxehead_3.json | 8 - .../item/axehead/wootz/wootzaxehead_4.json | 8 - .../item/axehead/wootz/wootzaxehead_5.json | 8 - .../item/axehead/wootz/wootzaxehead_6.json | 8 - .../item/axehead/wootz/wootzaxehead_7.json | 8 - .../item/axehead/wootz/wootzaxehead_8.json | 8 - .../item/axehead/wootz/wootzaxehead_9.json | 8 - .../forgecraft/models/item/bronzeaxe.json | 16 +- .../forgecraft/models/item/bronzeaxehead.json | 11 +- .../forgecraft/models/item/bronzehoe.json | 11 +- .../forgecraft/models/item/bronzehoehead.json | 12 +- .../forgecraft/models/item/bronzepickaxe.json | 12 +- .../models/item/bronzepickaxehead.json | 12 +- .../forgecraft/models/item/bronzeshovel.json | 12 +- .../models/item/bronzeshovelhead.json | 12 +- .../forgecraft/models/item/cleanironaxe.json | 50 +- .../models/item/cleanironaxehead.json | 50 +- .../forgecraft/models/item/cleanironhoe.json | 50 +- .../models/item/cleanironhoehead.json | 50 +- .../models/item/cleanironpickaxe.json | 50 +- .../models/item/cleanironpickaxehead.json | 50 +- .../models/item/cleanironshovel.json | 50 +- .../models/item/cleanironshovelhead.json | 50 +- .../forgecraft/models/item/copperaxe.json | 19 + .../forgecraft/models/item/copperaxehead.json | 18 + .../forgecraft/models/item/coppergladius.json | 293 ++++++++++ .../forgecraft/models/item/copperhoe.json | 21 + .../forgecraft/models/item/copperhoehead.json | 21 + .../forgecraft/models/item/copperpickaxe.json | 17 + .../models/item/copperpickaxehead.json | 17 + .../forgecraft/models/item/coppershovel.json | 17 + .../models/item/coppershovelhead.json | 17 + .../forgecraft/models/item/e_particle.png | Bin 159 -> 0 bytes .../models/item/hoe/bronze/assets1.sh | 28 + .../item/hoe/bronze/bronzehoe_0.0001.json | 8 + .../item/hoe/bronze/bronzehoe_0.001.json | 8 + .../item/hoe/bronze/bronzehoe_0.01.json | 8 + .../models/item/hoe/bronze/bronzehoe_0.1.json | 8 + .../models/item/hoe/bronze/bronzehoe_0.json | 4 +- .../models/item/hoe/bronze/bronzehoe_1.json | 4 +- .../models/item/hoe/bronze/bronzehoe_2.json | 8 - .../models/item/hoe/bronze/bronzehoe_3.json | 8 - .../models/item/hoe/bronze/bronzehoe_4.json | 8 - .../models/item/hoe/clean_iron/assets3.sh | 49 ++ .../hoe/clean_iron/clean_ironhoe_0.0001.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0002.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0003.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.001.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0011.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0012.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.002.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0021.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.003.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.01.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0101.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0102.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.011.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0111.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.012.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.02.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.0201.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.021.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.03.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.1.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.101.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.102.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.11.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.111.json | 8 + .../hoe/clean_iron/clean_ironhoe_0.12.json | 8 + .../item/hoe/clean_iron/clean_ironhoe_0.json | 8 + .../item/hoe/clean_iron/clean_ironhoe_1.json | 8 + .../item/hoe/cleaniron/cleanironhoe_0.json | 8 - .../item/hoe/cleaniron/cleanironhoe_1.json | 8 - .../item/hoe/cleaniron/cleanironhoe_10.json | 8 - .../item/hoe/cleaniron/cleanironhoe_11.json | 8 - .../item/hoe/cleaniron/cleanironhoe_12.json | 8 - .../item/hoe/cleaniron/cleanironhoe_13.json | 8 - .../item/hoe/cleaniron/cleanironhoe_14.json | 8 - .../item/hoe/cleaniron/cleanironhoe_15.json | 8 - .../item/hoe/cleaniron/cleanironhoe_16.json | 8 - .../item/hoe/cleaniron/cleanironhoe_17.json | 8 - .../item/hoe/cleaniron/cleanironhoe_18.json | 8 - .../item/hoe/cleaniron/cleanironhoe_19.json | 8 - .../item/hoe/cleaniron/cleanironhoe_2.json | 8 - .../item/hoe/cleaniron/cleanironhoe_20.json | 8 - .../item/hoe/cleaniron/cleanironhoe_21.json | 8 - .../item/hoe/cleaniron/cleanironhoe_3.json | 8 - .../item/hoe/cleaniron/cleanironhoe_4.json | 8 - .../item/hoe/cleaniron/cleanironhoe_5.json | 8 - .../item/hoe/cleaniron/cleanironhoe_6.json | 8 - .../item/hoe/cleaniron/cleanironhoe_7.json | 8 - .../item/hoe/cleaniron/cleanironhoe_8.json | 8 - .../item/hoe/cleaniron/cleanironhoe_9.json | 8 - .../models/item/hoe/copper/assets1.sh | 28 + .../item/hoe/copper/copperhoe_0.0001.json | 8 + .../item/hoe/copper/copperhoe_0.001.json | 8 + .../item/hoe/copper/copperhoe_0.01.json | 8 + .../models/item/hoe/copper/copperhoe_0.1.json | 8 + .../models/item/hoe/copper/copperhoe_0.json | 8 + .../models/item/hoe/copper/copperhoe_1.json | 8 + .../models/item/hoe/iron/assets2.sh | 36 ++ .../models/item/hoe/iron/ironhoe_0.0001.json | 8 + .../models/item/hoe/iron/ironhoe_0.0002.json | 8 + .../models/item/hoe/iron/ironhoe_0.001.json | 8 + .../models/item/hoe/iron/ironhoe_0.0011.json | 8 + .../models/item/hoe/iron/ironhoe_0.002.json | 8 + .../models/item/hoe/iron/ironhoe_0.01.json | 8 + .../models/item/hoe/iron/ironhoe_0.0101.json | 8 + .../models/item/hoe/iron/ironhoe_0.011.json | 8 + .../models/item/hoe/iron/ironhoe_0.02.json | 8 + .../models/item/hoe/iron/ironhoe_0.1.json | 8 + .../models/item/hoe/iron/ironhoe_0.101.json | 8 + .../models/item/hoe/iron/ironhoe_0.11.json | 8 + .../models/item/hoe/iron/ironhoe_0.json | 4 +- .../models/item/hoe/iron/ironhoe_1.json | 4 +- .../models/item/hoe/iron/ironhoe_10.json | 8 - .../models/item/hoe/iron/ironhoe_11.json | 8 - .../models/item/hoe/iron/ironhoe_12.json | 8 - .../models/item/hoe/iron/ironhoe_13.json | 8 - .../models/item/hoe/iron/ironhoe_14.json | 8 - .../models/item/hoe/iron/ironhoe_15.json | 8 - .../models/item/hoe/iron/ironhoe_16.json | 8 - .../models/item/hoe/iron/ironhoe_17.json | 8 - .../models/item/hoe/iron/ironhoe_18.json | 8 - .../models/item/hoe/iron/ironhoe_19.json | 8 - .../models/item/hoe/iron/ironhoe_2.json | 8 - .../models/item/hoe/iron/ironhoe_20.json | 8 - .../models/item/hoe/iron/ironhoe_21.json | 8 - .../models/item/hoe/iron/ironhoe_3.json | 8 - .../models/item/hoe/iron/ironhoe_4.json | 8 - .../models/item/hoe/iron/ironhoe_5.json | 8 - .../models/item/hoe/iron/ironhoe_6.json | 8 - .../models/item/hoe/iron/ironhoe_7.json | 8 - .../models/item/hoe/iron/ironhoe_8.json | 8 - .../models/item/hoe/iron/ironhoe_9.json | 8 - .../models/item/hoe/steel/assets4.sh | 68 +++ .../item/hoe/steel/steelhoe_0.0001.json | 8 + .../item/hoe/steel/steelhoe_0.0002.json | 8 + .../item/hoe/steel/steelhoe_0.0003.json | 8 + .../item/hoe/steel/steelhoe_0.0004.json | 8 + .../models/item/hoe/steel/steelhoe_0.001.json | 8 + .../item/hoe/steel/steelhoe_0.0011.json | 8 + .../item/hoe/steel/steelhoe_0.0012.json | 8 + .../item/hoe/steel/steelhoe_0.0013.json | 8 + .../models/item/hoe/steel/steelhoe_0.002.json | 8 + .../item/hoe/steel/steelhoe_0.0021.json | 8 + .../item/hoe/steel/steelhoe_0.0022.json | 8 + .../models/item/hoe/steel/steelhoe_0.003.json | 8 + .../item/hoe/steel/steelhoe_0.0031.json | 8 + .../models/item/hoe/steel/steelhoe_0.004.json | 8 + .../models/item/hoe/steel/steelhoe_0.01.json | 8 + .../item/hoe/steel/steelhoe_0.0101.json | 8 + .../item/hoe/steel/steelhoe_0.0102.json | 8 + .../item/hoe/steel/steelhoe_0.0103.json | 8 + .../models/item/hoe/steel/steelhoe_0.011.json | 8 + .../item/hoe/steel/steelhoe_0.0111.json | 8 + .../item/hoe/steel/steelhoe_0.0112.json | 8 + .../models/item/hoe/steel/steelhoe_0.012.json | 8 + .../item/hoe/steel/steelhoe_0.0121.json | 8 + .../models/item/hoe/steel/steelhoe_0.013.json | 8 + .../models/item/hoe/steel/steelhoe_0.02.json | 8 + .../item/hoe/steel/steelhoe_0.0201.json | 8 + .../item/hoe/steel/steelhoe_0.0202.json | 8 + .../models/item/hoe/steel/steelhoe_0.021.json | 8 + .../item/hoe/steel/steelhoe_0.0211.json | 8 + .../models/item/hoe/steel/steelhoe_0.022.json | 8 + .../models/item/hoe/steel/steelhoe_0.03.json | 8 + .../item/hoe/steel/steelhoe_0.0301.json | 8 + .../models/item/hoe/steel/steelhoe_0.031.json | 8 + .../models/item/hoe/steel/steelhoe_0.04.json | 8 + .../models/item/hoe/steel/steelhoe_0.1.json | 8 + .../models/item/hoe/steel/steelhoe_0.101.json | 8 + .../models/item/hoe/steel/steelhoe_0.102.json | 8 + .../models/item/hoe/steel/steelhoe_0.103.json | 8 + .../models/item/hoe/steel/steelhoe_0.11.json | 8 + .../models/item/hoe/steel/steelhoe_0.111.json | 8 + .../models/item/hoe/steel/steelhoe_0.112.json | 8 + .../models/item/hoe/steel/steelhoe_0.12.json | 8 + .../models/item/hoe/steel/steelhoe_0.121.json | 8 + .../models/item/hoe/steel/steelhoe_0.13.json | 8 + .../models/item/hoe/steel/steelhoe_0.json | 4 +- .../models/item/hoe/steel/steelhoe_1.json | 4 +- .../models/item/hoe/steel/steelhoe_10.json | 8 - .../models/item/hoe/steel/steelhoe_11.json | 8 - .../models/item/hoe/steel/steelhoe_12.json | 8 - .../models/item/hoe/steel/steelhoe_13.json | 8 - .../models/item/hoe/steel/steelhoe_14.json | 8 - .../models/item/hoe/steel/steelhoe_15.json | 8 - .../models/item/hoe/steel/steelhoe_16.json | 8 - .../models/item/hoe/steel/steelhoe_17.json | 8 - .../models/item/hoe/steel/steelhoe_18.json | 8 - .../models/item/hoe/steel/steelhoe_19.json | 8 - .../models/item/hoe/steel/steelhoe_2.json | 8 - .../models/item/hoe/steel/steelhoe_20.json | 8 - .../models/item/hoe/steel/steelhoe_21.json | 8 - .../models/item/hoe/steel/steelhoe_3.json | 8 - .../models/item/hoe/steel/steelhoe_4.json | 8 - .../models/item/hoe/steel/steelhoe_5.json | 8 - .../models/item/hoe/steel/steelhoe_6.json | 8 - .../models/item/hoe/steel/steelhoe_7.json | 8 - .../models/item/hoe/steel/steelhoe_8.json | 8 - .../models/item/hoe/steel/steelhoe_9.json | 8 - .../models/item/hoe/wootz/assets5.sh | 92 ++++ .../item/hoe/wootz/wootzhoe_0.0001.json | 8 + .../item/hoe/wootz/wootzhoe_0.0002.json | 8 + .../item/hoe/wootz/wootzhoe_0.0003.json | 8 + .../item/hoe/wootz/wootzhoe_0.0004.json | 8 + .../item/hoe/wootz/wootzhoe_0.0005.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.001.json | 8 + .../item/hoe/wootz/wootzhoe_0.0011.json | 8 + .../item/hoe/wootz/wootzhoe_0.0012.json | 8 + .../item/hoe/wootz/wootzhoe_0.0013.json | 8 + .../item/hoe/wootz/wootzhoe_0.0014.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.002.json | 8 + .../item/hoe/wootz/wootzhoe_0.0021.json | 8 + .../item/hoe/wootz/wootzhoe_0.0022.json | 8 + .../item/hoe/wootz/wootzhoe_0.0023.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.003.json | 8 + .../item/hoe/wootz/wootzhoe_0.0031.json | 8 + .../item/hoe/wootz/wootzhoe_0.0032.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.004.json | 8 + .../item/hoe/wootz/wootzhoe_0.0041.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.005.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.01.json | 8 + .../item/hoe/wootz/wootzhoe_0.0101.json | 8 + .../item/hoe/wootz/wootzhoe_0.0102.json | 8 + .../item/hoe/wootz/wootzhoe_0.0103.json | 8 + .../item/hoe/wootz/wootzhoe_0.0104.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.011.json | 8 + .../item/hoe/wootz/wootzhoe_0.0111.json | 8 + .../item/hoe/wootz/wootzhoe_0.0112.json | 8 + .../item/hoe/wootz/wootzhoe_0.0113.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.012.json | 8 + .../item/hoe/wootz/wootzhoe_0.0121.json | 8 + .../item/hoe/wootz/wootzhoe_0.0122.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.013.json | 8 + .../item/hoe/wootz/wootzhoe_0.0131.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.014.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.02.json | 8 + .../item/hoe/wootz/wootzhoe_0.0201.json | 8 + .../item/hoe/wootz/wootzhoe_0.0202.json | 8 + .../item/hoe/wootz/wootzhoe_0.0203.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.021.json | 8 + .../item/hoe/wootz/wootzhoe_0.0211.json | 8 + .../item/hoe/wootz/wootzhoe_0.0212.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.022.json | 8 + .../item/hoe/wootz/wootzhoe_0.0221.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.03.json | 8 + .../item/hoe/wootz/wootzhoe_0.0301.json | 8 + .../item/hoe/wootz/wootzhoe_0.0302.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.031.json | 8 + .../item/hoe/wootz/wootzhoe_0.0311.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.04.json | 8 + .../item/hoe/wootz/wootzhoe_0.0401.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.041.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.05.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.1.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.101.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.102.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.103.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.104.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.11.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.111.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.112.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.113.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.12.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.121.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.122.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.13.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.131.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.14.json | 8 + .../models/item/hoe/wootz/wootzhoe_0.json | 4 +- .../models/item/hoe/wootz/wootzhoe_1.json | 4 +- .../models/item/hoe/wootz/wootzhoe_10.json | 8 - .../models/item/hoe/wootz/wootzhoe_11.json | 8 - .../models/item/hoe/wootz/wootzhoe_12.json | 8 - .../models/item/hoe/wootz/wootzhoe_13.json | 8 - .../models/item/hoe/wootz/wootzhoe_14.json | 8 - .../models/item/hoe/wootz/wootzhoe_15.json | 8 - .../models/item/hoe/wootz/wootzhoe_16.json | 8 - .../models/item/hoe/wootz/wootzhoe_17.json | 8 - .../models/item/hoe/wootz/wootzhoe_18.json | 8 - .../models/item/hoe/wootz/wootzhoe_19.json | 8 - .../models/item/hoe/wootz/wootzhoe_2.json | 8 - .../models/item/hoe/wootz/wootzhoe_20.json | 8 - .../models/item/hoe/wootz/wootzhoe_21.json | 8 - .../models/item/hoe/wootz/wootzhoe_3.json | 8 - .../models/item/hoe/wootz/wootzhoe_4.json | 8 - .../models/item/hoe/wootz/wootzhoe_5.json | 8 - .../models/item/hoe/wootz/wootzhoe_6.json | 8 - .../models/item/hoe/wootz/wootzhoe_7.json | 8 - .../models/item/hoe/wootz/wootzhoe_8.json | 8 - .../models/item/hoe/wootz/wootzhoe_9.json | 8 - .../models/item/hoehead/bronze/assets1.sh | 28 + .../hoehead/bronze/bronzehoehead_0.0001.json | 8 + .../hoehead/bronze/bronzehoehead_0.001.json | 8 + .../hoehead/bronze/bronzehoehead_0.01.json | 8 + .../hoehead/bronze/bronzehoehead_0.1.json | 8 + .../item/hoehead/bronze/bronzehoehead_0.json | 4 +- .../item/hoehead/bronze/bronzehoehead_1.json | 4 +- .../item/hoehead/bronze/bronzehoehead_2.json | 8 - .../item/hoehead/bronze/bronzehoehead_3.json | 8 - .../item/hoehead/bronze/bronzehoehead_4.json | 8 - .../models/item/hoehead/clean_iron/assets3.sh | 49 ++ .../clean_iron/clean_ironhoehead_0.0001.json | 8 + .../clean_iron/clean_ironhoehead_0.0002.json | 8 + .../clean_iron/clean_ironhoehead_0.0003.json | 8 + .../clean_iron/clean_ironhoehead_0.001.json | 8 + .../clean_iron/clean_ironhoehead_0.0011.json | 8 + .../clean_iron/clean_ironhoehead_0.0012.json | 8 + .../clean_iron/clean_ironhoehead_0.002.json | 8 + .../clean_iron/clean_ironhoehead_0.0021.json | 8 + .../clean_iron/clean_ironhoehead_0.003.json | 8 + .../clean_iron/clean_ironhoehead_0.01.json | 8 + .../clean_iron/clean_ironhoehead_0.0101.json | 8 + .../clean_iron/clean_ironhoehead_0.0102.json | 8 + .../clean_iron/clean_ironhoehead_0.011.json | 8 + .../clean_iron/clean_ironhoehead_0.0111.json | 8 + .../clean_iron/clean_ironhoehead_0.012.json | 8 + .../clean_iron/clean_ironhoehead_0.02.json | 8 + .../clean_iron/clean_ironhoehead_0.0201.json | 8 + .../clean_iron/clean_ironhoehead_0.021.json | 8 + .../clean_iron/clean_ironhoehead_0.03.json | 8 + .../clean_iron/clean_ironhoehead_0.1.json | 8 + .../clean_iron/clean_ironhoehead_0.101.json | 8 + .../clean_iron/clean_ironhoehead_0.102.json | 8 + .../clean_iron/clean_ironhoehead_0.11.json | 8 + .../clean_iron/clean_ironhoehead_0.111.json | 8 + .../clean_iron/clean_ironhoehead_0.12.json | 8 + .../clean_iron/clean_ironhoehead_0.json | 8 + .../clean_iron/clean_ironhoehead_1.json | 8 + .../item/hoehead/cleaniron/ironhoehead_0.json | 8 - .../item/hoehead/cleaniron/ironhoehead_1.json | 8 - .../hoehead/cleaniron/ironhoehead_10.json | 8 - .../hoehead/cleaniron/ironhoehead_11.json | 8 - .../hoehead/cleaniron/ironhoehead_12.json | 8 - .../hoehead/cleaniron/ironhoehead_13.json | 8 - .../hoehead/cleaniron/ironhoehead_14.json | 8 - .../hoehead/cleaniron/ironhoehead_15.json | 8 - .../hoehead/cleaniron/ironhoehead_16.json | 8 - .../hoehead/cleaniron/ironhoehead_17.json | 8 - .../hoehead/cleaniron/ironhoehead_18.json | 8 - .../hoehead/cleaniron/ironhoehead_19.json | 8 - .../item/hoehead/cleaniron/ironhoehead_2.json | 8 - .../hoehead/cleaniron/ironhoehead_20.json | 8 - .../hoehead/cleaniron/ironhoehead_21.json | 8 - .../item/hoehead/cleaniron/ironhoehead_3.json | 8 - .../item/hoehead/cleaniron/ironhoehead_4.json | 8 - .../item/hoehead/cleaniron/ironhoehead_5.json | 8 - .../item/hoehead/cleaniron/ironhoehead_6.json | 8 - .../item/hoehead/cleaniron/ironhoehead_7.json | 8 - .../item/hoehead/cleaniron/ironhoehead_8.json | 8 - .../item/hoehead/cleaniron/ironhoehead_9.json | 8 - .../models/item/hoehead/copper/assets1.sh | 28 + .../hoehead/copper/copperhoehead_0.0001.json | 8 + .../hoehead/copper/copperhoehead_0.001.json | 8 + .../hoehead/copper/copperhoehead_0.01.json | 8 + .../hoehead/copper/copperhoehead_0.1.json | 8 + .../item/hoehead/copper/copperhoehead_0.json | 8 + .../item/hoehead/copper/copperhoehead_1.json | 8 + .../models/item/hoehead/iron/assets2.sh | 36 ++ .../item/hoehead/iron/ironhoehead_0.0001.json | 8 + .../item/hoehead/iron/ironhoehead_0.0002.json | 8 + .../item/hoehead/iron/ironhoehead_0.001.json | 8 + .../item/hoehead/iron/ironhoehead_0.0011.json | 8 + .../item/hoehead/iron/ironhoehead_0.002.json | 8 + .../item/hoehead/iron/ironhoehead_0.01.json | 8 + .../item/hoehead/iron/ironhoehead_0.0101.json | 8 + .../item/hoehead/iron/ironhoehead_0.011.json | 8 + .../item/hoehead/iron/ironhoehead_0.02.json | 8 + .../item/hoehead/iron/ironhoehead_0.1.json | 8 + .../item/hoehead/iron/ironhoehead_0.101.json | 8 + .../item/hoehead/iron/ironhoehead_0.11.json | 8 + .../item/hoehead/iron/ironhoehead_0.json | 4 +- .../item/hoehead/iron/ironhoehead_1.json | 4 +- .../item/hoehead/iron/ironhoehead_10.json | 8 - .../item/hoehead/iron/ironhoehead_11.json | 8 - .../item/hoehead/iron/ironhoehead_12.json | 8 - .../item/hoehead/iron/ironhoehead_13.json | 8 - .../item/hoehead/iron/ironhoehead_14.json | 8 - .../item/hoehead/iron/ironhoehead_15.json | 8 - .../item/hoehead/iron/ironhoehead_16.json | 8 - .../item/hoehead/iron/ironhoehead_17.json | 8 - .../item/hoehead/iron/ironhoehead_18.json | 8 - .../item/hoehead/iron/ironhoehead_19.json | 8 - .../item/hoehead/iron/ironhoehead_2.json | 8 - .../item/hoehead/iron/ironhoehead_20.json | 8 - .../item/hoehead/iron/ironhoehead_21.json | 8 - .../item/hoehead/iron/ironhoehead_3.json | 8 - .../item/hoehead/iron/ironhoehead_4.json | 8 - .../item/hoehead/iron/ironhoehead_5.json | 8 - .../item/hoehead/iron/ironhoehead_6.json | 8 - .../item/hoehead/iron/ironhoehead_7.json | 8 - .../item/hoehead/iron/ironhoehead_8.json | 8 - .../item/hoehead/iron/ironhoehead_9.json | 8 - .../models/item/hoehead/steel/assets4.sh | 68 +++ .../hoehead/steel/steelhoehead_0.0001.json | 8 + .../hoehead/steel/steelhoehead_0.0002.json | 8 + .../hoehead/steel/steelhoehead_0.0003.json | 8 + .../hoehead/steel/steelhoehead_0.0004.json | 8 + .../hoehead/steel/steelhoehead_0.001.json | 8 + .../hoehead/steel/steelhoehead_0.0011.json | 8 + .../hoehead/steel/steelhoehead_0.0012.json | 8 + .../hoehead/steel/steelhoehead_0.0013.json | 8 + .../hoehead/steel/steelhoehead_0.002.json | 8 + .../hoehead/steel/steelhoehead_0.0021.json | 8 + .../hoehead/steel/steelhoehead_0.0022.json | 8 + .../hoehead/steel/steelhoehead_0.003.json | 8 + .../hoehead/steel/steelhoehead_0.0031.json | 8 + .../hoehead/steel/steelhoehead_0.004.json | 8 + .../item/hoehead/steel/steelhoehead_0.01.json | 8 + .../hoehead/steel/steelhoehead_0.0101.json | 8 + .../hoehead/steel/steelhoehead_0.0102.json | 8 + .../hoehead/steel/steelhoehead_0.0103.json | 8 + .../hoehead/steel/steelhoehead_0.011.json | 8 + .../hoehead/steel/steelhoehead_0.0111.json | 8 + .../hoehead/steel/steelhoehead_0.0112.json | 8 + .../hoehead/steel/steelhoehead_0.012.json | 8 + .../hoehead/steel/steelhoehead_0.0121.json | 8 + .../hoehead/steel/steelhoehead_0.013.json | 8 + .../item/hoehead/steel/steelhoehead_0.02.json | 8 + .../hoehead/steel/steelhoehead_0.0201.json | 8 + .../hoehead/steel/steelhoehead_0.0202.json | 8 + .../hoehead/steel/steelhoehead_0.021.json | 8 + .../hoehead/steel/steelhoehead_0.0211.json | 8 + .../hoehead/steel/steelhoehead_0.022.json | 8 + .../item/hoehead/steel/steelhoehead_0.03.json | 8 + .../hoehead/steel/steelhoehead_0.0301.json | 8 + .../hoehead/steel/steelhoehead_0.031.json | 8 + .../item/hoehead/steel/steelhoehead_0.04.json | 8 + .../item/hoehead/steel/steelhoehead_0.1.json | 8 + .../hoehead/steel/steelhoehead_0.101.json | 8 + .../hoehead/steel/steelhoehead_0.102.json | 8 + .../hoehead/steel/steelhoehead_0.103.json | 8 + .../item/hoehead/steel/steelhoehead_0.11.json | 8 + .../hoehead/steel/steelhoehead_0.111.json | 8 + .../hoehead/steel/steelhoehead_0.112.json | 8 + .../item/hoehead/steel/steelhoehead_0.12.json | 8 + .../hoehead/steel/steelhoehead_0.121.json | 8 + .../item/hoehead/steel/steelhoehead_0.13.json | 8 + .../item/hoehead/steel/steelhoehead_0.json | 4 +- .../item/hoehead/steel/steelhoehead_1.json | 4 +- .../item/hoehead/steel/steelhoehead_10.json | 8 - .../item/hoehead/steel/steelhoehead_11.json | 8 - .../item/hoehead/steel/steelhoehead_12.json | 8 - .../item/hoehead/steel/steelhoehead_13.json | 8 - .../item/hoehead/steel/steelhoehead_14.json | 8 - .../item/hoehead/steel/steelhoehead_15.json | 8 - .../item/hoehead/steel/steelhoehead_16.json | 8 - .../item/hoehead/steel/steelhoehead_17.json | 8 - .../item/hoehead/steel/steelhoehead_18.json | 8 - .../item/hoehead/steel/steelhoehead_19.json | 8 - .../item/hoehead/steel/steelhoehead_2.json | 8 - .../item/hoehead/steel/steelhoehead_20.json | 8 - .../item/hoehead/steel/steelhoehead_21.json | 8 - .../item/hoehead/steel/steelhoehead_3.json | 8 - .../item/hoehead/steel/steelhoehead_4.json | 8 - .../item/hoehead/steel/steelhoehead_5.json | 8 - .../item/hoehead/steel/steelhoehead_6.json | 8 - .../item/hoehead/steel/steelhoehead_7.json | 8 - .../item/hoehead/steel/steelhoehead_8.json | 8 - .../item/hoehead/steel/steelhoehead_9.json | 8 - .../models/item/hoehead/wootz/assets5.sh | 92 ++++ .../hoehead/wootz/wootzhoehead_0.0001.json | 8 + .../hoehead/wootz/wootzhoehead_0.0002.json | 8 + .../hoehead/wootz/wootzhoehead_0.0003.json | 8 + .../hoehead/wootz/wootzhoehead_0.0004.json | 8 + .../hoehead/wootz/wootzhoehead_0.0005.json | 8 + .../hoehead/wootz/wootzhoehead_0.001.json | 8 + .../hoehead/wootz/wootzhoehead_0.0011.json | 8 + .../hoehead/wootz/wootzhoehead_0.0012.json | 8 + .../hoehead/wootz/wootzhoehead_0.0013.json | 8 + .../hoehead/wootz/wootzhoehead_0.0014.json | 8 + .../hoehead/wootz/wootzhoehead_0.002.json | 8 + .../hoehead/wootz/wootzhoehead_0.0021.json | 8 + .../hoehead/wootz/wootzhoehead_0.0022.json | 8 + .../hoehead/wootz/wootzhoehead_0.0023.json | 8 + .../hoehead/wootz/wootzhoehead_0.003.json | 8 + .../hoehead/wootz/wootzhoehead_0.0031.json | 8 + .../hoehead/wootz/wootzhoehead_0.0032.json | 8 + .../hoehead/wootz/wootzhoehead_0.004.json | 8 + .../hoehead/wootz/wootzhoehead_0.0041.json | 8 + .../hoehead/wootz/wootzhoehead_0.005.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.01.json | 8 + .../hoehead/wootz/wootzhoehead_0.0101.json | 8 + .../hoehead/wootz/wootzhoehead_0.0102.json | 8 + .../hoehead/wootz/wootzhoehead_0.0103.json | 8 + .../hoehead/wootz/wootzhoehead_0.0104.json | 8 + .../hoehead/wootz/wootzhoehead_0.011.json | 8 + .../hoehead/wootz/wootzhoehead_0.0111.json | 8 + .../hoehead/wootz/wootzhoehead_0.0112.json | 8 + .../hoehead/wootz/wootzhoehead_0.0113.json | 8 + .../hoehead/wootz/wootzhoehead_0.012.json | 8 + .../hoehead/wootz/wootzhoehead_0.0121.json | 8 + .../hoehead/wootz/wootzhoehead_0.0122.json | 8 + .../hoehead/wootz/wootzhoehead_0.013.json | 8 + .../hoehead/wootz/wootzhoehead_0.0131.json | 8 + .../hoehead/wootz/wootzhoehead_0.014.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.02.json | 8 + .../hoehead/wootz/wootzhoehead_0.0201.json | 8 + .../hoehead/wootz/wootzhoehead_0.0202.json | 8 + .../hoehead/wootz/wootzhoehead_0.0203.json | 8 + .../hoehead/wootz/wootzhoehead_0.021.json | 8 + .../hoehead/wootz/wootzhoehead_0.0211.json | 8 + .../hoehead/wootz/wootzhoehead_0.0212.json | 8 + .../hoehead/wootz/wootzhoehead_0.022.json | 8 + .../hoehead/wootz/wootzhoehead_0.0221.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.03.json | 8 + .../hoehead/wootz/wootzhoehead_0.0301.json | 8 + .../hoehead/wootz/wootzhoehead_0.0302.json | 8 + .../hoehead/wootz/wootzhoehead_0.031.json | 8 + .../hoehead/wootz/wootzhoehead_0.0311.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.04.json | 8 + .../hoehead/wootz/wootzhoehead_0.0401.json | 8 + .../hoehead/wootz/wootzhoehead_0.041.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.05.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.1.json | 8 + .../hoehead/wootz/wootzhoehead_0.101.json | 8 + .../hoehead/wootz/wootzhoehead_0.102.json | 8 + .../hoehead/wootz/wootzhoehead_0.103.json | 8 + .../hoehead/wootz/wootzhoehead_0.104.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.11.json | 8 + .../hoehead/wootz/wootzhoehead_0.111.json | 8 + .../hoehead/wootz/wootzhoehead_0.112.json | 8 + .../hoehead/wootz/wootzhoehead_0.113.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.12.json | 8 + .../hoehead/wootz/wootzhoehead_0.121.json | 8 + .../hoehead/wootz/wootzhoehead_0.122.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.13.json | 8 + .../hoehead/wootz/wootzhoehead_0.131.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.14.json | 8 + .../item/hoehead/wootz/wootzhoehead_0.json | 4 +- .../item/hoehead/wootz/wootzhoehead_1.json | 4 +- .../item/hoehead/wootz/wootzhoehead_10.json | 8 - .../item/hoehead/wootz/wootzhoehead_11.json | 8 - .../item/hoehead/wootz/wootzhoehead_12.json | 8 - .../item/hoehead/wootz/wootzhoehead_13.json | 8 - .../item/hoehead/wootz/wootzhoehead_14.json | 8 - .../item/hoehead/wootz/wootzhoehead_15.json | 8 - .../item/hoehead/wootz/wootzhoehead_16.json | 8 - .../item/hoehead/wootz/wootzhoehead_17.json | 8 - .../item/hoehead/wootz/wootzhoehead_18.json | 8 - .../item/hoehead/wootz/wootzhoehead_19.json | 8 - .../item/hoehead/wootz/wootzhoehead_2.json | 8 - .../item/hoehead/wootz/wootzhoehead_20.json | 8 - .../item/hoehead/wootz/wootzhoehead_21.json | 8 - .../item/hoehead/wootz/wootzhoehead_3.json | 8 - .../item/hoehead/wootz/wootzhoehead_4.json | 8 - .../item/hoehead/wootz/wootzhoehead_5.json | 8 - .../item/hoehead/wootz/wootzhoehead_6.json | 8 - .../item/hoehead/wootz/wootzhoehead_7.json | 8 - .../item/hoehead/wootz/wootzhoehead_8.json | 8 - .../item/hoehead/wootz/wootzhoehead_9.json | 8 - .../forgecraft/models/item/ironaxe.json | 37 +- .../forgecraft/models/item/ironaxehead.json | 37 +- .../forgecraft/models/item/ironhoe.json | 37 +- .../forgecraft/models/item/ironhoehead.json | 37 +- .../forgecraft/models/item/ironpickaxe.json | 37 +- .../models/item/ironpickaxehead.json | 37 +- .../forgecraft/models/item/ironshovel.json | 37 +- .../models/item/ironshovelhead.json | 37 +- .../item/nbtcrucible/nbtcrucible_15.json | 2 +- .../models/item/pickaxe/bronze/assets1.sh | 28 + .../pickaxe/bronze/bronzepickaxe_0.0001.json | 8 + .../pickaxe/bronze/bronzepickaxe_0.001.json | 8 + .../pickaxe/bronze/bronzepickaxe_0.01.json | 8 + .../pickaxe/bronze/bronzepickaxe_0.1.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_0.json | 4 +- .../item/pickaxe/bronze/bronzepickaxe_1.json | 4 +- .../item/pickaxe/bronze/bronzepickaxe_2.json | 8 - .../item/pickaxe/bronze/bronzepickaxe_3.json | 8 - .../item/pickaxe/bronze/bronzepickaxe_4.json | 8 - .../models/item/pickaxe/clean_iron/assets3.sh | 49 ++ .../clean_iron/clean_ironpickaxe_0.0001.json | 8 + .../clean_iron/clean_ironpickaxe_0.0002.json | 8 + .../clean_iron/clean_ironpickaxe_0.0003.json | 8 + .../clean_iron/clean_ironpickaxe_0.001.json | 8 + .../clean_iron/clean_ironpickaxe_0.0011.json | 8 + .../clean_iron/clean_ironpickaxe_0.0012.json | 8 + .../clean_iron/clean_ironpickaxe_0.002.json | 8 + .../clean_iron/clean_ironpickaxe_0.0021.json | 8 + .../clean_iron/clean_ironpickaxe_0.003.json | 8 + .../clean_iron/clean_ironpickaxe_0.01.json | 8 + .../clean_iron/clean_ironpickaxe_0.0101.json | 8 + .../clean_iron/clean_ironpickaxe_0.0102.json | 8 + .../clean_iron/clean_ironpickaxe_0.011.json | 8 + .../clean_iron/clean_ironpickaxe_0.0111.json | 8 + .../clean_iron/clean_ironpickaxe_0.012.json | 8 + .../clean_iron/clean_ironpickaxe_0.02.json | 8 + .../clean_iron/clean_ironpickaxe_0.0201.json | 8 + .../clean_iron/clean_ironpickaxe_0.021.json | 8 + .../clean_iron/clean_ironpickaxe_0.03.json | 8 + .../clean_iron/clean_ironpickaxe_0.1.json | 8 + .../clean_iron/clean_ironpickaxe_0.101.json | 8 + .../clean_iron/clean_ironpickaxe_0.102.json | 8 + .../clean_iron/clean_ironpickaxe_0.11.json | 8 + .../clean_iron/clean_ironpickaxe_0.111.json | 8 + .../clean_iron/clean_ironpickaxe_0.12.json | 8 + .../clean_iron/clean_ironpickaxe_0.json | 8 + .../clean_iron/clean_ironpickaxe_1.json | 8 + .../pickaxe/cleaniron/cleanironpickaxe_0.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_1.json | 8 - .../cleaniron/cleanironpickaxe_10.json | 8 - .../cleaniron/cleanironpickaxe_11.json | 8 - .../cleaniron/cleanironpickaxe_12.json | 8 - .../cleaniron/cleanironpickaxe_13.json | 8 - .../cleaniron/cleanironpickaxe_14.json | 8 - .../cleaniron/cleanironpickaxe_15.json | 8 - .../cleaniron/cleanironpickaxe_16.json | 8 - .../cleaniron/cleanironpickaxe_17.json | 8 - .../cleaniron/cleanironpickaxe_18.json | 8 - .../cleaniron/cleanironpickaxe_19.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_2.json | 8 - .../cleaniron/cleanironpickaxe_20.json | 8 - .../cleaniron/cleanironpickaxe_21.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_3.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_4.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_5.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_6.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_7.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_8.json | 8 - .../pickaxe/cleaniron/cleanironpickaxe_9.json | 8 - .../models/item/pickaxe/copper/assets1.sh | 28 + .../pickaxe/copper/copperpickaxe_0.0001.json | 8 + .../pickaxe/copper/copperpickaxe_0.001.json | 8 + .../pickaxe/copper/copperpickaxe_0.01.json | 8 + .../pickaxe/copper/copperpickaxe_0.1.json | 8 + .../item/pickaxe/copper/copperpickaxe_0.json | 8 + .../item/pickaxe/copper/copperpickaxe_1.json | 8 + .../models/item/pickaxe/iron/assets2.sh | 36 ++ .../item/pickaxe/iron/ironpickaxe_0.0001.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.0002.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.001.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.0011.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.002.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.01.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.0101.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.011.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.02.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.1.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.101.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.11.json | 8 + .../item/pickaxe/iron/ironpickaxe_0.json | 4 +- .../item/pickaxe/iron/ironpickaxe_1.json | 4 +- .../item/pickaxe/iron/ironpickaxe_10.json | 8 - .../item/pickaxe/iron/ironpickaxe_11.json | 8 - .../item/pickaxe/iron/ironpickaxe_12.json | 8 - .../item/pickaxe/iron/ironpickaxe_13.json | 8 - .../item/pickaxe/iron/ironpickaxe_14.json | 8 - .../item/pickaxe/iron/ironpickaxe_15.json | 8 - .../item/pickaxe/iron/ironpickaxe_16.json | 8 - .../item/pickaxe/iron/ironpickaxe_17.json | 8 - .../item/pickaxe/iron/ironpickaxe_18.json | 8 - .../item/pickaxe/iron/ironpickaxe_19.json | 8 - .../item/pickaxe/iron/ironpickaxe_2.json | 8 - .../item/pickaxe/iron/ironpickaxe_20.json | 8 - .../item/pickaxe/iron/ironpickaxe_21.json | 8 - .../item/pickaxe/iron/ironpickaxe_3.json | 8 - .../item/pickaxe/iron/ironpickaxe_4.json | 8 - .../item/pickaxe/iron/ironpickaxe_5.json | 8 - .../item/pickaxe/iron/ironpickaxe_6.json | 8 - .../item/pickaxe/iron/ironpickaxe_7.json | 8 - .../item/pickaxe/iron/ironpickaxe_8.json | 8 - .../item/pickaxe/iron/ironpickaxe_9.json | 8 - .../models/item/pickaxe/steel/assets4.sh | 68 +++ .../pickaxe/steel/steelpickaxe_0.0001.json | 8 + .../pickaxe/steel/steelpickaxe_0.0002.json | 8 + .../pickaxe/steel/steelpickaxe_0.0003.json | 8 + .../pickaxe/steel/steelpickaxe_0.0004.json | 8 + .../pickaxe/steel/steelpickaxe_0.001.json | 8 + .../pickaxe/steel/steelpickaxe_0.0011.json | 8 + .../pickaxe/steel/steelpickaxe_0.0012.json | 8 + .../pickaxe/steel/steelpickaxe_0.0013.json | 8 + .../pickaxe/steel/steelpickaxe_0.002.json | 8 + .../pickaxe/steel/steelpickaxe_0.0021.json | 8 + .../pickaxe/steel/steelpickaxe_0.0022.json | 8 + .../pickaxe/steel/steelpickaxe_0.003.json | 8 + .../pickaxe/steel/steelpickaxe_0.0031.json | 8 + .../pickaxe/steel/steelpickaxe_0.004.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.01.json | 8 + .../pickaxe/steel/steelpickaxe_0.0101.json | 8 + .../pickaxe/steel/steelpickaxe_0.0102.json | 8 + .../pickaxe/steel/steelpickaxe_0.0103.json | 8 + .../pickaxe/steel/steelpickaxe_0.011.json | 8 + .../pickaxe/steel/steelpickaxe_0.0111.json | 8 + .../pickaxe/steel/steelpickaxe_0.0112.json | 8 + .../pickaxe/steel/steelpickaxe_0.012.json | 8 + .../pickaxe/steel/steelpickaxe_0.0121.json | 8 + .../pickaxe/steel/steelpickaxe_0.013.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.02.json | 8 + .../pickaxe/steel/steelpickaxe_0.0201.json | 8 + .../pickaxe/steel/steelpickaxe_0.0202.json | 8 + .../pickaxe/steel/steelpickaxe_0.021.json | 8 + .../pickaxe/steel/steelpickaxe_0.0211.json | 8 + .../pickaxe/steel/steelpickaxe_0.022.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.03.json | 8 + .../pickaxe/steel/steelpickaxe_0.0301.json | 8 + .../pickaxe/steel/steelpickaxe_0.031.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.04.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.1.json | 8 + .../pickaxe/steel/steelpickaxe_0.101.json | 8 + .../pickaxe/steel/steelpickaxe_0.102.json | 8 + .../pickaxe/steel/steelpickaxe_0.103.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.11.json | 8 + .../pickaxe/steel/steelpickaxe_0.111.json | 8 + .../pickaxe/steel/steelpickaxe_0.112.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.12.json | 8 + .../pickaxe/steel/steelpickaxe_0.121.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.13.json | 8 + .../item/pickaxe/steel/steelpickaxe_0.json | 4 +- .../item/pickaxe/steel/steelpickaxe_1.json | 4 +- .../item/pickaxe/steel/steelpickaxe_10.json | 8 - .../item/pickaxe/steel/steelpickaxe_11.json | 8 - .../item/pickaxe/steel/steelpickaxe_12.json | 8 - .../item/pickaxe/steel/steelpickaxe_13.json | 8 - .../item/pickaxe/steel/steelpickaxe_14.json | 8 - .../item/pickaxe/steel/steelpickaxe_15.json | 8 - .../item/pickaxe/steel/steelpickaxe_16.json | 8 - .../item/pickaxe/steel/steelpickaxe_17.json | 8 - .../item/pickaxe/steel/steelpickaxe_18.json | 8 - .../item/pickaxe/steel/steelpickaxe_19.json | 8 - .../item/pickaxe/steel/steelpickaxe_2.json | 8 - .../item/pickaxe/steel/steelpickaxe_20.json | 8 - .../item/pickaxe/steel/steelpickaxe_21.json | 8 - .../item/pickaxe/steel/steelpickaxe_3.json | 8 - .../item/pickaxe/steel/steelpickaxe_4.json | 8 - .../item/pickaxe/steel/steelpickaxe_5.json | 8 - .../item/pickaxe/steel/steelpickaxe_6.json | 8 - .../item/pickaxe/steel/steelpickaxe_7.json | 8 - .../item/pickaxe/steel/steelpickaxe_8.json | 8 - .../item/pickaxe/steel/steelpickaxe_9.json | 8 - .../models/item/pickaxe/wootz/assets5.sh | 92 ++++ .../pickaxe/wootz/wootzpickaxe_0.0001.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0002.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0003.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0004.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0005.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.001.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0011.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0012.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0013.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0014.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.002.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0021.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0022.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0023.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.003.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0031.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0032.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.004.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0041.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.005.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.01.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0101.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0102.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0103.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0104.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.011.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0111.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0112.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0113.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.012.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0121.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0122.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.013.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0131.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.014.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.02.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0201.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0202.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0203.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.021.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0211.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0212.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.022.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0221.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.03.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0301.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0302.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.031.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0311.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.04.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.0401.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.041.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.05.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.1.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.101.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.102.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.103.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.104.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.11.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.111.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.112.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.113.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.12.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.121.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.122.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.13.json | 8 + .../pickaxe/wootz/wootzpickaxe_0.131.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.14.json | 8 + .../item/pickaxe/wootz/wootzpickaxe_0.json | 4 +- .../item/pickaxe/wootz/wootzpickaxe_1.json | 4 +- .../item/pickaxe/wootz/wootzpickaxe_10.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_11.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_12.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_13.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_14.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_15.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_16.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_17.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_18.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_19.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_2.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_20.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_21.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_3.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_4.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_5.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_6.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_7.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_8.json | 8 - .../item/pickaxe/wootz/wootzpickaxe_9.json | 8 - .../models/item/pickaxehead/bronze/assets1.sh | 28 + .../bronze/bronzepickaxehead_0.0001.json | 8 + .../bronze/bronzepickaxehead_0.001.json | 8 + .../bronze/bronzepickaxehead_0.01.json | 8 + .../bronze/bronzepickaxehead_0.1.json | 8 + .../bronze/bronzepickaxehead_0.json | 4 +- .../bronze/bronzepickaxehead_1.json | 4 +- .../bronze/bronzepickaxehead_2.json | 8 - .../bronze/bronzepickaxehead_3.json | 8 - .../bronze/bronzepickaxehead_4.json | 8 - .../item/pickaxehead/clean_iron/assets3.sh | 49 ++ .../clean_ironpickaxehead_0.0001.json | 8 + .../clean_ironpickaxehead_0.0002.json | 8 + .../clean_ironpickaxehead_0.0003.json | 8 + .../clean_ironpickaxehead_0.001.json | 8 + .../clean_ironpickaxehead_0.0011.json | 8 + .../clean_ironpickaxehead_0.0012.json | 8 + .../clean_ironpickaxehead_0.002.json | 8 + .../clean_ironpickaxehead_0.0021.json | 8 + .../clean_ironpickaxehead_0.003.json | 8 + .../clean_ironpickaxehead_0.01.json | 8 + .../clean_ironpickaxehead_0.0101.json | 8 + .../clean_ironpickaxehead_0.0102.json | 8 + .../clean_ironpickaxehead_0.011.json | 8 + .../clean_ironpickaxehead_0.0111.json | 8 + .../clean_ironpickaxehead_0.012.json | 8 + .../clean_ironpickaxehead_0.02.json | 8 + .../clean_ironpickaxehead_0.0201.json | 8 + .../clean_ironpickaxehead_0.021.json | 8 + .../clean_ironpickaxehead_0.03.json | 8 + .../clean_iron/clean_ironpickaxehead_0.1.json | 8 + .../clean_ironpickaxehead_0.101.json | 8 + .../clean_ironpickaxehead_0.102.json | 8 + .../clean_ironpickaxehead_0.11.json | 8 + .../clean_ironpickaxehead_0.111.json | 8 + .../clean_ironpickaxehead_0.12.json | 8 + .../clean_iron/clean_ironpickaxehead_0.json | 8 + .../clean_iron/clean_ironpickaxehead_1.json | 8 + .../cleaniron/cleanironpickaxehead_0.json | 8 - .../cleaniron/cleanironpickaxehead_1.json | 8 - .../cleaniron/cleanironpickaxehead_10.json | 8 - .../cleaniron/cleanironpickaxehead_11.json | 8 - .../cleaniron/cleanironpickaxehead_12.json | 8 - .../cleaniron/cleanironpickaxehead_13.json | 8 - .../cleaniron/cleanironpickaxehead_14.json | 8 - .../cleaniron/cleanironpickaxehead_15.json | 8 - .../cleaniron/cleanironpickaxehead_16.json | 8 - .../cleaniron/cleanironpickaxehead_17.json | 8 - .../cleaniron/cleanironpickaxehead_18.json | 8 - .../cleaniron/cleanironpickaxehead_19.json | 8 - .../cleaniron/cleanironpickaxehead_2.json | 8 - .../cleaniron/cleanironpickaxehead_20.json | 8 - .../cleaniron/cleanironpickaxehead_21.json | 8 - .../cleaniron/cleanironpickaxehead_3.json | 8 - .../cleaniron/cleanironpickaxehead_4.json | 8 - .../cleaniron/cleanironpickaxehead_5.json | 8 - .../cleaniron/cleanironpickaxehead_6.json | 8 - .../cleaniron/cleanironpickaxehead_7.json | 8 - .../cleaniron/cleanironpickaxehead_8.json | 8 - .../cleaniron/cleanironpickaxehead_9.json | 8 - .../models/item/pickaxehead/copper/assets1.sh | 28 + .../copper/copperpickaxehead_0.0001.json | 8 + .../copper/copperpickaxehead_0.001.json | 8 + .../copper/copperpickaxehead_0.01.json | 8 + .../copper/copperpickaxehead_0.1.json | 8 + .../copper/copperpickaxehead_0.json | 8 + .../copper/copperpickaxehead_1.json | 8 + .../models/item/pickaxehead/iron/assets2.sh | 36 ++ .../iron/ironpickaxehead_0.0001.json | 8 + .../iron/ironpickaxehead_0.0002.json | 8 + .../iron/ironpickaxehead_0.001.json | 8 + .../iron/ironpickaxehead_0.0011.json | 8 + .../iron/ironpickaxehead_0.002.json | 8 + .../iron/ironpickaxehead_0.01.json | 8 + .../iron/ironpickaxehead_0.0101.json | 8 + .../iron/ironpickaxehead_0.011.json | 8 + .../iron/ironpickaxehead_0.02.json | 8 + .../pickaxehead/iron/ironpickaxehead_0.1.json | 8 + .../iron/ironpickaxehead_0.101.json | 8 + .../iron/ironpickaxehead_0.11.json | 8 + .../pickaxehead/iron/ironpickaxehead_0.json | 4 +- .../pickaxehead/iron/ironpickaxehead_1.json | 4 +- .../pickaxehead/iron/ironpickaxehead_10.json | 8 - .../pickaxehead/iron/ironpickaxehead_11.json | 8 - .../pickaxehead/iron/ironpickaxehead_12.json | 8 - .../pickaxehead/iron/ironpickaxehead_13.json | 8 - .../pickaxehead/iron/ironpickaxehead_14.json | 8 - .../pickaxehead/iron/ironpickaxehead_15.json | 8 - .../pickaxehead/iron/ironpickaxehead_16.json | 8 - .../pickaxehead/iron/ironpickaxehead_17.json | 8 - .../pickaxehead/iron/ironpickaxehead_18.json | 8 - .../pickaxehead/iron/ironpickaxehead_19.json | 8 - .../pickaxehead/iron/ironpickaxehead_2.json | 8 - .../pickaxehead/iron/ironpickaxehead_20.json | 8 - .../pickaxehead/iron/ironpickaxehead_21.json | 8 - .../pickaxehead/iron/ironpickaxehead_3.json | 8 - .../pickaxehead/iron/ironpickaxehead_4.json | 8 - .../pickaxehead/iron/ironpickaxehead_5.json | 8 - .../pickaxehead/iron/ironpickaxehead_6.json | 8 - .../pickaxehead/iron/ironpickaxehead_7.json | 8 - .../pickaxehead/iron/ironpickaxehead_8.json | 8 - .../pickaxehead/iron/ironpickaxehead_9.json | 8 - .../models/item/pickaxehead/steel/assets4.sh | 68 +++ .../steel/steelpickaxehead_0.0001.json | 8 + .../steel/steelpickaxehead_0.0002.json | 8 + .../steel/steelpickaxehead_0.0003.json | 8 + .../steel/steelpickaxehead_0.0004.json | 8 + .../steel/steelpickaxehead_0.001.json | 8 + .../steel/steelpickaxehead_0.0011.json | 8 + .../steel/steelpickaxehead_0.0012.json | 8 + .../steel/steelpickaxehead_0.0013.json | 8 + .../steel/steelpickaxehead_0.002.json | 8 + .../steel/steelpickaxehead_0.0021.json | 8 + .../steel/steelpickaxehead_0.0022.json | 8 + .../steel/steelpickaxehead_0.003.json | 8 + .../steel/steelpickaxehead_0.0031.json | 8 + .../steel/steelpickaxehead_0.004.json | 8 + .../steel/steelpickaxehead_0.01.json | 8 + .../steel/steelpickaxehead_0.0101.json | 8 + .../steel/steelpickaxehead_0.0102.json | 8 + .../steel/steelpickaxehead_0.0103.json | 8 + .../steel/steelpickaxehead_0.011.json | 8 + .../steel/steelpickaxehead_0.0111.json | 8 + .../steel/steelpickaxehead_0.0112.json | 8 + .../steel/steelpickaxehead_0.012.json | 8 + .../steel/steelpickaxehead_0.0121.json | 8 + .../steel/steelpickaxehead_0.013.json | 8 + .../steel/steelpickaxehead_0.02.json | 8 + .../steel/steelpickaxehead_0.0201.json | 8 + .../steel/steelpickaxehead_0.0202.json | 8 + .../steel/steelpickaxehead_0.021.json | 8 + .../steel/steelpickaxehead_0.0211.json | 8 + .../steel/steelpickaxehead_0.022.json | 8 + .../steel/steelpickaxehead_0.03.json | 8 + .../steel/steelpickaxehead_0.0301.json | 8 + .../steel/steelpickaxehead_0.031.json | 8 + .../steel/steelpickaxehead_0.04.json | 8 + .../steel/steelpickaxehead_0.1.json | 8 + .../steel/steelpickaxehead_0.101.json | 8 + .../steel/steelpickaxehead_0.102.json | 8 + .../steel/steelpickaxehead_0.103.json | 8 + .../steel/steelpickaxehead_0.11.json | 8 + .../steel/steelpickaxehead_0.111.json | 8 + .../steel/steelpickaxehead_0.112.json | 8 + .../steel/steelpickaxehead_0.12.json | 8 + .../steel/steelpickaxehead_0.121.json | 8 + .../steel/steelpickaxehead_0.13.json | 8 + .../pickaxehead/steel/steelpickaxehead_0.json | 4 +- .../pickaxehead/steel/steelpickaxehead_1.json | 4 +- .../steel/steelpickaxehead_10.json | 8 - .../steel/steelpickaxehead_11.json | 8 - .../steel/steelpickaxehead_12.json | 8 - .../steel/steelpickaxehead_13.json | 8 - .../steel/steelpickaxehead_14.json | 8 - .../steel/steelpickaxehead_15.json | 8 - .../steel/steelpickaxehead_16.json | 8 - .../steel/steelpickaxehead_17.json | 8 - .../steel/steelpickaxehead_18.json | 8 - .../steel/steelpickaxehead_19.json | 8 - .../pickaxehead/steel/steelpickaxehead_2.json | 8 - .../steel/steelpickaxehead_20.json | 8 - .../steel/steelpickaxehead_21.json | 8 - .../steel/steelpickaxehead_22.json | 8 - .../pickaxehead/steel/steelpickaxehead_3.json | 8 - .../pickaxehead/steel/steelpickaxehead_4.json | 8 - .../pickaxehead/steel/steelpickaxehead_5.json | 8 - .../pickaxehead/steel/steelpickaxehead_6.json | 8 - .../pickaxehead/steel/steelpickaxehead_7.json | 8 - .../pickaxehead/steel/steelpickaxehead_8.json | 8 - .../pickaxehead/steel/steelpickaxehead_9.json | 8 - .../models/item/pickaxehead/wootz/assets5.sh | 92 ++++ .../wootz/wootzpickaxehead_0.0001.json | 8 + .../wootz/wootzpickaxehead_0.0002.json | 8 + .../wootz/wootzpickaxehead_0.0003.json | 8 + .../wootz/wootzpickaxehead_0.0004.json | 8 + .../wootz/wootzpickaxehead_0.0005.json | 8 + .../wootz/wootzpickaxehead_0.001.json | 8 + .../wootz/wootzpickaxehead_0.0011.json | 8 + .../wootz/wootzpickaxehead_0.0012.json | 8 + .../wootz/wootzpickaxehead_0.0013.json | 8 + .../wootz/wootzpickaxehead_0.0014.json | 8 + .../wootz/wootzpickaxehead_0.002.json | 8 + .../wootz/wootzpickaxehead_0.0021.json | 8 + .../wootz/wootzpickaxehead_0.0022.json | 8 + .../wootz/wootzpickaxehead_0.0023.json | 8 + .../wootz/wootzpickaxehead_0.003.json | 8 + .../wootz/wootzpickaxehead_0.0031.json | 8 + .../wootz/wootzpickaxehead_0.0032.json | 8 + .../wootz/wootzpickaxehead_0.004.json | 8 + .../wootz/wootzpickaxehead_0.0041.json | 8 + .../wootz/wootzpickaxehead_0.005.json | 8 + .../wootz/wootzpickaxehead_0.01.json | 8 + .../wootz/wootzpickaxehead_0.0101.json | 8 + .../wootz/wootzpickaxehead_0.0102.json | 8 + .../wootz/wootzpickaxehead_0.0103.json | 8 + .../wootz/wootzpickaxehead_0.0104.json | 8 + .../wootz/wootzpickaxehead_0.011.json | 8 + .../wootz/wootzpickaxehead_0.0111.json | 8 + .../wootz/wootzpickaxehead_0.0112.json | 8 + .../wootz/wootzpickaxehead_0.0113.json | 8 + .../wootz/wootzpickaxehead_0.012.json | 8 + .../wootz/wootzpickaxehead_0.0121.json | 8 + .../wootz/wootzpickaxehead_0.0122.json | 8 + .../wootz/wootzpickaxehead_0.013.json | 8 + .../wootz/wootzpickaxehead_0.0131.json | 8 + .../wootz/wootzpickaxehead_0.014.json | 8 + .../wootz/wootzpickaxehead_0.02.json | 8 + .../wootz/wootzpickaxehead_0.0201.json | 8 + .../wootz/wootzpickaxehead_0.0202.json | 8 + .../wootz/wootzpickaxehead_0.0203.json | 8 + .../wootz/wootzpickaxehead_0.021.json | 8 + .../wootz/wootzpickaxehead_0.0211.json | 8 + .../wootz/wootzpickaxehead_0.0212.json | 8 + .../wootz/wootzpickaxehead_0.022.json | 8 + .../wootz/wootzpickaxehead_0.0221.json | 8 + .../wootz/wootzpickaxehead_0.03.json | 8 + .../wootz/wootzpickaxehead_0.0301.json | 8 + .../wootz/wootzpickaxehead_0.0302.json | 8 + .../wootz/wootzpickaxehead_0.031.json | 8 + .../wootz/wootzpickaxehead_0.0311.json | 8 + .../wootz/wootzpickaxehead_0.04.json | 8 + .../wootz/wootzpickaxehead_0.0401.json | 8 + .../wootz/wootzpickaxehead_0.041.json | 8 + .../wootz/wootzpickaxehead_0.05.json | 8 + .../wootz/wootzpickaxehead_0.1.json | 8 + .../wootz/wootzpickaxehead_0.101.json | 8 + .../wootz/wootzpickaxehead_0.102.json | 8 + .../wootz/wootzpickaxehead_0.103.json | 8 + .../wootz/wootzpickaxehead_0.104.json | 8 + .../wootz/wootzpickaxehead_0.11.json | 8 + .../wootz/wootzpickaxehead_0.111.json | 8 + .../wootz/wootzpickaxehead_0.112.json | 8 + .../wootz/wootzpickaxehead_0.113.json | 8 + .../wootz/wootzpickaxehead_0.12.json | 8 + .../wootz/wootzpickaxehead_0.121.json | 8 + .../wootz/wootzpickaxehead_0.122.json | 8 + .../wootz/wootzpickaxehead_0.13.json | 8 + .../wootz/wootzpickaxehead_0.131.json | 8 + .../wootz/wootzpickaxehead_0.14.json | 8 + .../pickaxehead/wootz/wootzpickaxehead_0.json | 4 +- .../pickaxehead/wootz/wootzpickaxehead_1.json | 4 +- .../wootz/wootzpickaxehead_10.json | 8 - .../wootz/wootzpickaxehead_11.json | 8 - .../wootz/wootzpickaxehead_12.json | 8 - .../wootz/wootzpickaxehead_13.json | 8 - .../wootz/wootzpickaxehead_14.json | 8 - .../wootz/wootzpickaxehead_15.json | 8 - .../wootz/wootzpickaxehead_16.json | 8 - .../wootz/wootzpickaxehead_17.json | 8 - .../wootz/wootzpickaxehead_18.json | 8 - .../wootz/wootzpickaxehead_19.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_2.json | 8 - .../wootz/wootzpickaxehead_20.json | 8 - .../wootz/wootzpickaxehead_21.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_3.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_4.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_5.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_6.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_7.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_8.json | 8 - .../pickaxehead/wootz/wootzpickaxehead_9.json | 8 - .../models/item/shovel/bronze/assets1.sh | 28 + .../shovel/bronze/bronzeshovel_0.0001.json | 8 + .../shovel/bronze/bronzeshovel_0.001.json | 8 + .../item/shovel/bronze/bronzeshovel_0.01.json | 8 + .../item/shovel/bronze/bronzeshovel_0.1.json | 8 + .../item/shovel/bronze/bronzeshovel_0.json | 4 +- .../item/shovel/bronze/bronzeshovel_1.json | 4 +- .../item/shovel/bronze/bronzeshovel_2.json | 8 - .../item/shovel/bronze/bronzeshovel_3.json | 8 - .../item/shovel/bronze/bronzeshovel_4.json | 8 - .../models/item/shovel/clean_iron/assets3.sh | 49 ++ .../clean_iron/clean_ironshovel_0.0001.json | 8 + .../clean_iron/clean_ironshovel_0.0002.json | 8 + .../clean_iron/clean_ironshovel_0.0003.json | 8 + .../clean_iron/clean_ironshovel_0.001.json | 8 + .../clean_iron/clean_ironshovel_0.0011.json | 8 + .../clean_iron/clean_ironshovel_0.0012.json | 8 + .../clean_iron/clean_ironshovel_0.002.json | 8 + .../clean_iron/clean_ironshovel_0.0021.json | 8 + .../clean_iron/clean_ironshovel_0.003.json | 8 + .../clean_iron/clean_ironshovel_0.01.json | 8 + .../clean_iron/clean_ironshovel_0.0101.json | 8 + .../clean_iron/clean_ironshovel_0.0102.json | 8 + .../clean_iron/clean_ironshovel_0.011.json | 8 + .../clean_iron/clean_ironshovel_0.0111.json | 8 + .../clean_iron/clean_ironshovel_0.012.json | 8 + .../clean_iron/clean_ironshovel_0.02.json | 8 + .../clean_iron/clean_ironshovel_0.0201.json | 8 + .../clean_iron/clean_ironshovel_0.021.json | 8 + .../clean_iron/clean_ironshovel_0.03.json | 8 + .../clean_iron/clean_ironshovel_0.1.json | 8 + .../clean_iron/clean_ironshovel_0.101.json | 8 + .../clean_iron/clean_ironshovel_0.102.json | 8 + .../clean_iron/clean_ironshovel_0.11.json | 8 + .../clean_iron/clean_ironshovel_0.111.json | 8 + .../clean_iron/clean_ironshovel_0.12.json | 8 + .../shovel/clean_iron/clean_ironshovel_0.json | 8 + .../shovel/clean_iron/clean_ironshovel_1.json | 8 + .../shovel/cleaniron/cleanironshovel_0.json | 8 - .../shovel/cleaniron/cleanironshovel_1.json | 8 - .../shovel/cleaniron/cleanironshovel_10.json | 8 - .../shovel/cleaniron/cleanironshovel_11.json | 8 - .../shovel/cleaniron/cleanironshovel_12.json | 8 - .../shovel/cleaniron/cleanironshovel_13.json | 8 - .../shovel/cleaniron/cleanironshovel_14.json | 8 - .../shovel/cleaniron/cleanironshovel_15.json | 8 - .../shovel/cleaniron/cleanironshovel_16.json | 8 - .../shovel/cleaniron/cleanironshovel_17.json | 8 - .../shovel/cleaniron/cleanironshovel_18.json | 8 - .../shovel/cleaniron/cleanironshovel_19.json | 8 - .../shovel/cleaniron/cleanironshovel_2.json | 8 - .../shovel/cleaniron/cleanironshovel_20.json | 8 - .../shovel/cleaniron/cleanironshovel_21.json | 8 - .../shovel/cleaniron/cleanironshovel_3.json | 8 - .../shovel/cleaniron/cleanironshovel_4.json | 8 - .../shovel/cleaniron/cleanironshovel_5.json | 8 - .../shovel/cleaniron/cleanironshovel_6.json | 8 - .../shovel/cleaniron/cleanironshovel_7.json | 8 - .../shovel/cleaniron/cleanironshovel_8.json | 8 - .../shovel/cleaniron/cleanironshovel_9.json | 8 - .../models/item/shovel/copper/assets1.sh | 28 + .../shovel/copper/coppershovel_0.0001.json | 8 + .../shovel/copper/coppershovel_0.001.json | 8 + .../item/shovel/copper/coppershovel_0.01.json | 8 + .../item/shovel/copper/coppershovel_0.1.json | 8 + .../item/shovel/copper/coppershovel_0.json | 8 + .../item/shovel/copper/coppershovel_1.json | 8 + .../models/item/shovel/iron/assets2.sh | 36 ++ .../item/shovel/iron/ironshovel_0.0001.json | 8 + .../item/shovel/iron/ironshovel_0.0002.json | 8 + .../item/shovel/iron/ironshovel_0.001.json | 8 + .../item/shovel/iron/ironshovel_0.0011.json | 8 + .../item/shovel/iron/ironshovel_0.002.json | 8 + .../item/shovel/iron/ironshovel_0.01.json | 8 + .../item/shovel/iron/ironshovel_0.0101.json | 8 + .../item/shovel/iron/ironshovel_0.011.json | 8 + .../item/shovel/iron/ironshovel_0.02.json | 8 + .../item/shovel/iron/ironshovel_0.1.json | 8 + .../item/shovel/iron/ironshovel_0.101.json | 8 + .../item/shovel/iron/ironshovel_0.11.json | 8 + .../models/item/shovel/iron/ironshovel_0.json | 4 +- .../models/item/shovel/iron/ironshovel_1.json | 4 +- .../item/shovel/iron/ironshovel_10.json | 8 - .../item/shovel/iron/ironshovel_11.json | 8 - .../item/shovel/iron/ironshovel_12.json | 8 - .../item/shovel/iron/ironshovel_13.json | 8 - .../item/shovel/iron/ironshovel_14.json | 8 - .../item/shovel/iron/ironshovel_15.json | 8 - .../item/shovel/iron/ironshovel_16.json | 8 - .../item/shovel/iron/ironshovel_17.json | 8 - .../item/shovel/iron/ironshovel_18.json | 8 - .../item/shovel/iron/ironshovel_19.json | 8 - .../models/item/shovel/iron/ironshovel_2.json | 8 - .../item/shovel/iron/ironshovel_20.json | 8 - .../item/shovel/iron/ironshovel_21.json | 8 - .../models/item/shovel/iron/ironshovel_3.json | 8 - .../models/item/shovel/iron/ironshovel_4.json | 8 - .../models/item/shovel/iron/ironshovel_5.json | 8 - .../models/item/shovel/iron/ironshovel_6.json | 8 - .../models/item/shovel/iron/ironshovel_7.json | 8 - .../models/item/shovel/iron/ironshovel_8.json | 8 - .../models/item/shovel/iron/ironshovel_9.json | 8 - .../models/item/shovel/steel/assets4.sh | 68 +++ .../item/shovel/steel/steelshovel_0.0001.json | 8 + .../item/shovel/steel/steelshovel_0.0002.json | 8 + .../item/shovel/steel/steelshovel_0.0003.json | 8 + .../item/shovel/steel/steelshovel_0.0004.json | 8 + .../item/shovel/steel/steelshovel_0.001.json | 8 + .../item/shovel/steel/steelshovel_0.0011.json | 8 + .../item/shovel/steel/steelshovel_0.0012.json | 8 + .../item/shovel/steel/steelshovel_0.0013.json | 8 + .../item/shovel/steel/steelshovel_0.002.json | 8 + .../item/shovel/steel/steelshovel_0.0021.json | 8 + .../item/shovel/steel/steelshovel_0.0022.json | 8 + .../item/shovel/steel/steelshovel_0.003.json | 8 + .../item/shovel/steel/steelshovel_0.0031.json | 8 + .../item/shovel/steel/steelshovel_0.004.json | 8 + .../item/shovel/steel/steelshovel_0.01.json | 8 + .../item/shovel/steel/steelshovel_0.0101.json | 8 + .../item/shovel/steel/steelshovel_0.0102.json | 8 + .../item/shovel/steel/steelshovel_0.0103.json | 8 + .../item/shovel/steel/steelshovel_0.011.json | 8 + .../item/shovel/steel/steelshovel_0.0111.json | 8 + .../item/shovel/steel/steelshovel_0.0112.json | 8 + .../item/shovel/steel/steelshovel_0.012.json | 8 + .../item/shovel/steel/steelshovel_0.0121.json | 8 + .../item/shovel/steel/steelshovel_0.013.json | 8 + .../item/shovel/steel/steelshovel_0.02.json | 8 + .../item/shovel/steel/steelshovel_0.0201.json | 8 + .../item/shovel/steel/steelshovel_0.0202.json | 8 + .../item/shovel/steel/steelshovel_0.021.json | 8 + .../item/shovel/steel/steelshovel_0.0211.json | 8 + .../item/shovel/steel/steelshovel_0.022.json | 8 + .../item/shovel/steel/steelshovel_0.03.json | 8 + .../item/shovel/steel/steelshovel_0.0301.json | 8 + .../item/shovel/steel/steelshovel_0.031.json | 8 + .../item/shovel/steel/steelshovel_0.04.json | 8 + .../item/shovel/steel/steelshovel_0.1.json | 8 + .../item/shovel/steel/steelshovel_0.101.json | 8 + .../item/shovel/steel/steelshovel_0.102.json | 8 + .../item/shovel/steel/steelshovel_0.103.json | 8 + .../item/shovel/steel/steelshovel_0.11.json | 8 + .../item/shovel/steel/steelshovel_0.111.json | 8 + .../item/shovel/steel/steelshovel_0.112.json | 8 + .../item/shovel/steel/steelshovel_0.12.json | 8 + .../item/shovel/steel/steelshovel_0.121.json | 8 + .../item/shovel/steel/steelshovel_0.13.json | 8 + .../item/shovel/steel/steelshovel_0.json | 4 +- .../item/shovel/steel/steelshovel_1.json | 4 +- .../item/shovel/steel/steelshovel_10.json | 8 - .../item/shovel/steel/steelshovel_11.json | 8 - .../item/shovel/steel/steelshovel_12.json | 8 - .../item/shovel/steel/steelshovel_13.json | 8 - .../item/shovel/steel/steelshovel_14.json | 8 - .../item/shovel/steel/steelshovel_15.json | 8 - .../item/shovel/steel/steelshovel_16.json | 8 - .../item/shovel/steel/steelshovel_17.json | 8 - .../item/shovel/steel/steelshovel_18.json | 8 - .../item/shovel/steel/steelshovel_19.json | 8 - .../item/shovel/steel/steelshovel_2.json | 8 - .../item/shovel/steel/steelshovel_20.json | 8 - .../item/shovel/steel/steelshovel_21.json | 8 - .../item/shovel/steel/steelshovel_3.json | 8 - .../item/shovel/steel/steelshovel_4.json | 8 - .../item/shovel/steel/steelshovel_5.json | 8 - .../item/shovel/steel/steelshovel_6.json | 8 - .../item/shovel/steel/steelshovel_7.json | 8 - .../item/shovel/steel/steelshovel_8.json | 8 - .../item/shovel/steel/steelshovel_9.json | 8 - .../models/item/shovel/wootz/assets5.sh | 92 ++++ .../item/shovel/wootz/wootzshovel_0.0001.json | 8 + .../item/shovel/wootz/wootzshovel_0.0002.json | 8 + .../item/shovel/wootz/wootzshovel_0.0003.json | 8 + .../item/shovel/wootz/wootzshovel_0.0004.json | 8 + .../item/shovel/wootz/wootzshovel_0.0005.json | 8 + .../item/shovel/wootz/wootzshovel_0.001.json | 8 + .../item/shovel/wootz/wootzshovel_0.0011.json | 8 + .../item/shovel/wootz/wootzshovel_0.0012.json | 8 + .../item/shovel/wootz/wootzshovel_0.0013.json | 8 + .../item/shovel/wootz/wootzshovel_0.0014.json | 8 + .../item/shovel/wootz/wootzshovel_0.002.json | 8 + .../item/shovel/wootz/wootzshovel_0.0021.json | 8 + .../item/shovel/wootz/wootzshovel_0.0022.json | 8 + .../item/shovel/wootz/wootzshovel_0.0023.json | 8 + .../item/shovel/wootz/wootzshovel_0.003.json | 8 + .../item/shovel/wootz/wootzshovel_0.0031.json | 8 + .../item/shovel/wootz/wootzshovel_0.0032.json | 8 + .../item/shovel/wootz/wootzshovel_0.004.json | 8 + .../item/shovel/wootz/wootzshovel_0.0041.json | 8 + .../item/shovel/wootz/wootzshovel_0.005.json | 8 + .../item/shovel/wootz/wootzshovel_0.01.json | 8 + .../item/shovel/wootz/wootzshovel_0.0101.json | 8 + .../item/shovel/wootz/wootzshovel_0.0102.json | 8 + .../item/shovel/wootz/wootzshovel_0.0103.json | 8 + .../item/shovel/wootz/wootzshovel_0.0104.json | 8 + .../item/shovel/wootz/wootzshovel_0.011.json | 8 + .../item/shovel/wootz/wootzshovel_0.0111.json | 8 + .../item/shovel/wootz/wootzshovel_0.0112.json | 8 + .../item/shovel/wootz/wootzshovel_0.0113.json | 8 + .../item/shovel/wootz/wootzshovel_0.012.json | 8 + .../item/shovel/wootz/wootzshovel_0.0121.json | 8 + .../item/shovel/wootz/wootzshovel_0.0122.json | 8 + .../item/shovel/wootz/wootzshovel_0.013.json | 8 + .../item/shovel/wootz/wootzshovel_0.0131.json | 8 + .../item/shovel/wootz/wootzshovel_0.014.json | 8 + .../item/shovel/wootz/wootzshovel_0.02.json | 8 + .../item/shovel/wootz/wootzshovel_0.0201.json | 8 + .../item/shovel/wootz/wootzshovel_0.0202.json | 8 + .../item/shovel/wootz/wootzshovel_0.0203.json | 8 + .../item/shovel/wootz/wootzshovel_0.021.json | 8 + .../item/shovel/wootz/wootzshovel_0.0211.json | 8 + .../item/shovel/wootz/wootzshovel_0.0212.json | 8 + .../item/shovel/wootz/wootzshovel_0.022.json | 8 + .../item/shovel/wootz/wootzshovel_0.0221.json | 8 + .../item/shovel/wootz/wootzshovel_0.03.json | 8 + .../item/shovel/wootz/wootzshovel_0.0301.json | 8 + .../item/shovel/wootz/wootzshovel_0.0302.json | 8 + .../item/shovel/wootz/wootzshovel_0.031.json | 8 + .../item/shovel/wootz/wootzshovel_0.0311.json | 8 + .../item/shovel/wootz/wootzshovel_0.04.json | 8 + .../item/shovel/wootz/wootzshovel_0.0401.json | 8 + .../item/shovel/wootz/wootzshovel_0.041.json | 8 + .../item/shovel/wootz/wootzshovel_0.05.json | 8 + .../item/shovel/wootz/wootzshovel_0.1.json | 8 + .../item/shovel/wootz/wootzshovel_0.101.json | 8 + .../item/shovel/wootz/wootzshovel_0.102.json | 8 + .../item/shovel/wootz/wootzshovel_0.103.json | 8 + .../item/shovel/wootz/wootzshovel_0.104.json | 8 + .../item/shovel/wootz/wootzshovel_0.11.json | 8 + .../item/shovel/wootz/wootzshovel_0.111.json | 8 + .../item/shovel/wootz/wootzshovel_0.112.json | 8 + .../item/shovel/wootz/wootzshovel_0.113.json | 8 + .../item/shovel/wootz/wootzshovel_0.12.json | 8 + .../item/shovel/wootz/wootzshovel_0.121.json | 8 + .../item/shovel/wootz/wootzshovel_0.122.json | 8 + .../item/shovel/wootz/wootzshovel_0.13.json | 8 + .../item/shovel/wootz/wootzshovel_0.131.json | 8 + .../item/shovel/wootz/wootzshovel_0.14.json | 8 + .../item/shovel/wootz/wootzshovel_0.json | 4 +- .../item/shovel/wootz/wootzshovel_1.json | 4 +- .../item/shovel/wootz/wootzshovel_10.json | 8 - .../item/shovel/wootz/wootzshovel_11.json | 8 - .../item/shovel/wootz/wootzshovel_12.json | 8 - .../item/shovel/wootz/wootzshovel_13.json | 8 - .../item/shovel/wootz/wootzshovel_14.json | 8 - .../item/shovel/wootz/wootzshovel_15.json | 8 - .../item/shovel/wootz/wootzshovel_16.json | 8 - .../item/shovel/wootz/wootzshovel_17.json | 8 - .../item/shovel/wootz/wootzshovel_18.json | 8 - .../item/shovel/wootz/wootzshovel_19.json | 8 - .../item/shovel/wootz/wootzshovel_2.json | 8 - .../item/shovel/wootz/wootzshovel_20.json | 8 - .../item/shovel/wootz/wootzshovel_21.json | 8 - .../item/shovel/wootz/wootzshovel_3.json | 8 - .../item/shovel/wootz/wootzshovel_4.json | 8 - .../item/shovel/wootz/wootzshovel_5.json | 8 - .../item/shovel/wootz/wootzshovel_6.json | 8 - .../item/shovel/wootz/wootzshovel_7.json | 8 - .../item/shovel/wootz/wootzshovel_8.json | 8 - .../item/shovel/wootz/wootzshovel_9.json | 8 - .../models/item/shovelhead/bronze/assets1.sh | 28 + .../bronze/bronzeshovelhead_0.0001.json | 8 + .../bronze/bronzeshovelhead_0.001.json | 8 + .../bronze/bronzeshovelhead_0.01.json | 8 + .../bronze/bronzeshovelhead_0.1.json | 8 + .../shovelhead/bronze/bronzeshovelhead_0.json | 4 +- .../shovelhead/bronze/bronzeshovelhead_1.json | 4 +- .../shovelhead/bronze/bronzeshovelhead_2.json | 8 - .../shovelhead/bronze/bronzeshovelhead_3.json | 8 - .../shovelhead/bronze/bronzeshovelhead_4.json | 8 - .../item/shovelhead/clean_iron/assets3.sh | 49 ++ .../clean_ironshovelhead_0.0001.json | 8 + .../clean_ironshovelhead_0.0002.json | 8 + .../clean_ironshovelhead_0.0003.json | 8 + .../clean_ironshovelhead_0.001.json | 8 + .../clean_ironshovelhead_0.0011.json | 8 + .../clean_ironshovelhead_0.0012.json | 8 + .../clean_ironshovelhead_0.002.json | 8 + .../clean_ironshovelhead_0.0021.json | 8 + .../clean_ironshovelhead_0.003.json | 8 + .../clean_iron/clean_ironshovelhead_0.01.json | 8 + .../clean_ironshovelhead_0.0101.json | 8 + .../clean_ironshovelhead_0.0102.json | 8 + .../clean_ironshovelhead_0.011.json | 8 + .../clean_ironshovelhead_0.0111.json | 8 + .../clean_ironshovelhead_0.012.json | 8 + .../clean_iron/clean_ironshovelhead_0.02.json | 8 + .../clean_ironshovelhead_0.0201.json | 8 + .../clean_ironshovelhead_0.021.json | 8 + .../clean_iron/clean_ironshovelhead_0.03.json | 8 + .../clean_iron/clean_ironshovelhead_0.1.json | 8 + .../clean_ironshovelhead_0.101.json | 8 + .../clean_ironshovelhead_0.102.json | 8 + .../clean_iron/clean_ironshovelhead_0.11.json | 8 + .../clean_ironshovelhead_0.111.json | 8 + .../clean_iron/clean_ironshovelhead_0.12.json | 8 + .../clean_iron/clean_ironshovelhead_0.json | 8 + .../clean_iron/clean_ironshovelhead_1.json | 8 + .../cleaniron/cleanironshovelhead_0.json | 8 - .../cleaniron/cleanironshovelhead_1.json | 8 - .../cleaniron/cleanironshovelhead_10.json | 8 - .../cleaniron/cleanironshovelhead_11.json | 8 - .../cleaniron/cleanironshovelhead_12.json | 8 - .../cleaniron/cleanironshovelhead_13.json | 8 - .../cleaniron/cleanironshovelhead_14.json | 8 - .../cleaniron/cleanironshovelhead_15.json | 8 - .../cleaniron/cleanironshovelhead_16.json | 8 - .../cleaniron/cleanironshovelhead_17.json | 8 - .../cleaniron/cleanironshovelhead_18.json | 8 - .../cleaniron/cleanironshovelhead_19.json | 8 - .../cleaniron/cleanironshovelhead_2.json | 8 - .../cleaniron/cleanironshovelhead_20.json | 8 - .../cleaniron/cleanironshovelhead_21.json | 8 - .../cleaniron/cleanironshovelhead_3.json | 8 - .../cleaniron/cleanironshovelhead_4.json | 8 - .../cleaniron/cleanironshovelhead_5.json | 8 - .../cleaniron/cleanironshovelhead_6.json | 8 - .../cleaniron/cleanironshovelhead_7.json | 8 - .../cleaniron/cleanironshovelhead_8.json | 8 - .../cleaniron/cleanironshovelhead_9.json | 8 - .../models/item/shovelhead/copper/assets1.sh | 28 + .../copper/coppershovelhead_0.0001.json | 8 + .../copper/coppershovelhead_0.001.json | 8 + .../copper/coppershovelhead_0.01.json | 8 + .../copper/coppershovelhead_0.1.json | 8 + .../shovelhead/copper/coppershovelhead_0.json | 8 + .../shovelhead/copper/coppershovelhead_1.json | 8 + .../models/item/shovelhead/iron/assets2.sh | 36 ++ .../iron/ironshovelhead_0.0001.json | 8 + .../iron/ironshovelhead_0.0002.json | 8 + .../shovelhead/iron/ironshovelhead_0.001.json | 8 + .../iron/ironshovelhead_0.0011.json | 8 + .../shovelhead/iron/ironshovelhead_0.002.json | 8 + .../shovelhead/iron/ironshovelhead_0.01.json | 8 + .../iron/ironshovelhead_0.0101.json | 8 + .../shovelhead/iron/ironshovelhead_0.011.json | 8 + .../shovelhead/iron/ironshovelhead_0.02.json | 8 + .../shovelhead/iron/ironshovelhead_0.1.json | 8 + .../shovelhead/iron/ironshovelhead_0.101.json | 8 + .../shovelhead/iron/ironshovelhead_0.11.json | 8 + .../shovelhead/iron/ironshovelhead_0.json | 4 +- .../shovelhead/iron/ironshovelhead_1.json | 4 +- .../shovelhead/iron/ironshovelhead_10.json | 8 - .../shovelhead/iron/ironshovelhead_11.json | 8 - .../shovelhead/iron/ironshovelhead_12.json | 8 - .../shovelhead/iron/ironshovelhead_13.json | 8 - .../shovelhead/iron/ironshovelhead_14.json | 8 - .../shovelhead/iron/ironshovelhead_15.json | 8 - .../shovelhead/iron/ironshovelhead_16.json | 8 - .../shovelhead/iron/ironshovelhead_17.json | 8 - .../shovelhead/iron/ironshovelhead_18.json | 8 - .../shovelhead/iron/ironshovelhead_19.json | 8 - .../shovelhead/iron/ironshovelhead_2.json | 8 - .../shovelhead/iron/ironshovelhead_20.json | 8 - .../shovelhead/iron/ironshovelhead_21.json | 8 - .../shovelhead/iron/ironshovelhead_3.json | 8 - .../shovelhead/iron/ironshovelhead_4.json | 8 - .../shovelhead/iron/ironshovelhead_5.json | 8 - .../shovelhead/iron/ironshovelhead_6.json | 8 - .../shovelhead/iron/ironshovelhead_7.json | 8 - .../shovelhead/iron/ironshovelhead_8.json | 8 - .../shovelhead/iron/ironshovelhead_9.json | 8 - .../models/item/shovelhead/steel/assets4.sh | 68 +++ .../steel/steelshovelhead_0.0001.json | 8 + .../steel/steelshovelhead_0.0002.json | 8 + .../steel/steelshovelhead_0.0003.json | 8 + .../steel/steelshovelhead_0.0004.json | 8 + .../steel/steelshovelhead_0.001.json | 8 + .../steel/steelshovelhead_0.0011.json | 8 + .../steel/steelshovelhead_0.0012.json | 8 + .../steel/steelshovelhead_0.0013.json | 8 + .../steel/steelshovelhead_0.002.json | 8 + .../steel/steelshovelhead_0.0021.json | 8 + .../steel/steelshovelhead_0.0022.json | 8 + .../steel/steelshovelhead_0.003.json | 8 + .../steel/steelshovelhead_0.0031.json | 8 + .../steel/steelshovelhead_0.004.json | 8 + .../steel/steelshovelhead_0.01.json | 8 + .../steel/steelshovelhead_0.0101.json | 8 + .../steel/steelshovelhead_0.0102.json | 8 + .../steel/steelshovelhead_0.0103.json | 8 + .../steel/steelshovelhead_0.011.json | 8 + .../steel/steelshovelhead_0.0111.json | 8 + .../steel/steelshovelhead_0.0112.json | 8 + .../steel/steelshovelhead_0.012.json | 8 + .../steel/steelshovelhead_0.0121.json | 8 + .../steel/steelshovelhead_0.013.json | 8 + .../steel/steelshovelhead_0.02.json | 8 + .../steel/steelshovelhead_0.0201.json | 8 + .../steel/steelshovelhead_0.0202.json | 8 + .../steel/steelshovelhead_0.021.json | 8 + .../steel/steelshovelhead_0.0211.json | 8 + .../steel/steelshovelhead_0.022.json | 8 + .../steel/steelshovelhead_0.03.json | 8 + .../steel/steelshovelhead_0.0301.json | 8 + .../steel/steelshovelhead_0.031.json | 8 + .../steel/steelshovelhead_0.04.json | 8 + .../shovelhead/steel/steelshovelhead_0.1.json | 8 + .../steel/steelshovelhead_0.101.json | 8 + .../steel/steelshovelhead_0.102.json | 8 + .../steel/steelshovelhead_0.103.json | 8 + .../steel/steelshovelhead_0.11.json | 8 + .../steel/steelshovelhead_0.111.json | 8 + .../steel/steelshovelhead_0.112.json | 8 + .../steel/steelshovelhead_0.12.json | 8 + .../steel/steelshovelhead_0.121.json | 8 + .../steel/steelshovelhead_0.13.json | 8 + .../shovelhead/steel/steelshovelhead_0.json | 4 +- .../shovelhead/steel/steelshovelhead_1.json | 4 +- .../shovelhead/steel/steelshovelhead_10.json | 8 - .../shovelhead/steel/steelshovelhead_11.json | 8 - .../shovelhead/steel/steelshovelhead_12.json | 8 - .../shovelhead/steel/steelshovelhead_13.json | 8 - .../shovelhead/steel/steelshovelhead_14.json | 8 - .../shovelhead/steel/steelshovelhead_15.json | 8 - .../shovelhead/steel/steelshovelhead_16.json | 8 - .../shovelhead/steel/steelshovelhead_17.json | 8 - .../shovelhead/steel/steelshovelhead_18.json | 8 - .../shovelhead/steel/steelshovelhead_19.json | 8 - .../shovelhead/steel/steelshovelhead_2.json | 8 - .../shovelhead/steel/steelshovelhead_20.json | 8 - .../shovelhead/steel/steelshovelhead_21.json | 8 - .../shovelhead/steel/steelshovelhead_3.json | 8 - .../shovelhead/steel/steelshovelhead_4.json | 8 - .../shovelhead/steel/steelshovelhead_5.json | 8 - .../shovelhead/steel/steelshovelhead_6.json | 8 - .../shovelhead/steel/steelshovelhead_7.json | 8 - .../shovelhead/steel/steelshovelhead_8.json | 8 - .../shovelhead/steel/steelshovelhead_9.json | 8 - .../models/item/shovelhead/wootz/assets5.sh | 92 ++++ .../wootz/wootzshovelhead_0.0001.json | 8 + .../wootz/wootzshovelhead_0.0002.json | 8 + .../wootz/wootzshovelhead_0.0003.json | 8 + .../wootz/wootzshovelhead_0.0004.json | 8 + .../wootz/wootzshovelhead_0.0005.json | 8 + .../wootz/wootzshovelhead_0.001.json | 8 + .../wootz/wootzshovelhead_0.0011.json | 8 + .../wootz/wootzshovelhead_0.0012.json | 8 + .../wootz/wootzshovelhead_0.0013.json | 8 + .../wootz/wootzshovelhead_0.0014.json | 8 + .../wootz/wootzshovelhead_0.002.json | 8 + .../wootz/wootzshovelhead_0.0021.json | 8 + .../wootz/wootzshovelhead_0.0022.json | 8 + .../wootz/wootzshovelhead_0.0023.json | 8 + .../wootz/wootzshovelhead_0.003.json | 8 + .../wootz/wootzshovelhead_0.0031.json | 8 + .../wootz/wootzshovelhead_0.0032.json | 8 + .../wootz/wootzshovelhead_0.004.json | 8 + .../wootz/wootzshovelhead_0.0041.json | 8 + .../wootz/wootzshovelhead_0.005.json | 8 + .../wootz/wootzshovelhead_0.01.json | 8 + .../wootz/wootzshovelhead_0.0101.json | 8 + .../wootz/wootzshovelhead_0.0102.json | 8 + .../wootz/wootzshovelhead_0.0103.json | 8 + .../wootz/wootzshovelhead_0.0104.json | 8 + .../wootz/wootzshovelhead_0.011.json | 8 + .../wootz/wootzshovelhead_0.0111.json | 8 + .../wootz/wootzshovelhead_0.0112.json | 8 + .../wootz/wootzshovelhead_0.0113.json | 8 + .../wootz/wootzshovelhead_0.012.json | 8 + .../wootz/wootzshovelhead_0.0121.json | 8 + .../wootz/wootzshovelhead_0.0122.json | 8 + .../wootz/wootzshovelhead_0.013.json | 8 + .../wootz/wootzshovelhead_0.0131.json | 8 + .../wootz/wootzshovelhead_0.014.json | 8 + .../wootz/wootzshovelhead_0.02.json | 8 + .../wootz/wootzshovelhead_0.0201.json | 8 + .../wootz/wootzshovelhead_0.0202.json | 8 + .../wootz/wootzshovelhead_0.0203.json | 8 + .../wootz/wootzshovelhead_0.021.json | 8 + .../wootz/wootzshovelhead_0.0211.json | 8 + .../wootz/wootzshovelhead_0.0212.json | 8 + .../wootz/wootzshovelhead_0.022.json | 8 + .../wootz/wootzshovelhead_0.0221.json | 8 + .../wootz/wootzshovelhead_0.03.json | 8 + .../wootz/wootzshovelhead_0.0301.json | 8 + .../wootz/wootzshovelhead_0.0302.json | 8 + .../wootz/wootzshovelhead_0.031.json | 8 + .../wootz/wootzshovelhead_0.0311.json | 8 + .../wootz/wootzshovelhead_0.04.json | 8 + .../wootz/wootzshovelhead_0.0401.json | 8 + .../wootz/wootzshovelhead_0.041.json | 8 + .../wootz/wootzshovelhead_0.05.json | 8 + .../shovelhead/wootz/wootzshovelhead_0.1.json | 8 + .../wootz/wootzshovelhead_0.101.json | 8 + .../wootz/wootzshovelhead_0.102.json | 8 + .../wootz/wootzshovelhead_0.103.json | 8 + .../wootz/wootzshovelhead_0.104.json | 8 + .../wootz/wootzshovelhead_0.11.json | 8 + .../wootz/wootzshovelhead_0.111.json | 8 + .../wootz/wootzshovelhead_0.112.json | 8 + .../wootz/wootzshovelhead_0.113.json | 8 + .../wootz/wootzshovelhead_0.12.json | 8 + .../wootz/wootzshovelhead_0.121.json | 8 + .../wootz/wootzshovelhead_0.122.json | 8 + .../wootz/wootzshovelhead_0.13.json | 8 + .../wootz/wootzshovelhead_0.131.json | 8 + .../wootz/wootzshovelhead_0.14.json | 8 + .../shovelhead/wootz/wootzshovelhead_0.json | 4 +- .../shovelhead/wootz/wootzshovelhead_1.json | 4 +- .../shovelhead/wootz/wootzshovelhead_10.json | 8 - .../shovelhead/wootz/wootzshovelhead_11.json | 8 - .../shovelhead/wootz/wootzshovelhead_12.json | 8 - .../shovelhead/wootz/wootzshovelhead_13.json | 8 - .../shovelhead/wootz/wootzshovelhead_14.json | 8 - .../shovelhead/wootz/wootzshovelhead_15.json | 8 - .../shovelhead/wootz/wootzshovelhead_16.json | 8 - .../shovelhead/wootz/wootzshovelhead_17.json | 8 - .../shovelhead/wootz/wootzshovelhead_18.json | 8 - .../shovelhead/wootz/wootzshovelhead_19.json | 8 - .../shovelhead/wootz/wootzshovelhead_2.json | 8 - .../shovelhead/wootz/wootzshovelhead_20.json | 8 - .../shovelhead/wootz/wootzshovelhead_21.json | 8 - .../shovelhead/wootz/wootzshovelhead_3.json | 8 - .../shovelhead/wootz/wootzshovelhead_4.json | 8 - .../shovelhead/wootz/wootzshovelhead_5.json | 8 - .../shovelhead/wootz/wootzshovelhead_6.json | 8 - .../shovelhead/wootz/wootzshovelhead_7.json | 8 - .../shovelhead/wootz/wootzshovelhead_8.json | 8 - .../shovelhead/wootz/wootzshovelhead_9.json | 8 - .../item/slottedtongs/slottedtongs_10.json | 2 +- .../item/slottedtongs/slottedtongs_11.json | 2 +- .../item/slottedtongs/slottedtongs_12.json | 2 +- .../item/slottedtongs/slottedtongs_13.json | 2 +- .../item/slottedtongs/slottedtongs_14.json | 2 +- .../item/slottedtongs/slottedtongs_16.json | 2 +- .../item/slottedtongs/slottedtongs_17.json | 2 +- .../item/slottedtongs/slottedtongs_18.json | 2 +- .../item/slottedtongs/slottedtongs_19.json | 2 +- .../item/slottedtongs/slottedtongs_20.json | 2 +- .../item/slottedtongs/slottedtongs_22.json | 2 +- .../item/slottedtongs/slottedtongs_23.json | 2 +- .../item/slottedtongs/slottedtongs_24.json | 2 +- .../item/slottedtongs/slottedtongs_25.json | 2 +- .../item/slottedtongs/slottedtongs_26.json | 2 +- .../item/slottedtongs/slottedtongs_27.json | 2 +- .../item/slottedtongs/slottedtongs_4.json | 2 +- .../item/slottedtongs/slottedtongs_5.json | 2 +- .../item/slottedtongs/slottedtongs_6.json | 2 +- .../item/slottedtongs/slottedtongs_7.json | 2 +- .../item/slottedtongs/slottedtongs_8.json | 2 +- .../forgecraft/models/item/steelaxe.json | 72 ++- .../forgecraft/models/item/steelaxehead.json | 69 ++- .../forgecraft/models/item/steelhoe.json | 72 ++- .../forgecraft/models/item/steelhoehead.json | 70 ++- .../forgecraft/models/item/steelpickaxe.json | 73 ++- .../models/item/steelpickaxehead.json | 70 ++- .../forgecraft/models/item/steelshovel.json | 68 ++- .../models/item/steelshovelhead.json | 67 ++- .../forgecraft/models/item/wootzaxe.json | 95 +++- .../forgecraft/models/item/wootzaxehead.json | 93 +++- .../forgecraft/models/item/wootzhoe.json | 96 +++- .../forgecraft/models/item/wootzhoehead.json | 94 +++- .../forgecraft/models/item/wootzpickaxe.json | 98 +++- .../models/item/wootzpickaxehead.json | 95 +++- .../forgecraft/models/item/wootzshovel.json | 95 +++- .../models/item/wootzshovelhead.json | 94 +++- .../models/item/wroughtirongladius.json | 4 +- .../textures/baseMaterialUpgrades.xcf | Bin 0 -> 23453 bytes .../forgecraft/textures/diamondLayer4.png | Bin 0 -> 310 bytes .../forgecraft/textures/diamondLayer5.png | Bin 0 -> 353 bytes .../forgecraft/textures/ingot_bronze.png | Bin 0 -> 3264 bytes ...an_iron_ingot.png => ingot_clean_iron.png} | Bin .../forgecraft/textures/ingot_copper.png | Bin 0 -> 3246 bytes .../steel_ingot.png => ingot_steel.png} | Bin .../wootz_ingot.png => ingot_wootz.png} | Bin .../iron_ingot.png => ingot_wrought.png} | Bin .../textures/items/bronze/0.0001.png | Bin 0 -> 744 bytes .../textures/items/bronze/0.001.png | Bin 0 -> 765 bytes .../forgecraft/textures/items/bronze/0.01.png | Bin 0 -> 773 bytes .../forgecraft/textures/items/bronze/0.1.png | Bin 0 -> 969 bytes .../forgecraft/textures/items/bronze/0.png | Bin 0 -> 3264 bytes .../items/{ => bronze}/hot_bronze.png | Bin .../items/{ => bronze}/molten_bronze.png | Bin .../items/{ => bronze}/raw_bronze.png | Bin .../textures/items/clean_iron/0.0001.png | Bin 0 -> 774 bytes .../textures/items/clean_iron/0.0002.png | Bin 0 -> 852 bytes .../textures/items/clean_iron/0.0003.png | Bin 0 -> 913 bytes .../textures/items/clean_iron/0.001.png | Bin 0 -> 737 bytes .../textures/items/clean_iron/0.0011.png | Bin 0 -> 835 bytes .../textures/items/clean_iron/0.0012.png | Bin 0 -> 901 bytes .../textures/items/clean_iron/0.002.png | Bin 0 -> 809 bytes .../textures/items/clean_iron/0.0021.png | Bin 0 -> 878 bytes .../textures/items/clean_iron/0.003.png | Bin 0 -> 868 bytes .../textures/items/clean_iron/0.01.png | Bin 0 -> 766 bytes .../textures/items/clean_iron/0.0101.png | Bin 0 -> 854 bytes .../textures/items/clean_iron/0.0102.png | Bin 0 -> 914 bytes .../textures/items/clean_iron/0.011.png | Bin 0 -> 814 bytes .../textures/items/clean_iron/0.0111.png | Bin 0 -> 906 bytes .../textures/items/clean_iron/0.012.png | Bin 0 -> 870 bytes .../textures/items/clean_iron/0.02.png | Bin 0 -> 827 bytes .../textures/items/clean_iron/0.021.png | Bin 0 -> 882 bytes .../textures/items/clean_iron/0.03.png | Bin 0 -> 874 bytes .../textures/items/clean_iron/0.1.png | Bin 0 -> 945 bytes .../textures/items/clean_iron/0.101.png | Bin 0 -> 988 bytes .../textures/items/clean_iron/0.102.png | Bin 0 -> 1010 bytes .../textures/items/clean_iron/0.11.png | Bin 0 -> 1006 bytes .../textures/items/clean_iron/0.111.png | Bin 0 -> 1032 bytes .../textures/items/clean_iron/0.12.png | Bin 0 -> 1015 bytes .../textures/items/clean_iron/0.201.png | Bin 0 -> 892 bytes .../textures/items/clean_iron/0.png | Bin 0 -> 601 bytes .../1.png} | Bin .../items/clean_iron/clean_iron_ingot.png | Bin 0 -> 601 bytes .../items/clean_iron_ingot_diamond1.png | Bin 725 -> 0 bytes .../clean_iron_ingot_diamond1_lapis2.png | Bin 873 -> 0 bytes ...n_iron_ingot_diamond1_redstone1_lapis1.png | Bin 865 -> 0 bytes .../clean_iron_ingot_diamond1_redstone2.png | Bin 829 -> 0 bytes .../items/clean_iron_ingot_diamond2.png | Bin 786 -> 0 bytes .../clean_iron_ingot_diamond2_redstone1.png | Bin 844 -> 0 bytes .../items/clean_iron_ingot_diamond3.png | Bin 833 -> 0 bytes .../items/clean_iron_ingot_emerald1.png | Bin 904 -> 0 bytes .../clean_iron_ingot_emerald1_diamond1.png | Bin 965 -> 0 bytes ...iron_ingot_emerald1_diamond1_redstone1.png | Bin 991 -> 0 bytes .../clean_iron_ingot_emerald1_diamond2.png | Bin 974 -> 0 bytes .../clean_iron_ingot_emerald1_redstone2.png | Bin 969 -> 0 bytes .../items/clean_iron_ingot_lapis1.png | Bin 733 -> 0 bytes .../items/clean_iron_ingot_lapis2.png | Bin 811 -> 0 bytes .../items/clean_iron_ingot_lapis3.png | Bin 872 -> 0 bytes .../items/clean_iron_ingot_redstone1.png | Bin 696 -> 0 bytes .../clean_iron_ingot_redstone1_lapis2.png | Bin 860 -> 0 bytes .../items/clean_iron_ingot_redstone2.png | Bin 768 -> 0 bytes .../clean_iron_ingot_redstone2_lapis1.png | Bin 835 -> 0 bytes .../items/clean_iron_ingot_redstone3.png | Bin 823 -> 0 bytes .../textures/items/copper/0.0001.png | Bin 0 -> 764 bytes .../textures/items/copper/0.001.png | Bin 0 -> 754 bytes .../forgecraft/textures/items/copper/0.01.png | Bin 0 -> 769 bytes .../forgecraft/textures/items/copper/0.1.png | Bin 0 -> 971 bytes .../forgecraft/textures/items/copper/0.png | Bin 0 -> 3246 bytes .../items/finished_bronze_diamond.png | Bin 3479 -> 0 bytes .../items/finished_bronze_emerald.png | Bin 3500 -> 0 bytes .../textures/items/finished_bronze_lapis.png | Bin 3458 -> 0 bytes .../items/finished_bronze_redstone.png | Bin 3474 -> 0 bytes .../forgecraft/textures/items/iron/0.0001.png | Bin 0 -> 672 bytes .../forgecraft/textures/items/iron/0.0002.png | Bin 0 -> 729 bytes .../forgecraft/textures/items/iron/0.001.png | Bin 0 -> 682 bytes .../forgecraft/textures/items/iron/0.0011.png | Bin 0 -> 775 bytes .../forgecraft/textures/items/iron/0.002.png | Bin 0 -> 729 bytes .../forgecraft/textures/items/iron/0.01.png | Bin 0 -> 662 bytes .../forgecraft/textures/items/iron/0.0101.png | Bin 0 -> 766 bytes .../forgecraft/textures/items/iron/0.011.png | Bin 0 -> 755 bytes .../forgecraft/textures/items/iron/0.02.png | Bin 0 -> 710 bytes .../forgecraft/textures/items/iron/0.1.png | Bin 0 -> 933 bytes .../forgecraft/textures/items/iron/0.101.png | Bin 0 -> 954 bytes .../forgecraft/textures/items/iron/0.11.png | Bin 0 -> 980 bytes .../forgecraft/textures/items/iron/0.png | Bin 0 -> 376 bytes .../items/{iron_ingot_hot.png => iron/1.png} | Bin .../textures/items/iron/iron_ingot.png | Bin 0 -> 376 bytes .../textures/items/iron_ingot_diamond1.png | Bin 612 -> 0 bytes .../items/iron_ingot_diamond1_lapis2.png | Bin 783 -> 0 bytes .../iron_ingot_diamond1_redstone1_lapis1.png | Bin 809 -> 0 bytes .../items/iron_ingot_diamond1_redstone2.png | Bin 762 -> 0 bytes .../textures/items/iron_ingot_diamond2.png | Bin 674 -> 0 bytes .../items/iron_ingot_diamond2_redstone1.png | Bin 767 -> 0 bytes .../textures/items/iron_ingot_diamond3.png | Bin 766 -> 0 bytes .../textures/items/iron_ingot_emerald1.png | Bin 892 -> 0 bytes .../items/iron_ingot_emerald1_diamond1.png | Bin 937 -> 0 bytes ...iron_ingot_emerald1_diamond1_redstone1.png | Bin 961 -> 0 bytes .../items/iron_ingot_emerald1_diamond2.png | Bin 952 -> 0 bytes .../items/iron_ingot_emerald1_redstone2.png | Bin 923 -> 0 bytes .../textures/items/iron_ingot_lapis1.png | Bin 631 -> 0 bytes .../textures/items/iron_ingot_lapis2.png | Bin 688 -> 0 bytes .../textures/items/iron_ingot_lapis3.png | Bin 776 -> 0 bytes .../textures/items/iron_ingot_redstone1.png | Bin 625 -> 0 bytes .../items/iron_ingot_redstone1_lapis2.png | Bin 773 -> 0 bytes .../textures/items/iron_ingot_redstone2.png | Bin 679 -> 0 bytes .../items/iron_ingot_redstone2_lapis1.png | Bin 756 -> 0 bytes .../textures/items/iron_ingot_redstone3.png | Bin 762 -> 0 bytes .../textures/items/steel/0.0001.png | Bin 0 -> 769 bytes .../textures/items/steel/0.0002.png | Bin 0 -> 847 bytes .../textures/items/steel/0.0003.png | Bin 0 -> 912 bytes .../textures/items/steel/0.0004.png | Bin 0 -> 966 bytes .../forgecraft/textures/items/steel/0.001.png | Bin 0 -> 755 bytes .../textures/items/steel/0.0011.png | Bin 0 -> 850 bytes .../textures/items/steel/0.0012.png | Bin 0 -> 894 bytes .../textures/items/steel/0.0013.png | Bin 0 -> 939 bytes .../forgecraft/textures/items/steel/0.002.png | Bin 0 -> 793 bytes .../textures/items/steel/0.0021.png | Bin 0 -> 876 bytes .../textures/items/steel/0.0022.png | Bin 0 -> 941 bytes .../forgecraft/textures/items/steel/0.003.png | Bin 0 -> 850 bytes .../textures/items/steel/0.0031.png | Bin 0 -> 901 bytes .../forgecraft/textures/items/steel/0.004.png | Bin 0 -> 899 bytes .../forgecraft/textures/items/steel/0.01.png | Bin 0 -> 767 bytes .../textures/items/steel/0.0101.png | Bin 0 -> 846 bytes .../textures/items/steel/0.0102.png | Bin 0 -> 901 bytes .../textures/items/steel/0.0103.png | Bin 0 -> 940 bytes .../forgecraft/textures/items/steel/0.011.png | Bin 0 -> 820 bytes .../textures/items/steel/0.0111.png | Bin 0 -> 894 bytes .../textures/items/steel/0.0112.png | Bin 0 -> 940 bytes .../forgecraft/textures/items/steel/0.012.png | Bin 0 -> 871 bytes .../textures/items/steel/0.0121.png | Bin 0 -> 923 bytes .../forgecraft/textures/items/steel/0.013.png | Bin 0 -> 910 bytes .../forgecraft/textures/items/steel/0.02.png | Bin 0 -> 814 bytes .../textures/items/steel/0.0201.png | Bin 0 -> 874 bytes .../textures/items/steel/0.0202.png | Bin 0 -> 915 bytes .../forgecraft/textures/items/steel/0.021.png | Bin 0 -> 885 bytes .../textures/items/steel/0.0211.png | Bin 0 -> 921 bytes .../forgecraft/textures/items/steel/0.022.png | Bin 0 -> 918 bytes .../forgecraft/textures/items/steel/0.03.png | Bin 0 -> 857 bytes .../textures/items/steel/0.0301.png | Bin 0 -> 908 bytes .../forgecraft/textures/items/steel/0.031.png | Bin 0 -> 903 bytes .../forgecraft/textures/items/steel/0.04.png | Bin 0 -> 936 bytes .../forgecraft/textures/items/steel/0.1.png | Bin 0 -> 962 bytes .../forgecraft/textures/items/steel/0.101.png | Bin 0 -> 988 bytes .../forgecraft/textures/items/steel/0.102.png | Bin 0 -> 1003 bytes .../forgecraft/textures/items/steel/0.103.png | Bin 0 -> 1032 bytes .../forgecraft/textures/items/steel/0.11.png | Bin 0 -> 1006 bytes .../forgecraft/textures/items/steel/0.111.png | Bin 0 -> 1026 bytes .../forgecraft/textures/items/steel/0.112.png | Bin 0 -> 1047 bytes .../forgecraft/textures/items/steel/0.12.png | Bin 0 -> 1029 bytes .../forgecraft/textures/items/steel/0.121.png | Bin 0 -> 1048 bytes .../forgecraft/textures/items/steel/0.13.png | Bin 0 -> 1045 bytes .../forgecraft/textures/items/steel/0.png | Bin 0 -> 562 bytes .../{steel_ingot_hot.png => steel/1.png} | Bin .../textures/items/steel/steel_ingot.png | Bin 0 -> 562 bytes .../textures/items/steel_ingot_diamond1.png | Bin 726 -> 0 bytes .../items/steel_ingot_diamond1_lapis2.png | Bin 860 -> 0 bytes .../steel_ingot_diamond1_redstone1_lapis1.png | Bin 853 -> 0 bytes .../items/steel_ingot_diamond1_redstone2.png | Bin 830 -> 0 bytes .../textures/items/steel_ingot_diamond2.png | Bin 773 -> 0 bytes .../items/steel_ingot_diamond2_redstone1.png | Bin 838 -> 0 bytes .../textures/items/steel_ingot_diamond3.png | Bin 816 -> 0 bytes .../textures/items/steel_ingot_emerald1.png | Bin 921 -> 0 bytes .../items/steel_ingot_emerald1_diamond1.png | Bin 965 -> 0 bytes ...teel_ingot_emerald1_diamond1_redstone1.png | Bin 985 -> 0 bytes .../items/steel_ingot_emerald1_diamond2.png | Bin 988 -> 0 bytes .../items/steel_ingot_emerald1_redstone2.png | Bin 962 -> 0 bytes .../textures/items/steel_ingot_lapis1.png | Bin 728 -> 0 bytes .../textures/items/steel_ingot_lapis2.png | Bin 806 -> 0 bytes .../textures/items/steel_ingot_lapis3.png | Bin 871 -> 0 bytes .../textures/items/steel_ingot_redstone1.png | Bin 714 -> 0 bytes .../items/steel_ingot_redstone1_lapis2.png | Bin 853 -> 0 bytes .../textures/items/steel_ingot_redstone2.png | Bin 752 -> 0 bytes .../items/steel_ingot_redstone2_lapis1.png | Bin 835 -> 0 bytes .../textures/items/steel_ingot_redstone3.png | Bin 804 -> 0 bytes .../textures/items/wootz/0.0001.png | Bin 0 -> 968 bytes .../textures/items/wootz/0.0002.png | Bin 0 -> 1007 bytes .../textures/items/wootz/0.0003.png | Bin 0 -> 1020 bytes .../textures/items/wootz/0.0004.png | Bin 0 -> 1039 bytes .../textures/items/wootz/0.0005.png | Bin 0 -> 1049 bytes .../forgecraft/textures/items/wootz/0.001.png | Bin 0 -> 971 bytes .../textures/items/wootz/0.0011.png | Bin 0 -> 1005 bytes .../textures/items/wootz/0.0012.png | Bin 0 -> 1023 bytes .../textures/items/wootz/0.0013.png | Bin 0 -> 1039 bytes .../textures/items/wootz/0.0014.png | Bin 0 -> 1048 bytes .../forgecraft/textures/items/wootz/0.002.png | Bin 0 -> 1000 bytes .../textures/items/wootz/0.0021.png | Bin 0 -> 1021 bytes .../textures/items/wootz/0.0022.png | Bin 0 -> 1048 bytes .../textures/items/wootz/0.0023.png | Bin 0 -> 1062 bytes .../forgecraft/textures/items/wootz/0.003.png | Bin 0 -> 1031 bytes .../textures/items/wootz/0.0031.png | Bin 0 -> 1042 bytes .../textures/items/wootz/0.0032.png | Bin 0 -> 1060 bytes .../forgecraft/textures/items/wootz/0.004.png | Bin 0 -> 1056 bytes .../textures/items/wootz/0.0041.png | Bin 0 -> 1067 bytes .../forgecraft/textures/items/wootz/0.005.png | Bin 0 -> 1063 bytes .../forgecraft/textures/items/wootz/0.01.png | Bin 0 -> 976 bytes .../textures/items/wootz/0.0101.png | Bin 0 -> 1015 bytes .../textures/items/wootz/0.0102.png | Bin 0 -> 1038 bytes .../textures/items/wootz/0.0103.png | Bin 0 -> 1053 bytes .../textures/items/wootz/0.0104.png | Bin 0 -> 1060 bytes .../forgecraft/textures/items/wootz/0.011.png | Bin 0 -> 1009 bytes .../textures/items/wootz/0.0111.png | Bin 0 -> 1036 bytes .../textures/items/wootz/0.0112.png | Bin 0 -> 1048 bytes .../textures/items/wootz/0.0113.png | Bin 0 -> 1062 bytes .../forgecraft/textures/items/wootz/0.012.png | Bin 0 -> 1028 bytes .../textures/items/wootz/0.0121.png | Bin 0 -> 1040 bytes .../textures/items/wootz/0.0122.png | Bin 0 -> 1059 bytes .../forgecraft/textures/items/wootz/0.013.png | Bin 0 -> 1053 bytes .../textures/items/wootz/0.0131.png | Bin 0 -> 1061 bytes .../forgecraft/textures/items/wootz/0.014.png | Bin 0 -> 1059 bytes .../forgecraft/textures/items/wootz/0.02.png | Bin 0 -> 1014 bytes .../textures/items/wootz/0.0201.png | Bin 0 -> 1043 bytes .../textures/items/wootz/0.0202.png | Bin 0 -> 1050 bytes .../textures/items/wootz/0.0203.png | Bin 0 -> 1058 bytes .../forgecraft/textures/items/wootz/0.021.png | Bin 0 -> 1032 bytes .../textures/items/wootz/0.0211.png | Bin 0 -> 1053 bytes .../textures/items/wootz/0.0212.png | Bin 0 -> 1058 bytes .../forgecraft/textures/items/wootz/0.022.png | Bin 0 -> 1046 bytes .../textures/items/wootz/0.0221.png | Bin 0 -> 1063 bytes .../forgecraft/textures/items/wootz/0.03.png | Bin 0 -> 1038 bytes .../textures/items/wootz/0.0301.png | Bin 0 -> 1063 bytes .../textures/items/wootz/0.0302.png | Bin 0 -> 1067 bytes .../forgecraft/textures/items/wootz/0.031.png | Bin 0 -> 1043 bytes .../textures/items/wootz/0.0311.png | Bin 0 -> 1061 bytes .../forgecraft/textures/items/wootz/0.04.png | Bin 0 -> 1035 bytes .../textures/items/wootz/0.0401.png | Bin 0 -> 1057 bytes .../forgecraft/textures/items/wootz/0.041.png | Bin 0 -> 1045 bytes .../forgecraft/textures/items/wootz/0.05.png | Bin 0 -> 1021 bytes .../forgecraft/textures/items/wootz/0.1.png | Bin 0 -> 1012 bytes .../forgecraft/textures/items/wootz/0.101.png | Bin 0 -> 1042 bytes .../forgecraft/textures/items/wootz/0.102.png | Bin 0 -> 1054 bytes .../forgecraft/textures/items/wootz/0.103.png | Bin 0 -> 1062 bytes .../forgecraft/textures/items/wootz/0.104.png | Bin 0 -> 1071 bytes .../forgecraft/textures/items/wootz/0.11.png | Bin 0 -> 1058 bytes .../forgecraft/textures/items/wootz/0.111.png | Bin 0 -> 1071 bytes .../forgecraft/textures/items/wootz/0.112.png | Bin 0 -> 1072 bytes .../forgecraft/textures/items/wootz/0.113.png | Bin 0 -> 1070 bytes .../forgecraft/textures/items/wootz/0.12.png | Bin 0 -> 1065 bytes .../forgecraft/textures/items/wootz/0.121.png | Bin 0 -> 1079 bytes .../forgecraft/textures/items/wootz/0.122.png | Bin 0 -> 1079 bytes .../forgecraft/textures/items/wootz/0.13.png | Bin 0 -> 1071 bytes .../forgecraft/textures/items/wootz/0.131.png | Bin 0 -> 1076 bytes .../forgecraft/textures/items/wootz/0.14.png | Bin 0 -> 1072 bytes .../forgecraft/textures/items/wootz/0.png | Bin 0 -> 846 bytes .../{wootz_ingot_hot.png => wootz/1.png} | Bin .../textures/items/wootz/wootz_ingot.png | Bin 0 -> 846 bytes .../textures/items/wootz_ingot_diamond1.png | Bin 935 -> 0 bytes .../items/wootz_ingot_diamond1_lapis2.png | Bin 997 -> 0 bytes .../wootz_ingot_diamond1_redstone1_lapis1.png | Bin 995 -> 0 bytes .../items/wootz_ingot_diamond1_redstone2.png | Bin 987 -> 0 bytes .../textures/items/wootz_ingot_diamond2.png | Bin 973 -> 0 bytes .../items/wootz_ingot_diamond2_redstone1.png | Bin 995 -> 0 bytes .../textures/items/wootz_ingot_diamond3.png | Bin 997 -> 0 bytes .../textures/items/wootz_ingot_emerald1.png | Bin 971 -> 0 bytes .../items/wootz_ingot_emerald1_diamond1.png | Bin 1017 -> 0 bytes ...ootz_ingot_emerald1_diamond1_redstone1.png | Bin 1030 -> 0 bytes .../items/wootz_ingot_emerald1_diamond2.png | Bin 1024 -> 0 bytes .../items/wootz_ingot_emerald1_redstone2.png | Bin 1013 -> 0 bytes .../textures/items/wootz_ingot_lapis1.png | Bin 927 -> 0 bytes .../textures/items/wootz_ingot_lapis2.png | Bin 966 -> 0 bytes .../textures/items/wootz_ingot_lapis3.png | Bin 979 -> 0 bytes .../textures/items/wootz_ingot_redstone1.png | Bin 930 -> 0 bytes .../items/wootz_ingot_redstone1_lapis2.png | Bin 982 -> 0 bytes .../textures/items/wootz_ingot_redstone2.png | Bin 959 -> 0 bytes .../items/wootz_ingot_redstone2_lapis1.png | Bin 981 -> 0 bytes .../textures/items/wootz_ingot_redstone3.png | Bin 989 -> 0 bytes .../forgecraft/textures/lapisLayer4.png | Bin 0 -> 305 bytes .../forgecraft/textures/lapisLayer5.png | Bin 0 -> 420 bytes .../forgecraft/textures/redstoneLayer4.png | Bin 0 -> 249 bytes kfc/src/main/resources/mcmod.info | 2 +- ~$exampleModifiers.xlsx | Bin 0 -> 165 bytes 2463 files changed, 15182 insertions(+), 7698 deletions(-) create mode 100644 exampleModifiers.xlsx delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterialMap.java delete mode 100644 kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/clean_ironaxe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/clean_iron/cleanironaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/copper/copperaxe_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/iron/ironaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/steel/steelaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axe/wootz/wootzaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/bronze/bronzeaxehead_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/clean_ironaxehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/clean_iron/cleanironaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/copper/copperaxehead_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/iron/ironaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/steel/steelaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/axehead/wootz/wootzaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperaxe.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperaxehead.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/coppergladius.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperhoe.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperhoehead.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperpickaxe.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/copperpickaxehead.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/coppershovel.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/coppershovelhead.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/e_particle.png create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/clean_iron/clean_ironhoe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/cleaniron/cleanironhoe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/copper/copperhoe_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/iron/ironhoe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/steel/steelhoe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoe/wootz/wootzhoe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/bronze/bronzehoehead_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/clean_iron/clean_ironhoehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/cleaniron/ironhoehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/copper/copperhoehead_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/iron/ironhoehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/steel/steelhoehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/hoehead/wootz/wootzhoehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/clean_iron/clean_ironpickaxe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/cleaniron/cleanironpickaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/copper/copperpickaxe_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/iron/ironpickaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/steel/steelpickaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxe/wootz/wootzpickaxe_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/bronze/bronzepickaxehead_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/clean_iron/clean_ironpickaxehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/cleaniron/cleanironpickaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/copper/copperpickaxehead_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/iron/ironpickaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_22.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/steel/steelpickaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/pickaxehead/wootz/wootzpickaxehead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/clean_iron/clean_ironshovel_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/cleaniron/cleanironshovel_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/copper/coppershovel_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/iron/ironshovel_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/steel/steelshovel_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovel/wootz/wootzshovel_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_0.1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/bronze/bronzeshovelhead_4.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/assets3.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/clean_iron/clean_ironshovelhead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_0.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_1.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/cleaniron/cleanironshovelhead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/assets1.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_0.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/copper/coppershovelhead_1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/assets2.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_0.11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/iron/ironshovelhead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/assets4.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_0.13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/steel/steelshovelhead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/assets5.sh create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.001.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.002.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0023.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.003.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0032.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.004.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.005.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.01.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.011.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.012.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.013.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.014.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.02.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0201.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0202.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0203.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.021.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0211.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0212.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.022.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0221.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.03.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0301.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0302.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.031.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0311.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.04.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.0401.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.041.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.05.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.1.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.101.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.102.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.103.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.104.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.11.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.111.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.112.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.113.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.12.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.121.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.122.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.13.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.131.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_0.14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_10.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_11.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_12.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_13.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_14.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_15.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_16.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_17.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_18.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_19.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_2.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_20.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_21.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_3.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_4.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_5.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_6.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_7.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_8.json delete mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/shovelhead/wootz/wootzshovelhead_9.json create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/baseMaterialUpgrades.xcf create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/diamondLayer4.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/diamondLayer5.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/ingot_bronze.png rename kfc/src/main/resources/assets/forgecraft/textures/{items/clean_iron_ingot.png => ingot_clean_iron.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/ingot_copper.png rename kfc/src/main/resources/assets/forgecraft/textures/{items/steel_ingot.png => ingot_steel.png} (100%) rename kfc/src/main/resources/assets/forgecraft/textures/{items/wootz_ingot.png => ingot_wootz.png} (100%) rename kfc/src/main/resources/assets/forgecraft/textures/{items/iron_ingot.png => ingot_wrought.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.png rename kfc/src/main/resources/assets/forgecraft/textures/items/{ => bronze}/hot_bronze.png (100%) rename kfc/src/main/resources/assets/forgecraft/textures/items/{ => bronze}/molten_bronze.png (100%) rename kfc/src/main/resources/assets/forgecraft/textures/items/{ => bronze}/raw_bronze.png (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.02.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.03.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.11.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.12.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.201.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.png rename kfc/src/main/resources/assets/forgecraft/textures/items/{clean_iron_ingot_hot.png => clean_iron/1.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/clean_iron_ingot.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1_redstone1_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_diamond1_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_lapis3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_redstone1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_redstone2_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_redstone3.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_diamond.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_emerald.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_lapis.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_redstone.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.02.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.11.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.png rename kfc/src/main/resources/assets/forgecraft/textures/items/{iron_ingot_hot.png => iron/1.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron/iron_ingot.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1_redstone1_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond2_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_diamond1_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_lapis3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone3.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0004.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0013.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0022.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0031.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.004.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0103.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0112.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0121.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.013.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.02.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0201.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0202.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0211.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.022.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.03.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0301.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.031.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.04.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.103.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.11.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.112.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.12.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.121.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.13.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.png rename kfc/src/main/resources/assets/forgecraft/textures/items/{steel_ingot_hot.png => steel/1.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel/steel_ingot.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1_redstone1_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond2_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone2_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone3.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0004.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0005.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.001.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0013.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0014.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.002.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0022.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0023.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.003.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0031.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0032.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.004.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0041.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.005.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.01.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0103.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0104.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.011.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0112.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0113.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.012.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0121.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0122.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.013.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0131.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.014.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.02.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0201.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0202.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0203.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.021.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0211.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0212.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.022.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0221.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.03.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0301.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0302.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.031.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0311.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.04.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0401.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.041.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.05.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.1.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.101.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.102.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.103.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.104.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.11.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.111.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.112.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.113.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.12.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.121.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.122.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.13.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.131.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.14.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.png rename kfc/src/main/resources/assets/forgecraft/textures/items/{wootz_ingot_hot.png => wootz/1.png} (100%) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz/wootz_ingot.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone1_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_diamond1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_diamond1_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_diamond2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis3.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone1_lapis2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2_lapis1.png delete mode 100644 kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone3.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/lapisLayer4.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/lapisLayer5.png create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/redstoneLayer4.png create mode 100644 ~$exampleModifiers.xlsx diff --git a/exampleModifiers.xlsx b/exampleModifiers.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7978068db092c7e5dedffa56388a66b75f86db7e GIT binary patch literal 36703 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 literal 0 HcmV?d00001 diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index cae880ed..0bff0723 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -11,16 +11,25 @@ - [x] Anvil cool down items - [x] Longbow Fire Speed - [x] More Crafting for buckets -- [x] Config Usage - [x] Copper Tools -- [x] Config for lowering fortune multiplier - -- [ ] Copper Tool Casting -- [ ] Copper Tool Assets -- [ ] Emerald and redstone asset -- [ ] Diamond + Redstone no texture +- [x] Copper Tool Assets +- [x] Copper Ingots +- [x] Copper Tool Recipes +- [x] Tool Class Refactor into 1 with value for modifiers +- [x] Copper and Bronze have 1 upgrades +- [x] Wrought has 2 upgrades +- [x] Clean has 3 upgrades +- [x] Steel has 4 upgrades +- [x] Wootz has 5 upgrades +- [x] NBTCrucible Molten Crucible moved +- [x] Modifiers Print out for tool part +- [x] Copper Tools and Parts need names +- [x] When upgrading past max item dissapears +- [x] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers +- [x] Tongs Rendering +- [ ] Copper Gladius - [ ] Craft Tweaker Support -- [ ] Hardened Leather Helmet Inventory Model + ## Feature Musket - [ ] Create powder charge item (copper, charcoal, gunpowder) @@ -34,9 +43,10 @@ - [ ] Create lock assembly item ## Backlog +- [ ] Hardened Leather Helmet Inventory Model +- [ ] Add Achievements - [ ] Bloomery Print out - [ ] Random Floats for hot texture - - [ ] Mass Ore Production - [ ] Silver/Lead Production - [ ] Sparks to forging @@ -44,7 +54,6 @@ - [ ] Add chainmail recipe - [ ] Add Iron Shield - [ ] Gold Smelting -- [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers - [ ] Add forgehammer to oreDict ### Tid-Bits diff --git a/kfc/gradle.properties b/kfc/gradle.properties index 49416ba1..c28b72ec 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.14 +mod_version=1.6.15 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 39ec91eb..f0d2595a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -5,16 +5,11 @@ 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.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; 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.tools.bronze.BronzeAxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; -import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -28,99 +23,35 @@ public class CommonEvents implements ToolNBT { if(!event.player.getEntityWorld().isRemote) { - if (event.crafting.getItem() instanceof CustomPickaxe || event.crafting.getItem() instanceof BronzePickaxe) { - NBTTagCompound tempTag = new NBTTagCompound(); - for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots - - if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item - ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); - } - } - } + if (event.crafting.getItem() instanceof CustomPickaxe) { + doToolNBT(event); } - if (event.crafting.getItem() instanceof CustomAxe || event.crafting.getItem() instanceof BronzeAxe) { - NBTTagCompound tempTag = new NBTTagCompound(); - for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots - - if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item - ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); - } - } - } + if (event.crafting.getItem() instanceof CustomAxe ) { + doToolNBT(event); } - if (event.crafting.getItem() instanceof CustomShovel || event.crafting.getItem() instanceof BronzeShovel) { - NBTTagCompound tempTag = new NBTTagCompound(); - for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots - - if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item - ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); - } - } - } + if (event.crafting.getItem() instanceof CustomShovel ) { + doToolNBT(event); } - if (event.crafting.getItem() instanceof CustomHoe || event.crafting.getItem() instanceof BronzeHoe) { - NBTTagCompound tempTag = new NBTTagCompound(); - for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots - - if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item - ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof ToolPart || a.getItem() instanceof SimpleToolPart) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); - } - } - } + if (event.crafting.getItem() instanceof CustomHoe) { + doToolNBT(event); } - if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof SimpleToolPart) { - NBTTagCompound tempTag = new NBTTagCompound(); + if (event.crafting.getItem() instanceof ToolPart) { + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item - if (a.getItem() instanceof CustomAxe || a.getItem() instanceof BronzeAxe) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); - event.crafting.setItemDamage(tempDamage); + if (a.getItem() instanceof CustomAxe) { + doQuickNBT(event, i, a); } - if (a.getItem() instanceof CustomPickaxe || a.getItem() instanceof BronzePickaxe) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); - event.crafting.setItemDamage(tempDamage); + if (a.getItem() instanceof CustomPickaxe) { + doQuickNBT(event, i, a); } - if (a.getItem() instanceof CustomShovel || a.getItem() instanceof BronzeShovel) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); - event.crafting.setItemDamage(tempDamage); + if (a.getItem() instanceof CustomShovel) { + doQuickNBT(event, i, a); } - if (a.getItem() instanceof CustomHoe || a.getItem() instanceof BronzeHoe) { - tempTag = a.getSubCompound("tags").copy(); - event.crafting.getTagCompound().setTag("tags", tempTag); - event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); - event.crafting.setItemDamage(tempDamage); + if (a.getItem() instanceof CustomHoe) { + doQuickNBT(event, i, a); } } } @@ -128,5 +59,28 @@ public class CommonEvents implements ToolNBT { } } + private void doQuickNBT(PlayerEvent.ItemCraftedEvent event, Integer i, ItemStack a){ + NBTTagCompound tempTag; + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); + event.crafting.setItemDamage(tempDamage); + } + private void doToolNBT(PlayerEvent.ItemCraftedEvent event) { + NBTTagCompound tempTag; + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof ToolPart) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); + } + } + } + } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 9e455a91..7923ccb9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -18,7 +18,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.14"; + public static final String MOD_VERSION = "1.6.15"; 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/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index 40d88406..5ff91c79 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -31,7 +31,6 @@ import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.SlottedTongs; -import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.ToolNBT; @@ -69,7 +68,7 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); ItemStack tongsStack = inventory.getStackInSlot(0).copy(); - SlottedTongs tongs = (SlottedTongs) pItem.getItem(); + //SlottedTongs tongs = (SlottedTongs) pItem.getItem(); if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { NBTTagCompound tag = tongsStack.getTagCompound().copy(); @@ -78,21 +77,28 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan NonNullList ingList = NonNullList.withSize(5, ItemStack.EMPTY); NonNullList ingListEmpty = NonNullList.withSize(5, ItemStack.EMPTY); ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList); + CrucibleCrafting crucibleRecipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4)); + if(crucibleRecipe != null){ if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){ Item[] tempArray = new Item[25]; for(int i=0; i<25; i++){ tempArray[i] = tile.getSlotStack(i).getItem(); } + System.out.println(crucibleRecipe.getDropsCooked()); - CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray); + CastingCrafting casting = CastingCrafting.getRecipe(crucibleRecipe.getDropsCooked(), tempArray); if(casting != null){ NBTTagCompound tagOutput = casting.getOutput().getTagCompound(); NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound(); if(tagOutput != null) { ItemStack dropStack = casting.getOutput(); + + System.out.println(dropStack); + System.out.println(crucibleOutput); + dropStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java index e70086a9..8e7ebfbb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java @@ -31,7 +31,6 @@ public class AnvilCrafting { this.input = input; this.output = output; this.upgradeType = upgrade; - } // ***************************************************************************** // diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java index a41a0906..a7933f45 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java @@ -59,7 +59,7 @@ public class CastingCrafting { public static CastingCrafting getRecipe(ItemStack source, Item[] array) { for(CastingCrafting recipe : castingRecipes) { - if (source.isItemEqualIgnoreDurability(source)) { + if (source.getItem() == recipe.getSource().getItem() ) { if (Arrays.equals(array, recipe.input)) return recipe; } 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 cf4aca86..895bde12 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java @@ -24,38 +24,20 @@ 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 Wootz steel for compatibility with common mod steel"}) + //public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL; } /** * Customize main features of the mod */ - //@Config.RequiresMcRestart - //@Config.Comment({"Config to allow or dissallow Copper Tools"}) - //public static boolean ENABLE_COPPER_TOOLS = false; - public static class Features { - @Config.RequiresMcRestart - @Config.Comment({"Config to allow or dissallow Copper Tools"}) - public static boolean ENABLE_COPPER_TOOLS = false; +// @Config.RequiresMcRestart +// @Config.Comment({"Config to allow or dissallow Copper Tools"}) +// public static boolean ENABLE_COPPER_TOOLS = false; - @Config.Comment({"Bronze Tool Lapis Bonus do not go greater than 5"}) - @Config.RangeInt(min = 0, max = 5) - public static int BRONZE_LAPIS_MULTIPLIER = 5; - - @Config.Comment({"Copper Tools Emerald Upgrade"}) - public static boolean ENABLE_COPPER_EMERALD = true; - - @Config.RequiresMcRestart - @Config.Comment({"Various forge blocks will set fire to their surroundings when active"}) - public static boolean FEATURE_ENABLE_FIRE = true; - - @Config.Comment({"Sample config for a numeric range"}) - @Config.RangeInt(min = 0, max = 1000) - public static int FEATURE_HEAT_RANGE = 0; } } 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 3211b5d2..2ab9f802 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -9,6 +9,7 @@ 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; @@ -65,7 +66,7 @@ public class ModCrafting{ - ItemStack[] toolArray = new ItemStack[20]; + ItemStack[] toolArray = new ItemStack[24]; ItemStack[] hotToolArray = new ItemStack[16]; ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1); @@ -133,6 +134,18 @@ public class ModCrafting{ wootzhoehead.setTagCompound(newTag); toolArray[19] = wootzhoehead; + ItemStack copperpickaxehead = new ItemStack(ModItems.copperpickaxehead, 1); + copperpickaxehead.setTagCompound(newTag); + toolArray[20] = copperpickaxehead; + ItemStack copperaxehead = new ItemStack(ModItems.copperaxehead, 1); + copperaxehead.setTagCompound(newTag); + toolArray[21] = copperaxehead; + ItemStack coppershovelhead = new ItemStack(ModItems.coppershovelhead, 1); + coppershovelhead.setTagCompound(newTag); + toolArray[22] =coppershovelhead ; + ItemStack copperhoehead = new ItemStack(ModItems.copperhoehead, 1); + copperhoehead.setTagCompound(newTag); + toolArray[23] = copperhoehead; ItemStack hotpickaxehead = pickaxehead.copy(); hotToolArray[0] =hotpickaxehead; @@ -210,6 +223,11 @@ public class ModCrafting{ wootzshovelhead = toolArray[18] ; wootzhoehead = toolArray[19]; + copperpickaxehead = toolArray[20]; + copperaxehead = toolArray[21]; + coppershovelhead = toolArray[22]; + copperhoehead = toolArray[23]; + for(ItemStack temp : hotToolArray) { //NBTTagCompound newTag = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound(); @@ -252,7 +270,6 @@ public class ModCrafting{ /***CRUCIBLE CRAFTING***/ /***********************/ - CrucibleCrafting.addRecipe( new OreIngredient("oreIron"), Ingredient.EMPTY, @@ -373,8 +390,7 @@ public class ModCrafting{ 1800, 1500); -//TODO change plate recipe - + /***BRONZE***/ NBTTagCompound tagBronzeDefault = new NBTTagCompound(); tagBronzeDefault.setString("upgrades", ""); tagBronzeDefault.setBoolean("hot", false); @@ -502,7 +518,7 @@ public class ModCrafting{ new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustTin"), - new OreIngredient("dustLapis"), + new OreIngredient("gemLapis"), new ItemStack(PrimalAPI.Items.SLAG, 1), lapisBronze, 1100, @@ -510,6 +526,143 @@ public class ModCrafting{ 600); + /***COPPER***/ + NBTTagCompound tagCopperDefault = new NBTTagCompound(); + tagCopperDefault.setString("upgrades", ""); + tagCopperDefault.setBoolean("hot", false); + ItemStack defaultCopper = new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1); + defaultCopper.setTagCompound(tagCopperDefault.copy()); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 750, + 550); + + ItemStack redCopper = defaultCopper.copy(); + redCopper.getTagCompound().setString("upgrades", "redstone"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + ItemStack diamondCopper = defaultCopper.copy(); + diamondCopper.getTagCompound().setString("upgrades", "diamond"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + ItemStack emeraldCopper = defaultCopper.copy(); + emeraldCopper.getTagCompound().setString("upgrades", "emerald"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + ItemStack lapisCopper = defaultCopper.copy(); + lapisCopper.getTagCompound().setString("upgrades", "lapis"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + + /***CASTING FORM***/ RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1), true, new Object[]{" S ", "S S", " S ", @@ -595,27 +748,27 @@ public class ModCrafting{ ***************************************************************/ /***Pickaxe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -625,27 +778,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Axe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzaxehead,1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -655,27 +808,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Shovel Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -685,27 +838,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Hoe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -721,7 +874,7 @@ public class ModCrafting{ //RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), // " ", " X ", " ", 'X', ModItems.ironaxe); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1), true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE)); RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), @@ -786,241 +939,6 @@ public class ModCrafting{ true, "X", ('X'), new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE)); - /***************************************************************/ - - /***Bloomery Crafting***/ -/* -//Makes the Empty Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModItems.softcrucible, 1), - new ItemStack(ModBlocks.emptycruciblehot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycrucible, 1), - 2000, - 1600, - 600, - 0.25f, - 0.25f); - -//Makes the Cracked Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.emptycruciblehot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycruciblecracked, 1), - 2250, - 9000, - 600, - 0.0f, - 0.0f); - - /* -//Makes the Hot Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawironcrucible, 1), - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.rawironcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.hotcookedironcrucible, 1), - new ItemStack(ModBlocks.failedironcruciblehot, 1), - new ItemStack(ModBlocks.coolironcrucible, 1), - 1400, - 1200, - 800, - 0.33f, - 0.5f - ); - -//Makes the Hot Clean Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.rawcleanironcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Clean Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcookedcleanironcrucible, 1), - new ItemStack(ModBlocks.failedcleanironcrucible, 1), - new ItemStack(ModBlocks.coolcleanironcrucible, 1), - 1550, - 1200, - 800, - 0.33f, - 0.5f - ); - - //Makes the Hot Steel Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawsteelcrucible, 1), - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.rawsteelcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Steel Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.hotcookedsteelcrucible, 1), - new ItemStack(ModBlocks.failedsteelcrucible, 1), - new ItemStack(ModBlocks.coolsteelcrucible, 1), - 2100, - 1500, - 1000, - 0.2f, - 0.25f - ); - */ - /* - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible, 1), - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.rawbronzecrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible, 1), - new ItemStack(ModBlocks.rawbronzecrucible, 1), - 1100, - 800, - 600, - 0.5f, - 0.5f - ); - - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - 800, - 800, - 500, - 0.5f, - 0.5f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); -//Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - */ /****************************************************************************** @@ -1102,6 +1020,80 @@ public class ModCrafting{ new ItemStack(PrimalAPI.Items.BRONZE_PLATE, 1) ); + //Casting Pickaxe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, empty, empty, empty, muddd, + empty, muddd, muddd, muddd, empty, + muddd, muddd, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperpickaxehead + ); + + //Casting Shovel + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, muddd, empty, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, muddd, empty, muddd}, + coppershovelhead + ); + + //Casting Axe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, empty, empty, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperaxehead + ); + + //Casting Hoe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, empty, empty, + muddd, muddd, empty, muddd, muddd, + muddd, empty, muddd, muddd, muddd, + empty, muddd, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperhoehead + ); +/* + //Casting Gladius + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[] { + muddd,muddd,muddd,muddd,muddd, + muddd,muddd,empty,muddd,muddd, + muddd,muddd,empty,muddd,muddd, + muddd,empty,empty,empty,muddd, + muddd,muddd,empty,muddd,muddd }, + new ItemStack(ModItems.coppergladius, 1) + ); +*/ + + //Casting Bronze Plate + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, muddd, muddd, muddd, muddd}, + new ItemStack(PrimalAPI.Items.COPPER_PLATE, 1) + ); + + /****************************************************************************** FORGING ******************************************************************************/ 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 3c663149..0c50f2f6 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -12,20 +12,11 @@ import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; -import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.items.parts.ToolPart; 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.tools.bronze.BronzeAxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; -import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; -import nmd.primal.forgecraft.items.tools.copper.CopperAxe; -import nmd.primal.forgecraft.items.tools.copper.CopperHoe; -import nmd.primal.forgecraft.items.tools.copper.CopperPickaxe; -import nmd.primal.forgecraft.items.tools.copper.CopperShovel; import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.items.weapons.Longbow; @@ -159,6 +150,7 @@ public class ModItems { //public static Item forgingmanual; public static void init() { + //OBJLoader.INSTANCE.addDomain(ModInfo.MOD_ID); //pistonbellows = new ItemBellowsHandle("pistonbellows"); itemnbtcrucible = new ItemNBTCrucible("itemnbtcrucible", ModBlocks.nbtCrucible); @@ -178,22 +170,21 @@ public class ModItems { /********** TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - copperpickaxehead = new SimpleToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); - copperaxehead = new SimpleToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); - coppershovelhead= new SimpleToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); - copperhoehead = new SimpleToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe"); + copperpickaxehead = new ToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); + copperaxehead = new ToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); + coppershovelhead= new ToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); + copperhoehead = new ToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe"); - copperpickaxe = new CopperPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - copperaxe = new CopperAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); - coppershovel = new CopperShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - copperhoe = new CopperHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - } + copperpickaxe = new CustomPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); + 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); - bronzepickaxehead = new SimpleToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); - bronzeaxehead = new SimpleToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); - bronzeshovelhead = new SimpleToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); - bronzehoehead = new SimpleToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); + + bronzepickaxehead = new ToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); + bronzeaxehead = new ToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); + bronzeshovelhead = new ToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); + bronzehoehead = new ToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); pickaxehead = new ToolPart("ironpickaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "pickaxe"); ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe"); @@ -218,10 +209,10 @@ public class ModItems { /********** TOOLS **********/ - bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); - bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); - bronzeshovel = new BronzeShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); - bronzehoe = new BronzeHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); + 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); ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead); ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f); @@ -325,17 +316,17 @@ public class ModItems { /********** TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - ForgeRegistries.ITEMS.register(copperpickaxehead); - ForgeRegistries.ITEMS.register(copperaxehead); - ForgeRegistries.ITEMS.register(coppershovelhead); - ForgeRegistries.ITEMS.register(copperhoehead); - ForgeRegistries.ITEMS.register(copperpickaxe); - ForgeRegistries.ITEMS.register(copperaxe); - ForgeRegistries.ITEMS.register(coppershovel); - ForgeRegistries.ITEMS.register(copperhoe); - } + ForgeRegistries.ITEMS.register(copperpickaxehead); + ForgeRegistries.ITEMS.register(copperaxehead); + ForgeRegistries.ITEMS.register(coppershovelhead); + ForgeRegistries.ITEMS.register(copperhoehead); + + ForgeRegistries.ITEMS.register(copperpickaxe); + ForgeRegistries.ITEMS.register(copperaxe); + ForgeRegistries.ITEMS.register(coppershovel); + ForgeRegistries.ITEMS.register(copperhoe); + ForgeRegistries.ITEMS.register(bronzepickaxehead); ForgeRegistries.ITEMS.register(bronzeaxehead); @@ -459,17 +450,16 @@ public class ModItems { TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - registerRender(copperpickaxehead); - registerRender(copperaxehead); - registerRender(coppershovelhead); - registerRender(copperhoehead); + registerRender(copperpickaxehead); + registerRender(copperaxehead); + registerRender(coppershovelhead); + registerRender(copperhoehead); + + registerRender(copperpickaxe); + registerRender(copperaxe); + registerRender(coppershovel); + registerRender(copperhoe); - registerRender(copperpickaxe); - registerRender(copperaxe); - registerRender(coppershovel); - registerRender(copperhoe); - } registerRender(bronzepickaxehead); registerRender(bronzeaxehead); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java deleted file mode 100644 index 3a693335..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java +++ /dev/null @@ -1,141 +0,0 @@ -package nmd.primal.forgecraft.items.parts; - -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; -import java.util.List; - -/** - * Created by mminaie on 3/9/17. - */ -public class SimpleToolPart extends Item implements ToolNBT{ - - private String toolType; - - public SimpleToolPart(String name, ToolMaterial material, String type) { - this.setMaxDamage(material.getMaxUses()); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - - this.toolType = type; - - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot | emerald | diamond | redstone | lapis - X.0 | 0.X | 0.0X | 0.00X | 0.000X - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } - if(getEmerald(item)){ - returnFloat += 0.1F; - } - if(getDiamondLevel(item)>0){ - returnFloat += (0.01F * getDiamondLevel(item)); - } - if(getRedstoneLevel(item)>0){ - returnFloat += (0.001F * getRedstoneLevel(item)); - } - if(getLapisLevel(item)>0){ - returnFloat += (0.0001F * getLapisLevel(item)); - } - return returnFloat; - } - return 0.0F; - } - }); - } - - public static boolean isHidden() - { - return false; - } - - public String getID() { - return toolType; - } - - @Override - public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { - - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades: " + getModifiers(item)); - if (getEmerald(item)) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); - } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item)); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item)); - } - } - } -} \ No newline at end of file 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 5ff9997b..b7aa1125 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,6 +1,7 @@ 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; @@ -13,10 +14,14 @@ 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; import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolMaterialMap; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -54,9 +59,6 @@ public class ToolPart extends Item implements ToolNBT{ public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -69,13 +71,20 @@ public class ToolPart extends Item implements ToolNBT{ if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; } }); + + + } + public static boolean isHidden() { return false; @@ -86,9 +95,7 @@ public class ToolPart extends Item implements ToolNBT{ } public ToolMaterial getMaterial() {return toolMaterial;} - @Override - public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { - + public void createDefaultNBT(ItemStack item){ if (!item.hasTagCompound()) { item.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -102,25 +109,19 @@ public class ToolPart extends Item implements ToolNBT{ setLapisLevel(item, 0); setModifiers(item, 0); } + } + + @Override + public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { + + createDefaultNBT(item); } @Override public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { //System.out.println(item.getTagCompound()); - if (!item.hasTagCompound()) { - item.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = new NBTTagCompound(); - - item.getTagCompound().setTag("tags", tags); - - setHot(item, false); - setEmerald(item, false); - setDiamondLevel(item, 0); - setRedstoneLevel(item, 0); - setLapisLevel(item, 0); - setModifiers(item, 0); - } + createDefaultNBT(item); if (item.hasTagCompound()) { if (item.getSubCompound("tags").getBoolean("hot")) { player.setFire(1); @@ -172,8 +173,8 @@ public class ToolPart extends Item implements ToolNBT{ { if(item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades"); - if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get( this.getMaterial()) - getModifiers(item))); + if (getEmerald(item)) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } if (getDiamondLevel(item) > 0) { diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java index fcfa6ffb..3dd55c67 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java @@ -19,6 +19,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolMaterialMap; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -51,9 +52,6 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -66,6 +64,9 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -137,8 +138,8 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { { if (item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) ); - if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get(this.toolMaterial) - getModifiers(item))); + if (getEmerald(item)) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } if (getDiamondLevel(item) > 0) { @@ -239,7 +240,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ return super.getDestroySpeed(stack, state); } else { - return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 )); + return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1); } } @@ -257,6 +258,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java index 3bc1d509..3929d590 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java @@ -7,10 +7,12 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; +import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -36,6 +38,39 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { this.setMaxStackSize(1); this.setNoRepair(); this.drop = damageDrop; + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + Float returnFloat = 0.0F; + if(getEmerald(item)){ + returnFloat += 0.1F; + } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + if(getHot(item)){ + returnFloat = 1.0F; + } + return returnFloat; + } + return 0.0F; + } + }); } public static boolean isHidden() @@ -91,33 +126,32 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { } } - //public void onItemTooltip(ItemTooltipEvent event){ - @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) { - if(item.hasTagCompound()) + if(!item.isEmpty()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades: " + (getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + if (item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - } - @Override protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) { @@ -204,6 +238,7 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java index 91c88eff..e44ddfeb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java @@ -51,9 +51,6 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -66,6 +63,9 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -221,6 +221,7 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java index 6c3ae3ef..986a03e3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java @@ -55,9 +55,6 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -70,6 +67,9 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -211,7 +211,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { for (String type : getToolClasses(stack)) { if (state.getBlock().isToolEffective(type, state)) - return efficiency; + return (efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)); } return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F; } @@ -229,6 +229,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java index 6ab055c2..f9042506 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -23,7 +22,6 @@ public class CustomAxe extends AbstractAxe implements ToolNBT { public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); if(itemstack.getItem() instanceof CustomAxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java index 789d3a26..fe21acbf 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -1,20 +1,12 @@ package nmd.primal.forgecraft.items.tools; import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; 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.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; - /** * Created by mminaie on 3/21/17. */ @@ -24,191 +16,13 @@ public class CustomHoe extends AbstractHoe implements ToolNBT { public CustomHoe(String name, Item.ToolMaterial material, Item damageDrop) { super(name, material, damageDrop); - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - /*** - - hot . emerald . diamond . redstone . lapis - 0 . 0 . 0 . 0 . 0 - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - - if (getHot(item) == false) { - if (getModifiers(item) != 0) { - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2) ) { - return 0.0102F; - } - } - } - if (getHot(item) == true) { - return 1.0F; - } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } - } - } - return 0.0F; - } - }); } @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(itemstack.getItem() instanceof CustomHoe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index c725e5a9..9aa3e1f3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -23,8 +22,6 @@ public class CustomPickaxe extends AbstractPickaxe implements ToolNBT{ public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); - //System.out.println(world.getBlockState(pos).getBlock()); if(itemstack.getItem() instanceof CustomPickaxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java index 977e794f..b616b845 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -14,6 +13,7 @@ import nmd.primal.forgecraft.util.ToolNBT; public class CustomShovel extends AbstractShovel implements ToolNBT { public CustomShovel(String name, Item.ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); } @@ -21,7 +21,6 @@ public class CustomShovel extends AbstractShovel implements ToolNBT { public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); if(itemstack.getItem() instanceof CustomShovel){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java deleted file mode 100644 index 293efd80..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java +++ /dev/null @@ -1,61 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractAxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 6/25/17. - */ -public class BronzeAxe extends AbstractAxe implements ToolNBT { - - Item drop; - - public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { - super(name, material, damageDrop, damage, speed); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - //System.out.println(world.getBlockState(pos).getBlock()); - if(itemstack.getItem() instanceof BronzeAxe){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - /*if( getDiamondLevel(itemstack) > 0 ){ - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - - if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ - return super.getDestroySpeed(stack, state); - } else { - return this.efficiency + 1; - } - - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java deleted file mode 100644 index 55e312b2..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java +++ /dev/null @@ -1,56 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -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.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractHoe; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; - -/** - * Created by mminaie on 3/21/17. - */ -public class BronzeHoe extends AbstractHoe implements ToolNBT { - - public BronzeHoe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - - if(itemstack.getItem() instanceof BronzeHoe){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - /*if( getDiamondLevel(itemstack) > 0 ){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ - /*if( getRedstoneLevel(itemstack) > 0 ){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); - //System.out.println(itemstack.getEnchantmentTagList()); - }*/ - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java deleted file mode 100644 index 6bcc5a5f..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java +++ /dev/null @@ -1,48 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractPickaxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/14/17. - */ -public class BronzePickaxe extends AbstractPickaxe implements ToolNBT { - - private Item drop; - - public BronzePickaxe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - //System.out.println(world.getBlockState(pos).getBlock()); - if(itemstack.getItem() instanceof BronzePickaxe){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - /*if( getDiamondLevel(itemstack) > 0 ){ - //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); - }*/ - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - return false; - } - - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java deleted file mode 100644 index 8e16a29d..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java +++ /dev/null @@ -1,52 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractShovel; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/21/17. - */ -public class BronzeShovel extends AbstractShovel implements ToolNBT { - - public BronzeShovel(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - - if(itemstack.getItem() instanceof BronzeShovel){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiency; - } - return this.efficiency + 1; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java deleted file mode 100644 index 85d2cc26..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java +++ /dev/null @@ -1,63 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractAxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 6/25/17. - */ -public class CopperAxe extends AbstractAxe implements ToolNBT { - - Item drop; - - public CopperAxe(String name, ToolMaterial material, Item damageDrop, Integer damage, Float speed) { - super(name, material, damageDrop, damage, speed); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - //System.out.println(world.getBlockState(pos).getBlock()); - if(itemstack.getItem() instanceof CopperAxe){ - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - /*if( getDiamondLevel(itemstack) > 0 ){ - itemstack.getItem().setHarvestLevel("pickaxe", 3); - } - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - }*/ - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - - if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ - return super.getDestroySpeed(stack, state); - } else { - return this.efficiency + 1; - } - - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java deleted file mode 100644 index 28af9b97..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java +++ /dev/null @@ -1,45 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -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.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractHoe; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; - -/** - * Created by mminaie on 3/21/17. - */ -public class CopperHoe extends AbstractHoe implements ToolNBT { - - public CopperHoe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - - } - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - - return false; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java deleted file mode 100644 index a401c1d8..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java +++ /dev/null @@ -1,40 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractPickaxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/14/17. - */ -public class CopperPickaxe extends AbstractPickaxe implements ToolNBT { - - private Item drop; - - public CopperPickaxe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - return false; - } - - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java deleted file mode 100644 index c6986b4a..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java +++ /dev/null @@ -1,51 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractShovel; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/21/17. - */ -public class CopperShovel extends AbstractShovel implements ToolNBT { - - public CopperShovel(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - - if(itemstack.getItem() instanceof CopperShovel){ - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiency; - } - return this.efficiency + 1; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java index a6bb93f7..f9752b00 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java @@ -38,6 +38,7 @@ public class TileAnvil extends TileBaseSlot implements ITickable { return reverseZ[z]; } + private int iterate =0; public NonNullList slotList = NonNullList.withSize(100, ItemStack.EMPTY); @@ -47,27 +48,31 @@ public class TileAnvil extends TileBaseSlot implements ITickable { if (!world.isRemote) { IBlockState state = world.getBlockState(this.pos); - if(PrimalAPI.randomCheck(1800)){ - for(int i=0; i materialModifiers = new Hashtable(){{ + + put(PrimalAPI.ToolMaterials.TOOL_COPPER, 1); + put(PrimalAPI.ToolMaterials.TOOL_BRONZE, 1); + put(PrimalAPI.ToolMaterials.TOOL_CRUDE_IRON, 1); + put(PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 2); + put(PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 3); + put(PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, 4); + put(PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, 5); + + }}; + + + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java b/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java deleted file mode 100644 index e23422df..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java +++ /dev/null @@ -1,10 +0,0 @@ -package nmd.primal.forgecraft.util; - -/** - * Created by mminaie on 3/29/17. - */ -public interface ToolMaterials { - - - -} 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 cb1cf2b2..8741bef7 100644 --- a/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang +++ b/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang @@ -110,18 +110,28 @@ item.steelshovel.name=Steel Shovel item.steelhoe.name=Steel Hoe #item.steelsword.name=Steel Sword -item.wootzpickaxehead.name=Damascus Steel Pickaxe Head -item.wootzaxehead.name=Damascus Steel Axe Head -item.wootzshovelhead.name=Damascus Steel Shovel Head -item.wootzhoehead.name=Damascus Steel Hoe Head -item.wootzpickaxe.name=Damascus Steel Pickaxe -item.wootzaxe.name=Damascus Steel Axe -item.wootzshovel.name=Damascus Steel Shovel -item.wootzhoe.name=Damascus Steel Hoe +item.wootzpickaxehead.name=Damascus Pickaxe Head +item.wootzaxehead.name=Damascus Axe Head +item.wootzshovelhead.name=Damascus Shovel Head +item.wootzhoehead.name=Damascus Hoe Head +item.wootzpickaxe.name=Damascus Pickaxe +item.wootzaxe.name=Damascus Axe +item.wootzshovel.name=Damascus Shovel +item.wootzhoe.name=Damascus Hoe item.wootzgladius.name=Damascus Gladius item.wootzlongsword.name=Damascus Longsword item.wootzslayer.name=Damascus Slayer +item.copperpickaxehead.name=Copper Pickaxe Head +item.copperaxehead.name=Copper Axe Head +item.coppershovelhead.name=Copper Shovel Head +item.copperhoehead.name=Copper Hoe Head +item.copperpickaxe.name=Copper Pickaxe +item.copperaxe.name=Copper Axe +item.coppershovel.name=Copper Shovel +item.copperhoe.name=Copper Hoe +item.coppergladius.name=Copper Gladius + item.leatherhelmet.name=Hardened Leather Helmet # -- configuration -- # diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh b/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh new file mode 100644 index 00000000..229d28b3 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh @@ -0,0 +1,28 @@ +#! /bin/bash + +values=( +0 +0.0001 +0.001 +0.01 +0.1 +1 +) + +IFS= read -r -p "Enter Material: " mat +IFS= read -r -p "Enter Tool: " tool + +for i in ${values[@]}; do + touch ${mat}${tool}"_"${i}".json" + cat >${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <l1dW>aO7NmAL#*3`sfzz9iJe!uVD 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/ingot_bronze.png b/kfc/src/main/resources/assets/forgecraft/textures/ingot_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..36082d606e29417a70d619dc7a81897c7857d569 GIT binary patch literal 3264 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/ingot_steel.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot.png rename to kfc/src/main/resources/assets/forgecraft/textures/ingot_steel.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/ingot_wootz.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot.png rename to kfc/src/main/resources/assets/forgecraft/textures/ingot_wootz.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/ingot_wrought.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot.png rename to kfc/src/main/resources/assets/forgecraft/textures/ingot_wrought.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.0001.png b/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.0001.png new file mode 100644 index 0000000000000000000000000000000000000000..6c57a43a0f7076886c943fccc6e479afe91c7288 GIT binary patch literal 744 zcmVP)WFU8GbZ8()Nlj2>E@cM*00K-&L_t(I%Qe%_ZsSxO z#qp1CoY+npLaByM5vnS7fRJE=Dz?Ca71F!|D;|tpc?MWjWmq7@9+jC9(>5LQ&#`02 zW^prKUF+U^bk6s8Zt~L)S-&ZHdC#`txM05GuB6DAWqk1w_YeH_FOxA+x`t6kNCzAb zfwp0>VYQ?E>`K}*n=s9yXpz#?JP+62ej)5x)SOOuKDk!)bUoRh&vbjbmZIQj%-NK( z;nVe{eNUGViXm-B)$&z!sp+C}J|s=!`f<+tGeXL79z`Magl)-uNuEZ#MH1I-!yuvF z^ZP|*v1VN|9Wxm+=t%?NkUst-GJYzKAe#z`6cef-2Lc-{qN=PV%guGxh zA|0@)NPo%AGKRw_8j=|AO~v^c(}KxwxzkyM8|F*iZ1{D0rD`LjZXd;N#@E^dlWD=K zov#k zMr%42TR!-{Qq{COHf5Z~x4UPa9C3b1DAG8V7f-KkHl!Wxo`(&)hTETWn;ox~5$NOU zz-1d5rEeScolCQG%57|7wTqh}p*pyH(Z>JtQ|^|WEC{-ot!vorxOsBr@7Hu)JluVL zB~J;1SgiS)+fOQsnoUjeWFU8GbZ8()Nlj2>E@cM*00Lo2L_t(I%RSP)ZX;C~ z#_^xWGaio}+Zz@Vg#{OM6ewDyr9j*Utb~N1+XjgX;0`Dd1r#gMP;nQuD~es3uq&;i zY#<-rD0ar4@r;itPT*8W=i~oA@AE#LU%$$?<&xKztQvL;W(zKs6giWehaYfx#h?E$ z93Uk$^m3B4%a_#@v<){Ui#1uop(B$aqdY>3l%}Rx`+p_Lh9|uf`$Gm9)t0a&1fI1| zg_fdVXTZUTWkcJt*%CS=MMfK_TE2Te)`UpzXQXM|fAY)N-h?FOr|DE^@2YR<{Psn@ zJw9i*&rKbr)*GstVLw(re8At=@h-_?n;~H^Bz^scq7!A0dc0bbCiHW9T`uRm$S7B2 zU6Kw>hpa=9k@O3CJ<={^#gFezO>(jemHy)pZfXl^o_b6s+L9)0-s z{6yG9Sl#eP`xNoxV#(v*$3_E2S4Rc~$!x*dg6maOa(}@63B!!@$q`YvgXn8i5F*- z4Ht8+Z%BpMTWDCXqZg;QPldblNlw_%iou%QGTe!oDQl9liSs^N@VGzq*Ex%tAVzgj z@$u-$D2t$wa5iJM;?*Uc&p*nydCG%(F&NKI;|K%V?VX_sNtb>Sp>Ge_qzns^(1{)_ vYi=r5n;6%!jk4bF$00000NkvXXu0mjf*u7Ub literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.01.png b/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.01.png new file mode 100644 index 0000000000000000000000000000000000000000..ba9f055af45ab579cc7508472da7a7016a42468f GIT binary patch literal 773 zcmV+g1N!`lP)WFU8GbZ8()Nlj2>E@cM*00L=AL_t(I%RSRQkK9xg z#_^x;c*g6Q**7*2B%%~RksyT^2~i*@5CtU?MUW6J4Tz2cz5_~&prnB>08$F70BIr$ zB&twQY*y^c0AtU1#$%67aTl&+-Q&W~dCvblPQLjd>z5Ue&RI1a=FCdYD)Nl|jF+C~ z{DR;9WHLrd*D%Tm>43u_&^FAMlpBVDv}b?9ZWcxJl%}TH`2U2kWnOdbZecuR-P84S z9k+j8=vwle>6njytW*tc%eJRWNWT9t>yKwt6=wzImd%DV#OH}UZahiVa5m?39vzN$ z$ae^UwT}S1C8Ke&s=7G~m48 z_p|6O1VX~idxemY4@tgyH|yJ)bZ`lv??2^{a$DjU%Li z<&w0c-SW{-l}!_&eQ|5*q=-NtzBd&T)~m=W{V!3k|59k)*;B0|q|crkOGSb8rOV?s zzF)r@w{kQm)y3J)-rO_EBh2HAn8b7t|AlT#i!^1nU^0#AUDkwU6IXIl#?U-Gy6@Q$Qynid}vy`U}VlZC2yYTrlQytp=5@;X{*a=be%7kso zBqwx9WKh-2*W9@=6^1O^XuIxW=TQ=cbkrD*BK&^=3~L^3dFM6c00000NkvXXu0mjf Dyt-eG literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d7fd0274ddf64fcc1a3df527c0505ca5d03326 GIT binary patch literal 969 zcmV;)12+7LP)WFU8GbZ8()Nlj2>E@cM*00S*aL_t(I%Po;xOj`v2 zhQD*^bKc=7Vp>NeGKETV2co zvf@%UVsJ}&z=+AHK)`K|0bM4P-Z*ia|Uk!FJvwrF(gYd>>M8yJz37S#L=4)X9>=uw^0Jxg{kZKo*GHiFBq$&^u zKv^0?%w`~#g4vT@xE!DeV3%R*qaGvy)|<}IpSek}#n1FmJ3^U&!vdS1`;bMD_P#nX z+VcAr&D&3~Nf7Bgjq-4f%E%+0`TB6pPhu9qwZ4v3=;G)fw@Bw9t~6qAc^7f;`vt64 zxO>Wns)6_36fPTBERa5wX6I55ngMYQ-hO@^rvlX#rD@*#+Xgw{Fehs)tM#?2;WdS1OI^0J#EGd^3+#f`^q*|1$iWf)|q@V?x0{ z%yNT{zNB+xWd<>L9n*xe_lJnKMcLom$1@f|mLYZkj&fKY@=+fSA*y+B&IZUW<|vv) zmOby0*1>(@W3<~h&~=@rZzDJ@B|AIkyNSl2{JRiOc0o*LVXtd|SVxSym+G*Ee<7QP zXIFk8nSsW~jTpf0IUk|`mE&{RBoO<~U=~3%1#mmuw2m*3b!5pFK(s)^`HLL>WQ5p{ r0n7qaOoTv$Tzfw{P#yjW(}4c~H{DI3J^w1600000NkvXXu0mjf`_-<7 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.png b/kfc/src/main/resources/assets/forgecraft/textures/items/bronze/0.png new file mode 100644 index 0000000000000000000000000000000000000000..36082d606e29417a70d619dc7a81897c7857d569 GIT binary patch literal 3264 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 Ef<@a-=Kufz literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0002.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0002.png new file mode 100644 index 0000000000000000000000000000000000000000..b9a67d99ff14c587b2d617d686a80defd98c1c0c GIT binary patch literal 852 zcmV-a1FQUrP)WFU8GbZ8()Nlj2>E@cM*00Ov4L_t(I%SDq*Yn@dT zhM&Fn`u2A_CSt2-6_KJAK?Ezd18?X+NKr^};D0Dm2L=B{L}^L}A!8kAE7l8kAS7OD zDDgTFL7f$;MNe{)bH2;IISA)-kJe!CXTAG<*HWvit4TzdPN#$rSX^90YfVatEX(lT zGo4P!vJ4SnenJTB?d_qhwY-1jG~Rnegp?9p*Rl2O{W#~COeTm3H*cS#X&OQZym$E& z-g_1n7EmiID``%>dhI2amo^C@kYyPM2L}{IfwdOr94RGYjFe?bN(m7`rJH#f!9UJAnGWM?@HnMwDfVuBr-vTjTQpc<<@^o?m`_oIKBY_2n=5 z_uv9u*WsMw+U64b`}@QgvDTv2*4ENo-W+uI;yZ{4F-8ECQiKptN}-hE*7!X4-gS|x zs?bWQ!@p=v*L57ZJ@O+;DZKaS zx~{3~nh!sD7OgcgMq-TIbLYFn7`gAr>flKT0TDUutTkUkj z1E?%ZPCoG)YJGh@wQY;{e#qHc3xIQu7~`-+F~%XGwr#2F8V&H*KW_}WFU8GbZ8()Nlj2>E@cM*00Q+%L_t(I%RQ3KZ&g(k z#ee6VeeQkty_eQ6R45@z6eTf+0;MJ>Mh2QT+LRdLf4~5Zm|*-bI#4U=q+=Z*7^^ih z(6nly(F&-EF;)a3G*IPz^nKlX&$-7z)3--^u=ZYiueH?l^mGsr+U+*pdjuQj&{3^wH6U!tGxF#8Vz(5MSOC86z3cw!i}{Pq-o0H(hzx`(`+^o5pJ!Yq}%P{ zz31a|hj7j@Fff3cnwkn*TjwquWpZo*?>*L9TCEnPQi&*v$n%_)t9#h@%*gMX7{86v`^pB^Vk5_Gv-2H;NZ zZ2+8eWLd_}?YD{JnAcwZhI_5kq-jc?=UiAAV`F23qet!#MG;yl#mdz^JaYdB0IWCO zL2J$EfolMW2#-GSAt3~mQXCs!0Jz17<``mS9X(S8EKkw^ZGo-7~(iacRC$i5KP%&qm4D5bbtKSc zu>aXV(AHYK_uRZbkF}PO;nhB))|!9Tc2H}-+kekF$I!Mjbh};3}>Gf)9G|blBCZPMG-gFPO$yKX+(rd nrGodKTCGM=6jZBKvMl3&yQgX(BxP*?00000NkvXXu0mjfP)D6v literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.001.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.001.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5caf6bda70d6635cc96b2c1a5ea5dc3b8459f0 GIT binary patch literal 737 zcmV<70v`Q|P)WFU8GbZ8()Nlj2>E@cM*00KoxL_t(I%SDsBZd6Ac zhrhYctT(ph$4L>1r$7{RNJI((qohKj02xu40?bOVja!R?2S|&QJc~Q8_nhN1*A(VV zrkd*0@AelL7Z*)y%`gm7n|M`N}n)P~32m!I#Y}z7O zN=dDiT5I>4bH-XrDTUS=IcJ0roSd8xLO=^4P)gBScY>6%!xmeuHG~jYYiX^q-|wll zB83q5UZiB6XHI`?5JFH&K`Dj1x+0~7QmVtX*8jJ#UazUO5@RHUz{lU7^?*t#q(_gi z)^_N#w{H;IGzF-G3Md`XOv`QbyHbI5TV zdGhKNQc9FkJ^5NIpI*P_#k+T1kuiqVYQ;E?2qEqRy}Z0^wN}P)>;Pl6a z&ktU3cXx;Pp5xWFU8GbZ8()Nlj2>E@cM*00O5;L_t(I%T<%Ti(FM0 zhoAGFk9+UjaW^bc#55v)U}wOjP$Os&NS7{#5Nrem12IM{0tqCrNQxCSn}sBWr7Y2; zh&Eb;SQsU^1})8Bu%hgYGjq9fzATnG;;GJQp7VR(=Y7@s`g%6TFr7|`F|xe8jEInP z##&1Vf$4OLwH9LxixXpHG#Vk!Io|z#jSvFH7;?_^ea{a+?xVkPgYkHbF$V8FUDpv~ z=lrC3>6p=laKDTUS=5dq-O(Fce~c^hMRa^(s+XOvPn=lFYamdRwo zbUNJy7-J9-`o3rN_vcYc5o1JaO|`j+_a3cvN%_>?tN&RT4u_D!RaJ3d|06;Oq?Cv;qLkw9*5PvZ-ZP)i`Q*$Q z?mu{%{@5|9szPS78Sk7shlrrHE}c&)apnAZPOq+(MAljcg8?r-_YkENAq1ptTfVq_ znXkWj?SB?xjHHxUzi^?%Uns1q3K5}gTf`VcUDq5vau1~x0M+IubzPHl#(Q7J_tRJ2 zE3l$|JRY;NvqN3i%w{tl{Q4~U$ex^x^CA4NQbI(y`o`%JaRIQ_5>K2!Yt5~1 z4`Ga9KA&T)#e0v4NLdbRE!J8V`%%|*fwyhT+iyLj?|Wj5IOoVY^DlGTOt;62GL--T N002ovPDHLkV1k+9dME$@ literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0012.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0012.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9432bb5be0af0a03f8e43c6814abb2ca4759b0 GIT binary patch literal 901 zcmV;01A6?4P)WFU8GbZ8()Nlj2>E@cM*00QYrL_t(I%SDq-Xk1kk z$A9;}d*7Qkc_tuM#ENL41;5a!Z5PE#Tm%Xh3JRrkD+p<5EV}B)qJ`ipAZ;>1OCY$B zvC@b|MFmTxwGB3UQi(#H;bvEaJ{^xhj5wo+iK`BM2)4@5% z$jAs%N2%Oqqm*J0&NZNaAv$?rRtyUwBV~jC`5b)lU zrYRu=lv2nL0#ZtpQe3_@P83DNaZH})D5dz~n=y`@K3xgDd;LR{Qe;_1nx@Ely$-$4Qc@HJ(|31N1yK}{G@BS>Sh=$U04XJp zJ~a3L7P2hEd(ZO9HqtcZ?B2-=&}WzSU=AH3j$?Me^e4_aCeNHf2tj(`LZ5*#h9pVY zIeHIkElXeRt?XXDHD2Y*E88f`lJ}1tuo_OxJ3UE;r z{S7r5jWD3wZnwGf^V96v{TBd5QE>D2cAkIcm;Ss`B7|UdZGy)ho~PIAA+^>x=g9M% z_ilW|&e3~SM=2#QzwkQ`EG;3W#CwmmmaSVF+}KoQ@!Im^NGZ`; z;|?DtiXtw4`3g!Y%CbajjWGtXu&@xEb9B31(lo8Q#Bod%Mb%FX4GrO(qt$BRy(h~u b%Ch7?*#~BG91MlL00000NkvXXu0mjfELoRp literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.002.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.002.png new file mode 100644 index 0000000000000000000000000000000000000000..0a5d817f72e8097c397e3f3bffdf0704098b59a4 GIT binary patch literal 809 zcmV+^1J?YBP)mAA03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00NCkL_t(I%T<%jY8*!t zMo(4Us_CAdNJfxH@Jj^ZRbIgejJ?Yrv5<|OmH)6oGKQdl6ConcLL1pe3*)u%CYXTp zCIPKR!%R2TQ&l$$F%7N<`09S=@R`HILlqI0%OyEyHa9o1)}pF-?@1}KTrTn6BOp zqtS@l&z=oI_dg%wUcY8CnNZg?=IH21V~hY;Ybm8rN*Vg5ln5b^b4FE3DPfFZYioTEV6#z+VO|Mo52_3L==$vJ;N~Ed+`FUUE%n@ zuPHZgVopv@G^Iq_wvUCE-h0O5F>Tvoj3K3jZJLJTt5-3`d|@HyOeuxKCr?N>Zjf{4 z{^#T218Xf!(_lq}jh&rA55VZ`j63`Ls4A<~YGCmDH$P*HA?M7Xemlly6nCWz?ZQBCioTHR70L?iMwblz&RrWFU8GbZ8()Nlj2>E@cM*00PoUL_t(I%T<$2Xk29! zhM({6{>+{H5ZVS@n~FON)(UD@QV>A|3DMHvM(v`|+NQV&ZK2S?g#=nU368UIkyZzc z6?7vmid|Sih{Y~b+!jWZneonC?%eOEi<%3b)mgpgyzg_4Xt&!zYt48(#yQ8_+#FI$ zLI@aRu+}mjk1@uewPwGZa}0+=WE4f5{%HeiEm~_r2$W^Xhd+Ks+3hkKjnG1SZkS`okeVHYy^O8XNRw6HhKGvpK;D%j3Li+k|ZIDBC4t)gn;*+G))O1 zptVMZ5Rg(*uB>o(_XJ8Qq9~#$3bfY5am<;kS8JiQ`yJG+TQr+Z(lkYEZEc0JECG;G z;=RXvU;DMz^7p?NI5dBQ5CYa(gb*w&ERd!tQV4-k3MnN3e+@rIO3B%KZ2+{^v>qNN zgn$r&D2n(eUn9?R#^do*0j)J>uU(@oOIi;PBZT0_YiCeO5%+p7X9 zY&IDT2CTmMCCAb~={!DIBmCz3S9s^WKpPPMp*z=V!SQ)Ij}PKcokCVsMI6T*J@N=^ zEyeOO&N+k-+}%A<_f=Ifolg1m{CQSqu2Zh85XUicGMVtf`Z`idlu~u_-g|CdzRbB+ z3w`@GT5F6kG#U+_UwVKL0&6WY%Q8AkOYHpc>i;M>=kVUszH$Y7@+8hV*6w%e0a8k` zEJJK>ZwDzQ{eHhb-MH7|^xhuV*VhRl)Q9A~CrJ|WJV$HI;^HE5G#W7&3`mlM$z;NB zzduV@U4`TG2qD=0<2j0=cuFLW0T>pakftg9ejjO!!8u1!6kPoE3yvOn1iQvW)lNeLz{3IOm9>h!6r#0KE5Fh*cD{X8-^I07*qoM6N<$ Eg58FE?*IS* literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.003.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.003.png new file mode 100644 index 0000000000000000000000000000000000000000..4eefb8e972c715080291c20f11fdb4aeeb38bd01 GIT binary patch literal 868 zcmV-q1DpJbP)WFU8GbZ8()Nlj2>E@cM*00PKKL_t(I%T8CJiy_c^E;x`=>)AclgR|<9P{(@NGS;+5JeHzS|*bT zQ52!I=07>-I6FH-8e?ev`4np{T5CcGlx4|}e>|al^@`DGgw~qrbV_*rnxF39r>ZKf zwam@UAOp zy|4RPYca;)oFjyQwH6@+3kwURX^Ip=%%VtH4(C)|&MXdxQ`WLd;S;e$040 zW-^(~49wfNZ0zh%mL<3T+D8b%^RL%XN)aC)!^se(RBit9!GoHD&a#Z*>MFmKC8;rV zKVPm9u5EAA+1jE5h=0*-?(V|!CAyz4%0$OXT zs-i4QLI|_&Qj%pEGS72uJ zHk)*pmRSF=_dg2GIlT9DwzjaVt92@^HSJHoBc-I-Y$AHSUXW5U7!2y`#>dCB`hB`f zOXMpn7-N`Dr+Dv4l7#VijMkdP#YN<3G-5a$k|YUvo}-i^+_(YDm$roU1KmYw3&N%>n{r)ymN~)^jt9S3}dgZli+&lmUV68RJ+HImJVmh574h{~2bB;XENz)YXeSKf0 u6h%>>wWir@;+*63^c3$sS(Z^%75@N&%3c(59FH>q0000WFU8GbZ8()Nlj2>E@cM*00Lr3L_t(I%RQ4#Zd^qW z$A4Y@HE-U?R&XxCDiRBJTmTT9fkhN!Cldq#i92|gu{9$iaR?9+w;)nZ;ho?3eRaR? zW?@a&rfXAG|F2fN-L4p8==+|O66fdVhzO+=thFr5Lf`jTYca-fs+1BB4-bfQ4uEA@ zFvd_yVV-9IVvKZMhcSj2BjY%dQX+)FvMijPogv5Lk-qPF{@YJzt(m5Yd7hc3iO*mD zfKm#8QVQR{eZw#ehzKHr)*5wlb5pd|hzLM^hhab|MccNF<4D`Kq?G8oj*E*6y!R-j zko9^EK+d^R2_djrt?=G6O%vXG=6NQ@h_#mE@kq`Y=NzJx;)LM4?dytSv%LhUx|C8- zO5vR2*)MN+e0-$ud(?ivFF9vYN{r)()*7vK9R~R3`bYkHe@o8!iMLY37|A&!o6Uxt zGa&?;rl}W=F{G3zrSSLe4y9CeKq*Bjg{Enc7$e?$zWjO1vMij?D5cnJFKZuTB!s{` z&x8=rTI0P(hGAfuCjQ&)(OP4S!Fx~6ng0C&tu-&MUtx^FTFY0z|5_bdmIZ0smbPu5 zED<5+OwO5aUtd*cKHeTkDUnj**7zD@ zsuriTny%}fh7Nx+3_A{b-%VtZAWhzQnNrn?VS;D7G+gb=XS5@SR}gr;fg_x-g0 wKq&0UZ%ja=YD$O8@`>07*qoM6N<$g0xy#oB#j- literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0101.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0101.png new file mode 100644 index 0000000000000000000000000000000000000000..c51921e5d7674ff6610739b28f9a8a95aa9db096 GIT binary patch literal 854 zcmV-c1F8IpP)WFU8GbZ8()Nlj2>E@cM*00O#6L_t(I%RQ4lk5yF^ zhM&Fm-sjwN&&^C^FwxK$qcPB^L}`?Q#zGBNmJ}8S9AF?pNc<1e&7H};(FvuEPyiZe zEii_tV5|OtF>&UeJLhwsy|=|=&T7^w*4Mk&pf0!fktfWGfB#t>tqZCieRdJ5+pMNwdk!8u1=*Ld&w{{A`ozGr1+ z1z9ealx4}uJ2!doBal zLDF})4-YBJ z5;dF6Vh926J#}59wMJ__6a##6^(!83Z4*K`!mSj}IYJ1?WHKRyz^}i(PL^c@6UG>R zc=!P^MjlOfP)gywr|UYDQp6a^vJ7#~k)|n^?|wwz_Z)Adl;YCkGehj0qw6}_w&j;+ zuc5UjO;e<*Dw?L@`E-WX8e z)>@jK@6cLv|Ht$Ev@@gYI;^!g=TN)5yU}}3RaInJMhJnv?@5vbtu=LBV~iPoVSj(0 g5CW6Qgs$uOAI|n@?R%{X-T(jq07*qoM6N<$f-OUa;s5{u literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0102.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.0102.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe5555bd9338e46156f432e3c1efe7d36731356 GIT binary patch literal 914 zcmV;D18w|?P)WFU8GbZ8()Nlj2>E@cM*00Q<&L_t(I%RQ6di&a$| z#XtMI_qk{84`$HGexO7M5lulhnFDEoke9MFdg#%Ic@S&Vn`F&f)E_VpQPsum=j^lh?m;}?m-T&FEEa1m)oeC{F@}D>k8_T( zu`xu15CTyYk>@%6exE3cFvf82oO5(K9i&t$@x|#W@;t{FLkNL1O}TJ!Bi35F-7dx$ zZm-UeBni$rK0mdMJkJ>&9YuP*9((HNxo`FeUwyli;c!Trrfi%1oyYf2qm%+*!`Mf> z_V!^0g8^^sy@-gQwMNa&%>}JBA_7q0U@$-_#p1bLyt?Zg)oK;z9Nli0@$qruI7TUj zR4Nq!?z9^K?X|{qALYy&m3sN~IE_ltOFG1M5C! zZ{rZFog;_{J5Rg_fH8&#*MC9?0i_hL@4mpgqlZ~rTch9aqvq%5gZCci97&R(wMJ`Q zkO5vf_!jR^FR^vYjk~^;!di>>9;wx8c<))hvYB$ZTqI$P;mfbL6GGrjv&GaiH*wC9 zWf@8-LI{-0WyD%b9LF3uQ76xHPA|TIa}K2x`<5n(fBDL0vMeJ_Q!f4V2wH36I7Zj& z^$)GJ{Qcu)lu}GQb_-(+fBtij_-czg?FKvEn?&C_3&3-;?=ZN2k~oeL5u{qJQms}w zd1eP9g7+TpJ^Meniw})ASvhtb=N!&CR*oGn$lqVugcxHO85v>U(nL`j5n=kJUkD*! ztu5-?NoG+>;hZB)Qvg(})e84Wy4iXxtU`nN(+MA*9J2J7E#6!vz{yvfE5Es`XmQmG&SfBkz15y2S4WMc;B z96u~SjEE3L5yRGJXstQ*&GRg_=E<^*D2lMwq81hwf^&|+U_iNC#(Phm=afn%wALg^ of-$DpLc86@drz%aBg-=W2S7Mv#VoSEs{jB107*qoM6N<$f`6u(FaQ7m literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.011.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.011.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4b48a3a488ede31b67839152992559ce82b96d GIT binary patch literal 814 zcmV+}1JV46P)03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00NRpL_t(I%SDqvZyZG! z#((q9?Cg$xvW>;Jph!m%2_#x1LK&q8`INKI4hcx4OO%KrN>GyX#pY7DwOk=VfvAvz zLJ1OI#6Iu8*_|1R(=Ag?_2~KYd(~_125rs1PM|3E1PKuU=(4-crS3K2m>&{`uYB}9blS0_xLJV9%XwU)ZB zdH?K3@;qnq=n+Lx@ayp#?!Q097{h2Z!a0YU&*y1vSwx625@Q_l_I;1FmJk9dCHlTc zDaG#YF3vebDYdd9!ma84AT*ke0ft^uN+_kU*7Cvq1Fo;HDa&#tV2nXTxOn!Qqjz(Z zQY>G-L2FHZe$E#M6SUTYczwM1e}&O#M2r#dJd4I!}q z_%TW;+{MKzLf3WVdCte*OzHcc7$YGBlv0eQxOWflJ?-t=?Ck6y#u$pCz)ij$pvlkA`R#N;N{O!P27F)K91mTr zr&sg&JgwVZE|)mxhQ`~r#ac^QmaDuXD5db;ljk{2(;!)v5kjD@Yaaad(-2`T>b+<8 z!E}J^^Sk4L)Qyb|)MBwn>-<`4ZcO(0=lB$@^{~KNYz>t6e&|L-1n1mvzW<)QWqlt- sQ4nK9MA+Qi#5qUXwuBI{){;`WFU8GbZ8()Nlj2>E@cM*00QnwL_t(I%SDsRYg}a* z#(&@CoHHjGk~pXc-H3R>x@ap}q@vJG7eeF4Qo6`aNHEu4EZAKO!9{5$&1Bj*ga$V< zM8qq!xDdrAO0ia5s{cSll9|alXU?4O;$qD4UA?P^=XrkbE9&*S*IJV#3D#OhM@NxT z;=Lyb0*o;vNkR|=Xsy{FYc1_|8ySWnliys!7=zXt?>%{*^Zn)l@@A7xr-Rm-qA19+ z3~MbPe|i*S3?m~W$ZogG^yhUGl7w&zB5CQ=2J#Ws>lBOxA z#y62tqLe~f96nT5F!DE#tjM2tgQzJaT@Py}dn>BpC>3t&vi)arGLDzdwr*g6`5ylu|^k7AI$? zQA(9Avz6xm6spxK&N+Vi`6=Q!=EmzYc<<3#^U0U5Qk*%%SM>%$2&}ctT)Bb}f_P(N z5TPgvq9|hW_6dwJIOnj|B7|V#&cSjoih_Q>&--W3vUUGS^3$h@q6nF$DQ{o8#KZb6 zlu~G|iJ}PS9Le%3^NWidnw~^!O%MdU_TIZZ|I9;#5Q9S3*Vnysj*nVLc_)7ut$AxLX_^wpG0r)RF@#}=Qi?3g&{{J*JdCxLot+(= gb5yHU`u#rt0%qT1E5LzG-v9sr07*qoM6N<$g2`B;00000 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.012.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.012.png new file mode 100644 index 0000000000000000000000000000000000000000..9042c772a2087675dd7543129e42ac53a30c1813 GIT binary patch literal 870 zcmV-s1DX7ZP)WFU8GbZ8()Nlj2>E@cM*00PQML_t(I%T<%lYaC@9 zhoASyyfbfhN!p;|(Mv(_(0jpp@g$Os6HDDmLIfCrD>gq$|JnVHP&`_Ahj?11kd@ZtSD&-WvGyqs&LLRJ3EUUkH%(3?U$;DQW#?>ih{$Wl7t`nJFFk3s8_FOx7%225!>6_ zp)5-Pq?FWkO=S6bbfw8 z2mv7k#uzTHuX1{NN|t5k0a|Oi8ykGLxy9PA+Xx{TKi@$qMSO6;Ki~h2QmP3r`h&)T z*x%m|!{Ly!EHTCqy?#w`?HW-O;k`#n*{G|kirY_~z|{++|Gr6m{W@ZAZ!b9Kcz5A5 z{&?1F99wHimKPX5-$83lRaKN_NeJP*yOgxsZDgM3EZn=tpS@j_QfRG-bj=)-~mVd6z@Ijhbc$> zlsJx&QqpR*kXmbIJ00xG&E{z0g9F}q>uo{^OeT|t!P6^C2qEy^)2JVfMhu5TCg~n| zo}-i^+_(W(FCc^%vwuXmU!&oY03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00N&$L_t(I%RQ65Zd_Fq zg};4%?vF3n5~e^r01^}+ArvZV5K4fC2LNdtGh>epAxLyQfGGmwiLIpcBcMoWQbhs_ zibPQG29);9)%`p7o^vRyxu-eZT6=wKZ&@rB(HKKjRe0~&+1WuUMT`+^EyFNSRTb7+ zj4^DU_ny^ig-VhHfMFOg#t>tq>pB4XzGuB&V~nBidzz-%?6iO+y*2u}pNz_`SlmZz4x~>rs zilU%t8j7O8d(V2kW_Nd&G))l^)Q9(u00<$BQJiyRS;m+5@A2+*k2Fo`x{iD{!CFgM zmV^*Uk_3J0jW>UaF(M*-Hb3CsKQ0jwUOoDTzkgZs-{qg9fxG+*V+=dr&ZwUMelxL% zV2nX2#WMy%2#5&fgNJCX(OProaK`rWbd1=XKH|>djMZv|TwGkl>+5T}t|LhjLI{Kq zu-4+eADI9+=K#pEjIQg*vJBPtJ!zV9>$^F_a5KRd$8$u4SLXY8?-3FDzQ;L7*L67O z&{~tGDXOk(+P3Az;tZ`d#u$EEED0e{{d$hpn)haRF~(r6<)a_(j|~mOfGUcDq9|@E zQEH5E`(QdY^YZi@?>*joUY?%cI4ea_6ewd1S(cH{Cgak)KcDjS{1Gum`o0I?gX05? zF^CA>d-B-?09h`VaYMH(OY%HNYYi}ht*UBt6%m|sq-jdqwx|v5rfIO&j>;QR=Nzwn zKOf_LI^8Ep5}KxAYikR&SrVlb#u(m0@yY()C}6FnT|OQGKUtpPoWoj6-}e}$6nUOg z*EQB!{yBThi(w#160Ef}O@lFJyoIZ)D?$k5d5&|A{{cEZNB6NXRFnV!002ovPDHLk FV1ntLYd`=1 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.021.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.021.png new file mode 100644 index 0000000000000000000000000000000000000000..0b9560e21683009798718cce5241aa56f2dfe2d4 GIT binary patch literal 882 zcmV-&1C9KNP)Lx03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00P!YL_t(I%RQ1$YaC@9 z$3M@Xnb}FwBm@s4z5+cIM0zNA@FWP0-g@atj7hV}?50-1o>FMBpsgm|OgCK*Ii!ak zg$jxwh>r*f&i^Gle5+`91f9T7_$81ed@YKYmN7wvMd282LsN|&d^#@RTV{1@Y+Wo zV2q)zYi4I>k)zRw2bWiP>C-MsDc)ILqAW|s<1w%Q`ZGcZ0KE6S*IDQ2{uWY7q?9P7 zkluTwl>EEhC%JQnXT6j#3@M6&!!N!fiXz&#Z_{eE_-^MBA0O_bwPt2!hB%H9zxc|( z___yxloID0&N;N!EGBFGh2yx_$6CvU&UOCzavLE83kwUxag4h3@++I(dxQ`yCTslp z{0Jcg7dqGZeLLmvqu&5<&S8#TptWXhqfK^jc>Yuffz}!+B|lNqJxCEkFxq;AQi|y5 zQ?9JHneDDNE{mN3SJvAMheO2v{=PpwJ*6y5!Z2(i1VMnc7Aa*joiTx>$6YD^Bf@rbzLL&_V&DUjy%sB!T=VN zHNM??h*GL?&^<`mdAq}SJf_uZF+V?#)LPSOwTRnG4K!~gtNgG#z3T=Xs?>2!Sz%D2f=5$H+)wtrW-A#B#vY9 zJSPYO{^)8mFJOBUy literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.03.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.03.png new file mode 100644 index 0000000000000000000000000000000000000000..98286a008273f1c72ae43bcb15135a9c866da2bb GIT binary patch literal 874 zcmV-w1C{)VP)WFU8GbZ8()Nlj2>E@cM*00PcQL_t(I%T>8=QZA8FIf%$;=9y{ihXwoN)SO>JU9D2gb{k}S)Jq6n=u^XHsnG#Vk}IOds)Z*s1;jn*1_=N?5-0AQ^}zV+Jd-&*oK z=jjV?V2q(GOO}?FkmK=~pRVt6pAw}Mr!Q_$6a~}il&3acXLMr#KnQ`e-44ee?jWUP zth(Hb4{l?OL2Jz;JV}xuj)Dyj zZ}tI@QsTYGdym$d^|Z|+Jiqq$aL&=}UgDn*b`e6bva&*wB&gNLpLj2XfDnT9w9Ows z9wUUH*}cT?yF>my{uu!8J?8i!T5C>SZjt@)U}h?WKx>VZlKYf+?-4>U-norZ3Z)cl zofb>mTUE+@aF?}Ci_vI=I6OQIFTQ%7FRtGtj^k>DD2i~-A*HO)8Dm)OrTjMhh@vQ{ z*Xu}YE#K{b%xW*CEN2N`*-jBcu$XS*oI?nKwH9LxNAF+57{jT{Eo!wIVlWs4?|p?z z2vIrC=V#lS{BmnX;Dxule1GLC&1Q2Za1?C#^WLXSCX=dR0PAU+FL!RCl=@$SMx#+- zU0z;B{`J}C)a!MU)<)(2T)M@#ckXhw+re53!1LQ}wAKhAaL$pmHUJRA;V{gvJ06c` zY?T6_C<@{@Cd)EvwHi`Ngb)~Gs)EV+wevhDilRz+E^3Tn<(;%D*_o|P;y5PHa~2jB zkN_{Yw~$hzwdP4AFKu3^1fnQnI^0Joh1QyHhI<%eSnjp4)*=oL4uW%z$z(#3BzW&B z%aS;bQA&~LIa+HPjRwv+PEJnn-m|#4h%tu$0AABvA95M(C;$Ke07*qoM6N<$g5J}M AxBvhE literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..276ebd6760410ee53493f7abb599aa0fb4eb2bdc GIT binary patch literal 945 zcmV;i15W&jP)WFU8GbZ8()Nlj2>E@cM*00R|CL_t(I%TF{jy86%%ZxSYHUKomtB92_8vXNpYKrl?)2u`swm&drhfoMK~VgSp%s z&1RF$#wMw9imb@;Vdn#H8gJWAZBN04gX0g#dGI5x7xR`EQ@x#jpI0ItqH>r zV+?T|Q_&TQvdCtA6KRY=N{LbmfIGn*wAOUHU6fMTwoQ4xd~CG1x5%VDNh+0M?BW%_&b3%fFA|0!i9~{2Cig$w;b0h$)hVFvg&iV!AO+%WI*vX3byY zrFlsZ1iTmTDY+$F*F}b5h;7^4wr;b~TOf{O-hF$=ixV#Z82WPvAq2ff59h1H%GL@| zBjU^VFD(7AggiVvq}S^qrDW2cL@C8Yc7pU?nkU0gX#Cv37=suTIBADcwnR?kkfCI1 zcM9ow9-im%D)9;_C2<^6u9vwQUFH6_`<$+yMhL-vdY?|Gb3E;pb64;@52chkN^edg zECGO%aBv)lZnw+mz$gIIy=mfK;^TsS-#Q|9RR5_` z|FzEE_dOma9%5M*09tF_dT*K7nLt{WMgC--pb}tW!}4Ft0DS6vVk|R;@B2J5kB;%? z#XMSTZnSQYOeT>4<$9Uj!Y)InhA55}iK2+Smq$v;`K|K^A$T3XMk&QjbCVzlsJ5$w zVThDcGUyF5vp+-E>tb0J#u(Q3*4YR*$e%nix;uCm*L7K`t`J2L*M7W)F@}Eul<87g T$<=by00000NkvXXu0mjfQ%S5C literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.101.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.101.png new file mode 100644 index 0000000000000000000000000000000000000000..8edfc1f690f65f2a2cb16947d13f9312340f58ce GIT binary patch literal 988 zcmV<210(#2P)WFU8GbZ8()Nlj2>E@cM*00TftL_t(I%RQ1!PgGX` zhM#lh+&lL&Gh`amHkxUr(TOc#tV3gn5E!CkC?rMe0uzaD>Y|C3F1mA73>z18(FI9^ zNjLonX*ZhqK`|nJ0hNgzNhFcT$7X5>Ffa_v+_`h_>B5Hh2RzC1zOU%*@73j|GUhFl zP(NGG;hMt$c%H}R<|Z<=H^raBFIf6yiLvMy z2|Gb}Hq6}09M14Cg+hV({5;{QFmVy**~&8>iksF=x{6&G zhC#7d#Ih_*)5LXMwAT2(&$KyBN~W04%_FteNGVZD(Kj%_>B?zL)1*`?p_C#R405Tz ze;4%KNj*Q^CE`dORL@cqZ3s6_7Lx#g) zeBY-~C}7(*Kek;)YmHKhj(i6r-v%*FlZ=z$uD;9Vt5=y6lXTr$#kOsv>$(JkK~5Q` z7%PwA`#w(>pK|-1+w=_#uF7f zrfD(}nxJi^4QUt#$vsIb(-r>6Wf^}l4#4y6=QPF|aU6$>znZ&xcf=h`)1-B)m71Cw zB*0W|inXRS`Vya$YDnRE9?4J=DJ2IM4&e3na?ihqQi@L9Nu^RDTg>9RE>cQKG!&(K zqnlEwgkczHt$Dfrk~w#dWFU8GbZ8()Nlj2>E@cM*00UM@L_t(I%RQ3aOOpGex5Hm6i%YH+Qvy%JFTOL=uj(5F_?Wo9=P4>GLh0)2k^r8&cd^4^?pgOZn?8%K z>!j0ZEX%?$405>~Qc4`hVbYkSPSg=!i6f+x2qCb;VXk*}az1+=!!X#{*+J7ZOw**T zqhlBJ<)1y&|NJjrua~mYGL-J_ZfV;#!wl0Tns6Kk$8mV%dPIG$o|zXjR0Jv*OONsL zt(W)~eVnpR@%V$sgxA7|fp-Q_Rh1^u1i;kB6ha6Fe_tS$ic$VYBA2o zF0@=OhiRIeE1V;miE{GNC1Q&)wko%{e`A`ds|_go6*B7?taXbEEgxd-vv8NXNxkt0 zVtad=tL^OwAvkTGM$4GAHodohL+k59@hez9ixYtp1eG8nCph!p8HC5< zp(hYvSRF-os;U$U1)i=wrM$SDXdz02 z)_|0fY&OemYL<#U6$l{&evhB#WHURS9dunsO3Cxr&soSV5ZW6;2*E}FMO-cy<8$K_ g3I(c5s*zIiKdYHxXj$Rt{{R3007*qoM6N<$f?~PJE&u=k literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.11.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.11.png new file mode 100644 index 0000000000000000000000000000000000000000..40466d6a002899496c9798ae2082d64f87706cba GIT binary patch literal 1006 zcmVWFU8GbZ8()Nlj2>E@cM*00UAcmi&iiV^HXpE$BG3Y#SF)>-PWa6e38fSfZ-fK$2Z&X~ zsP4XuJLi(zNFw6#xN=>Wgq|R>9YNDHG))5_@m2!e*7@PnKe+YdPq?m&rfCQvNbDqN z^R^)afdH=SlF4MSEDK%NQA(lfI>lu9M0#WYbXie*{Ia=DDh z;|wQtwH8A;c5yk0M#bp4JH0syb( zFI~hmOsL)afiN=f~TdJ28lxa;0U*L6nv z;*?4y7XDqJTrMM}lvMev=-BRH*T2hB{2EFro^3s2xx7qx&l~7m)j2H7Vsc>;$8m_f c8$l_>f5RtdYir}NmH+?%07*qoM6N<$f)?@2?*IS* literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.111.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.111.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc04eb7b46560f7c84b86cb972f1e19ec2e5294 GIT binary patch literal 1032 zcmV+j1o!)iP)WFU8GbZ8()Nlj2>E@cM*00V4EL_t(I%O%p=OIvpU z!13?-<>cfXO+rey$%@`^#EAsjkcRg?FYDHI z*4^vWhwHIgtzH?ak5s$~2 zy!8V%n~mm<4s=~-=+0f*C%f_4eAw-FN{^PJ1OfpwnM`t@`_zd#q?AZ0nJ^|el|IGX zpL3ME%Xt)g#OwE8<5+c2qu21{_!BN|UP26fIDo}sp-$9M-`2v+?hHZ*&Nl@KMM9Jn zmSLJE6?z3n=8sV8sO3O=D{@8>+6*E5YkpK!Wy}~Ocs6rw-gCHg@WTYo?2 zTAQ(0EO_!g2qB2y=>ec1Re-SD?MNw!L?Rf5!R@LROw&YFRcd!?>Az-Uurt71a*h#m zgq9mOm{cY?Gqj0e7>IN_jm>7Gqy0XkiBY7KgjPcg9~j2o*2tmfhfoxS#7+WzMdvgB zCuDcB%v2Zg@STT<{r!EeT))oq&Mtg5AF8TS<*vf9?V$VDO8R<#=Xmp%C@uxvq0`Kqt#d}767JKrwNyZ+1}iyA=`iu0!2|srBY1fPEZxALRhU0JJfHGa z_s?XrS-iPkgb)<|RY)Sx%LDlURaF@dbdgG>Scoli?@Jo*UWFU8GbZ8()Nlj2>E@cM*00Ub|L_t(I%RQ1^NR@X0 zhoArdyzlvZJ!>Bg<_yhtT8hVU(h>?wB-t3{+(jZZycpB`SSH9WRyPU5D|aEdv!n^T z*iDSFTxvN>ZB6u0Gqn?eLFvE~wAA!?zTWeG>>}{$clW@<^Al&f&)DgTG|mwxp*0&E7ZnnQB@VgFi0d443!K~{IHl(Zz%w#X|lPwi9G(^acY)pST0&-eAhTZPY~^) z#^V={xf;C6*47qJHlCo(Y6L`p;^r@z+L*#H4E%mSG9HhUNF?~Gb&8XzlYD%(i9^mq z?Dg;EV%c?s5ESh$qS{x@XXnom`MwXsYapd$X>|$F+uLh991f(E06UvZCJ{p5^ZA&0 zG{e#0QB2chBsM}_ejP5C3n2uuqU$^WH>?`~7>0qa>rCfNbNZVuO52*LD5_xM)dZgQ zCWKcIkH@+8{xzIVC!+dhwOzMVhi%)`c6`l+?k_m}#$o)OZT$INBS-v45JF&@CehU> zrF%-zI$9X&IZeJlA6dU#kD@3{dM25`pggA>Aq4ThABpG3xt(*HQ|H?8ceWAC3nHZ? z^}`kVF8oe`UVx*aq2W?0m0~_I&j)j_y=~h@RaFX;g)F|ch+}e_nZE{DkP8$T1>95b zvHADEcsw3tHk-xea?#y2#&~)h%d)8J>|pfGQM8U0a_4gqLXh4_<6d%e_vu~C4U_20 zC=>5aAd|@?>2#X;{>z+joj_3(hWo?htmiQBMrfKN9&i`J%VwkKz&YS=M002ovPDHLkV1h+5(sKX+ literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.201.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/0.201.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1cb87f030a3838dfe1285715308909cd89d80b GIT binary patch literal 892 zcmV-?1B3jDP)@!03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00Q7iL_t(I%RQ4%Xk1kk z#(($U%$vMq0*)1=E_9(_1eIEvMRidS|It=Ky6i$BX_zFFfv8(?<3gfXo0(~dp__mk z?ZSVw8y7{YVnMUejp#xU1fj{y>zkMN?z{K82=mV7a2Dr$=li~M#OCH^&{~tGDb6`& zXJ?U85<Qy&M_Pgk+oV4fU+#nS`$Jb&vS0wK904P(P)I$8fz_C zmNB>ZCZAnDMOl_Kn@wbrB&2D|{qJ=7^5z*{ytF``=bSq6Cyy_@fe-?K5CX5Rt@6`{ zm$`8MHd0EIQizR>ji8i5N(oTq@pz07f;f)JvWz&6an3OsjcB!6)a!MG5XkxUH2}Q# z6_uhWh@yxKZ?E%Ydy%{M*2(jn#_|Hj7?LExdrz%aLktFkV67#D!1>M!+wVz^&3;U? z+veUUR{;=0;G9DUfe?b}&JyXBEvBZXkU|Kw)<`M&j*`~QM+hNEE)P&jp_Jm>>N3r4 zyP}x&wmG-D%y2kF?C$P{gM$Npyz>b2&-{h=9`8NI7(V~%G_RlizOt?;3IL)gBF}T8 zC_-9msn_dVy7mHPS>nCtwQdI?1Q&12RjXTTDT;zT&-vl!hfzu$3EAuQ!bHFjLS@^e z{`c-GFTY#z%as8|Q82&0#;x~1U}k29dcBT};5gc303^SB^B67mgh2_xoX@ zZjvPI{Wizx`M&|k^PD@sKFU*1{9d67A^7LNHV-{8;PCJeX^g=+N0wz6V>ol|`AP#R zB`2T$gZtjpDfFc?qG6-QcASeJci_@rNwH1F^0qbrzoYk{>^iI+rLUt z6c}T$)*^Oxc7k(`@pw$5(ZG98S(emlHI!0hS%%iS`i1@deZ2QfPft@61^)v_H&!L9 S8Fab;0000|W zK~y-)O_RxTBOwq(A5d&++5UNdrEgZN)oQky!vxH5B8Z}>%$Jz&?{5_mj^m*B&ezu$ z)>>2*?>((Gj^n_4kBBf=@15V@Uu*~gfYur!f~s;|7XYhh@f^&}d`%UkiF$T})lavwws*0-edcDXwqpCRPu&Ro+c8%wpBZR^LXVvKzm zL~9LW%rYvagsM_&U35fbHJfRb$KwG&N{M~n$vH2q#u#FZ9LGV75$`j$ZpcjGbav`@&aJcm!=g literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_hot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/1.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_hot.png rename to kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/1.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/clean_iron_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron/clean_iron_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6609de68d025f6a7a22e5f6e75e5f50a92de7d GIT binary patch literal 601 zcmV-f0;c_mP)|W zK~y-)O_RxTBOwq(A5d&++5UNdrEgZN)oQky!vxH5B8Z}>%$Jz&?{5_mj^m*B&ezu$ z)>>2*?>((Gj^n_4kBBf=@15V@Uu*~gfYur!f~s;|7XYhh@f^&}d`%UkiF$T})lavwws*0-edcDXwqpCRPu&Ro+c8%wpBZR^LXVvKzm zL~9LW%rYvagsM_&U35fbHJfRb$KwG&N{M~n$vH2q#u#FZ9LGV75$`j$ZpcjGbav`@&aJcm!=g literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond1.png deleted file mode 100644 index 18252274e48e9392feff2b6b581d3cd75c44b951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmV;`0xJE9P)k8g+AXQ?%BI2ta*@VL&NG+qR73NZYog zl<2ySi;D}q_b8>1^?D6J&bd+vA+TDl@ZK{`6W)8~c_zk)wU*=YNX{AO9HNxsgy6gF z>xyEty#%Pblu}Si;hf{yFK>8!e5CJt)PBD&IcHKzjN^#b8m)C52KeUsNB(+$OV0U; zw^GCy$vGpN&4!#aAq1MHsTYkgq?9P7@b~TxrBro5DMcxTrfHBEBi?(y{CUf=ES%6N zrPypQYae4Igupz{gb>hL1H7~ATVT{3A%U8eu zS{+)J1!>!swr!s*5h3SH&Y5ptUsY#5-X2IPky7I0?cwRN2yNRU#u!$s70va_8X6Jd z-@_l2Qiw6u_!?uX7N@kDuIrwL4u3KX15MMQwXU{#@9Fy*L90GxAp@43IfN36Bg z!c%`L5g~-YXYaO^-q%-`IOiD0k@b3woKh$v7-RTidsUZ+2-aGryAM_1fA02#5U|z~ zV?;!RrfKT;{j~o;DFqQ>wOZBXZQIf`4f8ycQo=b$DTV(59T8J$qoPj0`^Hn zK~y-)J(J&yRaG3tKl{7)xo7SVX3)ugphO4}O+hx918ISfm$Ec^=+TFH5Np(%WX)UD zA21J5*V_mUKGs7jlns-hkdZQ_&?MS}^vVF2)#cug;Jp3C=k_KedfK&lw#ZMS8s+d+O)8Z}tdZeY=z4a7db_Y@7U@ z$M;X8lmcMG*hjqf_F)Et0dMTRh=`!IM$OI51+6tA0#M*!FhD8A;<;VCy6YU(Y8B@k z-ENoh@p0lfMk$3O2Ac}|vPT>bS);y7kc{XGAz9VJauthJo|?qzzt9^QLO zr4pi)LTk+f>po_0;}ENzBZvq)PrL|#F@^`%e?kZWr4+C4zQDSphgn-&qu=kN=I7^w z_a5gQNs^$oMr&P=0bV)y7Vl3lv31LhyS|meT8sA{snu$D?^(XGnR2;YBw>u<%dfW+ zLf}lZ#ndx5an6xt8A>Ta2$aiZ#9B)n#~e6OC(m~tyVdCW(OjI_a5&(`#-pg4~;ijId&Z99L_mbjvX(^-(T8<7-JY28DZbj zL{SHGvoFh$B0932h3in98UXPV)6KtRQ1AsJ5x%~5^JoUu& zLRBfn?bR7J-Tx`W;Sh)&k@_IA&_$;J&Wk|d#0sUQG< z{d))z!5G72V+Q9OKP*3th!8~)!`5eLtvU70^DMUJ$+Cf8XVtlam<|9WN-|hknyAq1i*!dgp~WkgYg)|%aM&e835k#QU|_3b6BwP>vgAy5U2w{eGXz2d8=X%n81_{U+Pn+Z08?ffxT|-;duT zga9Cfz`Mui$n%`T6Dvq5QA#002uLZ}x_X1}?jAxZMI6T%V_3cTF-ejzbM71?BO`p% zxX!|A3#~QPYLzri5zS^Z6h#4mloIbf-uq!*Yb}5GPx0sjR|p|stwjhytyUvVQ=|}L z$BL9p%+K;y_XJW(s`JwTXsvmyc8w4MLI~nG=D~$Iwzjs&vTR2{YmJnW<%^g2@cuIh zA?RPZj#7%G)8U=D8I)2(m!{GFk3zLt#e2`szdT8rrd)kvmJkA3Yd-t>Rm!7Bxmj-_ zgupq+?D_KuAxM{(cOsN!Ns=T?EgiyIi}xPq96|^tZ|xoKWmz&94EX5eNmlPXL2={= zNs=J*Jm;sHA#}-y(hcYVtw;C`)8)mS`$SPuYd49&pmw)Aq3W1WTjGJ z>B0p*zxmq#D7-y;4DUUUKU8O}(ZV^$!fK1PMr-G?lvFAe^lpKZxAwB#Tmc~Ibhw=) zgb*mpk~oe5xO{M$k$<}wqVM&3Y;JB+wwB2AoIAfhMVOo%V!Qj>vlwG`h$IOBU2}#s zO<7-GM@CVEa}Hw+r+@l{mtXi}_%KpRUV8p_YNzLi@!mQ%&7Mb^7-JY69YwU;?U3g= z07@zL&rGq_XrYuE64({%eEAB8Csr5?1}LQvLLe3w7lU(-JkLqf6z@IOTH-iHDTOfx rtu>WO1?LT zWf|Uk=H}**QW8QSiXxnIWLZWOMQE*=KJPszCnrc_42wT);haNjO$dRqEV=pPCgotj zXf#4=&15p6C<;Emf1j$VaLzG1JBu8T$2`5V#2a6(p_Jn6?2NK3dHKOA@BQ`*LI?mt z2z+{Lm94vXky0Y1L@9*~At0sX^u;dSjSZAi7-J}kg2T`q+fSar)eEHmzDa%k zI%02cFF5CTci}Vsc-CtiTWd*{7Z^X^L2FG_Rg`5(2;scDl(gGzWS-|N+`Gr0y*~>DM$U3IF6B0(rUGkT5D!I9qh`@=4j%B1KxS-Z9)i4CXvG({eMNu#_GlLim1|iRL0F+W(URmU*pQ4n)d*9TWE;NKd zRaGdZrradf+Gf6g?S9L2A4!r>*L4HTT1#1$c<(XB5JKQT4n0#iuoW}n00000NkvXX Hu0mjfaRYi% diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2.png deleted file mode 100644 index e36fed9fd113cfb7c7733dcffd982c5cfa9e62aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 786 zcmV+t1MU2YP)zkPo0k1yB~ra(LZ5)>dI6e?;EN`Qt30BIaEV~-6XNOU}aDFWk( zt)%oLph#&_MFIIdqp4DoFN|FSCVHhyR5M!k4Isp2sGk3RGqH$Zj6o^IGX_EkhzR9_hiI+QT65=c#`f`ajM$t$;?CiW)oO)YTwKKK z>ub8MBS{iM2!s%@*5bV%nE*KF0LZe8uItFM4Au8NX_|8DyE(&fGr z5fS>n$2mvWbvWnHT9c+Js;+C=w&lg*46QZB7=BwU2_aDZdXCnb_hxr7#$c`GqaW{& z4GqJ9DvE-lC~hiIYK(CEU^+JQ^7I_Gj>o}S-0D@9QhC}Rv+mXXgUvgE3~jg{!M8LI~t}j&qLx0XjWL_pvZk QlmGw#07*qoM6N<$f~KHcsQ>@~ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_diamond2_redstone1.png deleted file mode 100644 index 0ff2362a7f962cd9b1f64b30eb4f5c6dd6b50a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 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 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_diamond1_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_diamond1_redstone1.png deleted file mode 100644 index e722cb365d38b9ef17e23986c76a5bc35cacaafd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmV<510ei~P)(+JF-Rsnc>#c*gk7IGIcar_+guMx%UR(a4pi zan8oi5>$eeYvmkv9_FK`6DW#8@!Q4JRhbCkQwc@%rZ>-S&dSandN*YM={6E1CDLJWL3fW=~=PSjD~*22v0 z3_=LbHw6hrLX;JjVVWitdId-3k5KEVpOm0nnh6* zqCegx`au+1e?RA1o3U6dc=A06A&B4U0iYmNfUw)`NGXX#A{d6j?Wz_`(?nHOYIkbs zzh+~wGr(MOjuCT&mK!&iR3?ghX7s{)Y!Rz6Or6Q!@O&lExs|Kf8JfnGA147UD$XlNiFk7Jr9nx>IXr;$>k z>pHPm3{_Rh%gcN7V0L4cWI>YTT$1Xe)mSVR0H#-`373W0-rS}k+kg-PMNvqlQcUDd zP!+2}SglsP2fd`GQv|~cj4h4Ooe2N{16xT% zK~y-)J(68Wm3IJ#pa1{7@A-T^Yab2f49#|0ipO!%5(-Ns*%;;AMIto37}NY%Cde*U zHwnWlcOkg5qzSv&O^mTzYB@`7P4rMRwG)9s>A(}T)bx11-t&I!BJk>W_rSyR6KA^5 z*y)Ni&Jib}Jt0=q6;=W()W&L2RTaZ9NF)*rl?+k*u$WSBDFCKvvbnj5JpSHsYL;tQ zE?Q=M*Em5>5bdGH;}?&)8obKZ))r4To}kTY1Vn)1<}aDrn8Gj&{C+<&9*>hqB>1Xz zij%36e0;WvL(W6&_3!0k*>!{v6zwje+E>kI=g$%Oz7NA|Af;q!bqUei+iN=<4y2R- zJDW@<5klbe`Ivb$!_nYTOw(i}HbPx~9WIv(Aq29b>pTEAtQ!CrhJmi@Oy^8<`kO9F z+nT8;s$k;P1fKRLgjW!c$GP_YHJnZ-qWWgFUAI(+ZQIm#e9eXKFF5?hVf>wK{P|rY zNBl<+LSULE(bXuWdrHwdS{Uj%O};-LS-)J5q9{yyCYivXJf|EX1o6HfiRZ_;opYO0 z=i2diwh_z=BBdnt!xj22{7!*hfTN+I;ZiDj?2Xn8zZQDjwRSJ`ZEWWjfV{)6B zzXn*43ltay+*9wd`S-tgJRW2=o5kgF(cLx1czPVmvZ(9qVD!yVw2l^X=W`K4klsk+ zUUGBy>0QhXljzGR6YowSlgT9Mbej48%bakXKv5Ki`@`g{=P>X`B^!G;_^ACXVwb?3 zbJaw9 z_6mT!ck*5zNl_HsZa1H|{)P|&fR>)085_8QZQGRiO8~goa-FKes+}U9_9g&CI2^X` zzqn7PAVcP#3{@Xi;cz$rh&+oBD~qxIa-BxA5h*1?2y|WNj_(e~wvQoIRVDOx2tA@> zTlNn5LE-@i^A3{9WN2-hMoNigS$x{og45}wGG2+->qP?0#%5WoSR;3LF8h&u($Y-G z7eY$OzNh<0hkxRhbqhsN7!6-W*L4=Q7szI_h{3@@d+zxh0WCl@8>LJu!!Qh%wwAEG w76+6AD2js5=fgBj#%9JS-(QZVY3RDn|6aagn5;m~oB#j-07*qoM6N<$g7e$M#{d8T diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_emerald1_redstone2.png deleted file mode 100644 index 6106a50162c872cdc7051e3c28e4abd4e8a83e2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 969 zcmV;)12+7LP)$rV2OgeBx!iGC zW-2on_YFdChFI2@Sq?1IywZ%W>*Vu!wzjqye1DK5^G7)5J_bOcP+((Y15vlHj)BNC zmfl+;>W>n11@X>%`E>YO>_~)EDn)!fj(5UKKnd{K&6|v_kCM;lDJm*L>FVl|0G_*d zvBP2RS@$@bK8vpFq|<3E%fc`Wa=9E*N*u>w(wL-9)Dd5aBczlFA+WZl_t>yz|_VRLI?(bUm%u>QT}c@ zpO5}PwN=gG*~2vY8qqWjXUZYA7DKcwwV-Jl*E>70ZJWONCn$=-_cd*79^Az2?}xD@ zs;Uw^5JU)prfC2i${s@Vdc7o*N$S4}a=~=bvs#Rl5?$A6TyLcRi(knlzGf!#gjd=t zhQ67BT0h!qG0w*>v|KKSX_}lXoFkfva`Mt8Vv8}hDz~_QW16X}4Ji8+GV2+vb&Crv zA7bsZaF@DCz3~TPdwZL!?d=F5IBlLr(==)WwfJ89sJ#6)y|;fu>+3`DD_A~@6M+*1 zl^`M~IP>2bgvaBdClFv*9YzR&<2X#LOi)#*qII#APue~r-`Yyjm*l4xGrMVzA3To7 z<3Z`|?Uh0Z5{bm_x@Lbr*Wz)$Yi~zNxjT~MI9QfNI-N$-G)hWJ5UEs(hkrk0+CR<6 zUn8ihio9|KYW>Wu&hcRX1MVnyP*oMvGyyOSgK^(Di9`aS>pG#mA+nQMep#7gMFv8y+v3~}SuEowGvaJ$_okw`?2{xiyI=_*H;juO}tKnQ`VsuT(Z zo~}KmyttfbAxeYRfRvJKHp^^kmWn+U2q6T1kDumbGdrFgbX`YE$@ACGS;#FA+8aU$ r!A1W?TrL;mbK?{W1*%J`ky7$MtC?YFS>fpa00000NkvXXu0mjfSQopY diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/clean_iron_ingot_lapis1.png deleted file mode 100644 index 762a62e7b11651511e852f9ded30f5d96b5b0abe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 733 zcmV<30wVp1P)093=)QD9)JWk z;1Uor!6LK*R>bfE!)P^qsf){Ho1oREBA0Cc{%^-zTwD}YrSE%EN}QjcBO;ViaL%zT z3w__?oI_PPeJLfj+b!a~2VhwiRFzT+Aq1`-y+n+W-EN1f5@Tc>M^Z|B^YAXqvT$~G zhV1uy`o2e1`TpnknWl*l0(al~hnt%lj4=R|Qph-8FdoO6{j&ofQa)XPr~4+tR;W5hYf ze!nN@jQ1Wf#vG}L0Pyejb3~;6t18bw`xT`Wj4^ocd3t!j;c%eu`y+s=A|iwkxbw`H z7-L8&VXehlON*YetZ`ZA?I9Kb9s4LrfFhX7K|}9Yk(LdIp;b=Ip^xfG)+edr;SscPZUp5oO7JY z_VB0oP*vu6#yLlf5fKsEwyopqoZ~bfP198HuIu>plP81_NGajHrU*?Io6%HVGk+Wf=zt2NXqtwHD_bDJ5czlx0au z2@yf3l+aouBAh+5g)s(eEltxPB7FSCi?nS!fcm~iL>P@mlx2yostSNxd~o#{Qc75BIsMe1gb?Wa9;Fm1r9%&#bL4r>(@*}6_ns@CJwM1jduD5> zw|9=y_dQ+Las9?a7-Puu96g)OXxkR8HO3fTd*y5LJm==^b10?wd-qLJN}M|R2U(U; zRTYmt@*_$qy!Yt3uBq#q4?lSptu--5VvO8#=exuhx$ns8;7JGp5jpIvHD6tS04*XE zMZxmYCQ7NnsEfs_)?xnX?wnzsg6*L8(>(_oC@*wIS^s4PoPKJgoBeSJN(ZHxDQ$k|#8fOC!*-T4e-}L zZw%u+m-x;0gJ`YEvJ9mZ#uzSt`Wzxc-}hu$hI0Fo2qxnhIN6=Pn#&a%=(bJ=R)Utrn$Hi71N5^PH8d zd)W8P?<7e=2muj6hY-+OBO)9dU&I(g6h)l-@&!bM&%b_&Uav=~RN}dVf0JbyBEqGg z9w$i>bh%sx;7;vr0GxAVS;o%ow~6DJ*IxdHd#%%?X-b~wTv!-mV`GD(NA3_s5n3t5 z%GEtQa{mVatT*04Yt86^YXFD{k3R4rAq13C92;NcUh6ciR*QDKjhdO62}M!hy{Fsl zVvNBU(;o&%)0E4e`1V5DMg;=6h(oqR;v_6!Sc#(k|aSy`U0JuJ4^_HD2f<8 za1HN0S(b78-!};%Y-*6_IdL2_GQ5g&j`QArMO!^MF@dI`~SjPOSxQT?~_+hO5vPCS1J`Ml?tDJ z@jO~3Ld`ieTt%B>Eb5Xd(V~M_97yi%v$r^#hqvop;Rg{IktdO3IMG&pMCWr zAp|B~`L-Y5U5|}(cJ46Vd(t%B#5S8v>h(Hz>!;{+I{bL~2}Fc9CNH6s;^$wU>btY! zp^rE|u|%W$9!Zk0|Jgs#)>^#x+`K-IwU&|L)jp%vnt#@IP;0;2f6qC`(6%#lyIsoV zG8$m*zqc3}UPVOuF8r{(3#~QBCzcr6b_QciKi*lEVXY<4bJXnYZ1CRG>2yevq|XvX y5jWOOu>HYlM1)GEg7=r)nT1Wo-Ze0000H@4-+NfC*sKooRHL<$0@`%LTin4jz8YK>7YOV`GVG( z^?FSR0kPR^+9Fv>Nv)MyYxkRT##&1$h1ME5XM_-(oSYCsKno#IO3_+(f|Rnu7F(?~ zgb-M3X|1u}@2RySg%I~%q-36FPJe6=LQqOUDTTYbBBg{8L`|F^JSuc@^XVpDc z3j=znN~x~k^v8zJ4_@o%Twh-!jWLu`n5K!p{{7l5ES1F=`Q`if zzKdm8(=@SKtq|Mowk`gZQupKd8R*i$0$TTDP=znV+_U^mizGDci_Rn0U-qD ed8U-o7x^Dx0#&le+M%=n0000*e zWLZX|VY#UggUx+bGMD_m3Up`cF?#96U&pB*<>J%Uj2f zBc&vYBHnoYDoK*Cx;DYNQ>U1ko+gCAt{4A6YfZgg=c(!8dEUPRfWQBpL`uor z*i>cl+VbN_DbZTv4j(3pA})UU3Q8%;vP5f*F$S@)un?Scbh};BG_AVCaZD6N)lUo! m4dI-l)oS6rC(AO*vgAM62WE2|428S^00007JfQMvzDFO9bLoUcm^Ay~`i5kd2*{|FA(ahM<5GAtKL0 z8`(w+VD_&nZv_F6%m%pB{^p{H#f1?qN;fB zNhz^hF7e(YBCKD|nTv}HYzTp$J|2)#LPStiVvPLo;Wy%R%6vXYL|Cm>bX~`fj~>zY zJt-wNHa0K^2L}q!yn9F7-bPi)Ipe)&u~<-56(Iyxs}-tBDTTVOQB_0)tEyOQiQC)k z?(N~6BZNTLb%+R~(TLm6o()0wKOf^>zh*L-P}eo)=;%mei~v|`DWyv-?UIe&3k z-}l^m@dB=0;rPF=DK~FoPEJlVr9|7dlu`!AbzSqz)2Fn@FqMgW8msOy^Z^K~!8>2#`X+XCR6qm(iL%{dRX)(cft`o70Gx8`Pt yad_|X-m~6ERaHY^(=^m|O^lJ8Ga&?2mHz=#z*BRXD(OrB0000qkVMwFTH&Rp)?|HDPi1<&fNzH`3scaCVc+d*s1 zcs#~A$K2c;Qc6My7-O*3G9HgH#-O$4pqz6IheKo(MV$X>18Xf>YeEQ=Wy$XS7bv@3 zMxzm0YpSZEC<;EhdX=xgdkt$Xv$L~^jg5@}knQa7&CDk6y!kWEIgBync}|ifL{UUl zRfG`m-jk*&Aq2G6$PfZjO3IZL?(LmHDMb`T6h(p7nmCTRaQ%8MwDzEbx_z5wvq_q! zh^?)yP?jYCQcAq{c<*b!)>{7h=L(1CZxKSkT8j{Zg@pyuG(`#_P)Z@C1mMr%$4Du; zxZ4ImYfbCX5kd$EA&8=gzw}J{e#YvLp8#0e>lOr?+4m|_z&HsRtrwg(|K|Tf9@Qz zsw(0*=Gf84SZgVkmvPP^gy7!ZnYyp4is^L9XO}OtI&+h9WraA7k(0@U57*a`QlgZq zllR{9`L%2G2ba)y?x3~C7(=7c;N_)<2qCc6BC{-`v$Vv{k0<{}!8wQbp68xvW6z$& zImg`fk}#P}`1Q9J39GAcdLAJJd%wR#Q4~*!#4!NF;#1NzrQh!(jWIaqD2jqle)*DP zM;`<5#T!?UQu696`^?nu~ zK~y-)Rg%wYRA(H9pYQLSGc!#jP=Xhb%V^p{FCi+3?%K}67)2|>Ac`185kb>w=u|=~ zBx+XTvUDS%U{}3?xq!mB$Ye5ePQEkWpDu!3(3&@j`6F3~P`2IagDNavManAAc*H`Hb1_&VlNGVaQt?}&kZKRY) zDN#xxQ%XGVcIlk`#Kz_(N-3AGN%GTXO9+9K65e}+5G*Y%k>@#52r);IvK~lE$;M$10IfCaAGSy- zA%vJyJbA)oGGRKM&I9b*w`^=~;+*69U)u;Fc=6R0lu|Sf4&ZQvQmPLB<=(y8g4o;J zOQX>U=N#5r%$qlq=gwh_A%yT5Syffsc>EYv&(Qz(OX8(Vh~3@YvG45#PM zlVurYSyI8$mL<(*6A9264Ca2ny@n8?4!Qc^0mc|QXFt^gYpr?S?P82!Hk%=Kc6L$-fubnL z^PCuC{k}>m%CbajO{>)+guv0!5iv&E?KV|a@gJ0RU^&C^Pe1?w002ovPDHLkV1iS? Be9Hg; diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.0001.png b/kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.0001.png new file mode 100644 index 0000000000000000000000000000000000000000..1dde24b1f4eb3594fe9a1cacf412f0cda4fe5596 GIT binary patch literal 764 zcmVWFU8GbZ8()Nlj2>E@cM*00Ll1L_t(I%PrE&Zk$CB z1>o=R|32dx-x89@K#)j;Sa91QOGrqtV1Zb9$%+TzEqD#&1up;+8^=h96$l9dLIiLe zPhxw) zbUj(lcE$XL&x%9O7R;{5vWz-svd_cxP*G5)>}`_=49qvA3EdE>t((|1BxJvy#e$IV z@D9^~`*&zth5-rJhbzN(l_a6**)$X>WkGoNfHz;^?k-m?=kKqGb&4z^$iJ@)18v8q zW&Fv?x@EN{3n5N#5~`HR50yM+tBTvmQm&TdS^SqYwBJ^$BBBYe-eXd8@%pi8MblE1 z+${NeexmP466%sXB}=Gswny^09Fl zMb1LP)`+2F$k}u>9ePGJXYZ`+oJIl11w-JY&5`LoFYOSzjuhXlPHa_-vItpVzGQk@ zSvL`pgmJ~?6@NVD>?z5YAD6@39YToK-1Je0EQyWsJmzk07bN-vf zwXHY&xO1#7n2sa0N0VclO{BGKczVsv2P^GBU6Fk8UOAM3`}de#^5B46oYb`}JLW6q z>u9c~dttCZk`iv+qT1r;$1(ZuleogZXSU+`BJxiLPRkP^eNh-0000WFU8GbZ8()Nlj2>E@cM*00LG?L_t(I%PrGAi)2L< z#_?a(ed{}I_srNkyR!~9BEAHI3Y}?euBo3v1Z9E^3=|W=XhUPaieMlU37QzlAcEVB zyg@#=&pW6FZhejZ!xxLxr@IW=D-mF=GJ z$=g+5XT-ppPZ$r_2HKXsPdwU|U6)ie9lM4yV^ER5f01P0Em^b)Oq~%>dnF9*TbnIx8!b}f^C-w-`yubm%oga6{jQ0m~4FW-a=Kdd3>da z#2EPMYODxU1u-U2&7S8UE`0ve*mjd14@*WzoS$+r;hibr`NvfsVj>&@n=PwddXOEs zG)>x{4X1v{uB}$-XNsJBzTo^Mf$TbB#^d{$;$|q4(R4woh{sLORd$p0ZAKUpqSt&~akY|AU_8 kIt|XYC3frs@z9C?1F(+rl`AHW^8f$<07*qoM6N<$f`)Kcwg3PC literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.01.png b/kfc/src/main/resources/assets/forgecraft/textures/items/copper/0.01.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd1b03ff76ade3707ed2dcf869a5cf4485f646f GIT binary patch literal 769 zcmV+c1OEJpP)WFU8GbZ8()Nlj2>E@cM*00L!6L_t(I%PrHtizG!H z1@KQ-_jGUf?#}+=xH}eC12+(15&r-UJjF;>Q4v8y@eeRC_b>1t5Dd&t5%J(a3=ED7 zOf(b?1O>TW&U1TbdS<$Nx(#ZAqN=F+zIyL{UnTFK6=N9LE7_hP0E?a?EiF6L}y>{lD~Nd#K8y!BnWY5JIHZt+{@4s_S|2>zQ$6JLi=jW^NsDe8lr7B%hxbV-ljnNfM1| zT0Xen`0DjameO@(8(*rDrioG}8R4>y>81=}Tu`w^h;xt`OkxR~+# zCE1^s7&v}sYSohEag=#WFU8GbZ8()Nlj2>E@cM*00S>cL_t(I%O%oJOj~sT z!13?z*Z2A!{X?0CNNX87QGb0Uu#sD{vnwhNyO8>n6dCvpq&-EjEKkKy$tp)7A*xB*d5ZUfN z9yUB=_vd41HrVcl?bUF;KS&@E;OPCY$(Nucz%)Ue-KSXqGyN^N6c_d9#>t#GhPUEn z_Q))uk8Y3*_OYxk({}q;?jJfsR?QNM50NW__#miR4h_ z?KDqZr(%K>An!eb#6NH?5+0uBuTl#5>>cY48H1sfY1RO?VG zgRVg?58>~wk#S}a0+x@QWb$YjMZoG?-L&4iifRM7o`v;1M8+qWY>!|9H@z`#_I6-N z@ZI&X%?*Wg0exO)`o$=fbcMxzy)3=|22u)eIY1Q<{QW9YLet!3+$lHT_wOaWJB?8Q zQ6tdZI-!+OI%j@FmLy$QhLM#D*nsPiPFy-T6qw)NOCm#o7m!J2!GY&MHi zhxH9;Onl3u#~?m#*Q~l4kaDYL(S+%y(*&jl5CT+n%W^reOb`-`BCO@NQi;=hG|PUx z7o*<5xML7n9Yz3Ec9__Cisb$zsmCe0h7**^kSoH50so$j;vXDEDhjB>gA^x=Sf<5z z?dv%05P$g{UU_gH!!YO?Nw8UlY#F9ccA}|JKQM|ZLDts7=4;(NX?=q4X&+4sSIFhz z;Gf@+Du92EX>4Tx07!|QmUmQB*%pV-y*Is3k`RiN&}(Q?0!R(L zNRcioF$oY#z>okUHbhi#L{X8Z2r?+(fTKf^u_B6v0a3B*1Q|rsac~qHmPur-8Q;8l z@6DUvANPK1pS{oBXYYO1x&V;;g9XA&SP6g(p;#2*=f#MPi)Ua50Sxc}18e}`aI>>Q z7WhU2nF4&+jBJ?`_!qsp4j}paD$_rV!2tiCl(|_VF#u4QjOX(B*<2YH$v8b%oF%tU z$(Xh@P0lb%&LUZYGFFpw@+@0?_L*f5IrB1vJQ>S#&f;b8cV}o=_hCs$|GJ-ARc>v%@$zSl&FIdda6Uz_9 z&dgda5+tXH875p)hK-XGi{a1DP3Mcn%rFi&jU(bQ*qIqw9N}^RX3zXt6nSkKvLZX! zI5{{lZ7prSDAa#l{F{>Zc9vd*f9@GXANa%eSALld0I;TIwb}ZIZD|z%UF!i*yZwjF zU@riQvc7c=eQ_STd|pz-;w)z?tK8gNO97v2DKF^n`kxMeLtlK)Qoh~qM8wF>;&Ay4=AVc79|!(*9u^V&B)*6*lto0#rc5AAmbF{R6Nm+wLWV&2 zpPKj&!~Ue%xt59A_z}>SSOTRX8bE#?04OREAPIY9E70$K3&uwS`OS;bnV6mX&w~Da zSGY|6$QC4jj$=neGPn{^&g`1}S^_j607XCp>OdRl0~5dmw!jg%01w~;0zoK<1aV+7 z;DQv80Yo4d6o9p$7?gsoU?->sb)XS6gEnv&bb({wG&lz?fy-b7+yPQB4xWH1@CwX8 z5QK%u5EW8~bRa{>9I}O2kQ?L!1w#=~9FzzpLqbRb6+r8tQm7oNhU%ea=v(M0bQ-z< z4MVq}QD_qS6?z9FFbSr?TCfpp1+!pJI0%k}7s1K!GB_VDg15kxa07f0?u1Xnm*5dt z3O|9T5r7a8I--j(5f;KmLXmhR2@xTykP@TC$XgT!MMW`COq2`C z9~Fh-qL!gnp*EwcQ3p_+s6NzH)F^5S^$|@*Yog83&gcMiEIJvTi!Mf2pqtPg=(Fe% z^f>wz27{qvj4_TFe@q-E6|(}f8M7PHjyZ)H#*AU6u~@7+)*S1K4aIV>Vr((C3VRTH z5_<(Zj(vk8;&gDfIA2^mPKYbSRp451CvaDA6Sx_?65bH+j1R^0@XPUK_(psWeh5E~ zpCKp{j0vuUNJ1)MEuoUoMmS5jOL##f67`5q#Bid3xQ19sJVZQC93{RbQAlPaHYtH5 zA#EY;C!HeQBE2A!$wp)kay(f~-a>9BpCR8TzfqtnSSkc4@Dx@n)F^Z+Tv2$Yh*vaJ z^i*7|n6Fr&ctmkX@u?DC$w-N<#8FzMRHJlM>4ws@GF90|IaE1Ad9!kh@&)Bb6fDJv z;zQw4iYWUiXDDM-gsM+vQ@PZ2)JE!A>NpKUGo}U5QfZ~MZ)k(GDHV!}ol3Myo=T0% zaTO^Yp&QWy=;`z_`eFKY`a4xERZmsE>L%4T)hnv6)#j*qsPWZG)Y{cX)ZVEx)P2;` z)VHa3so&E;X_#q*YvgL|(KxH|bPjEf%N*{Uk~xRx+}4CO%`_u4S7`3j9MGKB($@0R z%F?RRI-~Veo38DlovOV<`-JwS4pqlZN1(Gq=cLYKh6=-zkLZ@rEqJ6vJJH{f4iNjE!Q9 zHW+moJu+4^4lvF)ZZ*DZLN;+XS!U8;a?KQD$}&we-EDf=3^ubjOEIf48#0H@9n1yh zyUm9!&=yV>LW>5A8%z?@lbOS8WsX|XErTr!ExRnASs7TxTWz!IxB6&pZ=G)4Xnn_q zViRanXwzf!tF4(W*S5y?+FbHn-?^*jcF%ooXKu&0+hcdro@yUrzrnuO{)2;~gUF%H zVbamSG10Ns@dk^=3S(_%op(Yzc{#0iI_C7&*}+-teAxLH7p6;^ON+~+dB*ej^BU)k zx$3!cTZVb0Xx4mvscU^amdxQG}4}A}wN0Y~dr>SSE=RwbBUe;bBuMV%*Y-jdL z_9<_~+t0hid(emC6XjFwbKh6bH`%w{0a^jvfaZXyK*zw9 zfqg-wpantIK@Wn>fV8I z2F~=-fTgudr?_nHF76Ya2X6;&lJCkd=T9WLCY2{WN_I`&o;;c2o>GzWRKONg3!bO? zr`DyuP76)jpY|y|CcQlamywupR7eq~3Hvg&GxIWsv&^%Kv!u(Mm+f3OB?=NXWkcDE zvb)7J+0WE~#6+@QGMeL-QhTd=lZ zbfxFY`c=@XrK@^Z>#r_aJ-)_o&4IOqwP|aAD6}ptFMPQ!W?fH_R?(WGvGsoITZV0)e z^+=6ZO?$0o?WWq-yLr2>?D5#sR;N{0TK8_RVDHU(zxvJwqlSuon0-0>9yUfd_J7U# zy17ZCskG_Ce&K%UfrtZr&5q5@Et)N5t#GTPb@E`s!OP!xf79K@Y^!glx0fCQha`s{ zf1CL2^}|7jdylY=w0&pzU2O-oqofn+T;4g=mC_~cj_V#i8hEs~$EBy^d&}?lAJaWn zb6n+k*$Kjlq7$D^=AWECm38Xr>EzR6y-RxUoQXYituMT9@NCf8^XGieo$2@NKY8Bu z{ILtp7mi+JUF^E#aH(^^exTzA`yV<69R@px9EZ9uJ6-M>o;Q5riu;w*SG}*EyB2Wm z(#ZUg;pqt>?FMZqM9Va~FNLGD$lbNT*KP&%S`^@Co zcfWZ2GB6c8HU3=m{L`|I+Sd?{wJo{Z|>UW?q-PQGavbE$eOnyO?(qGr8}v z?<+r;e(3oa^zrVej8C6_1NVgU`*8t=>i_@%AY({UO#lFTCIA3{ga82g0001h=l}q9 zFaQARU;qF*m;eA5aGbhPJOBUy32;bRa{vH9zW@M0zX4V?{mK9U00(qQO+^Rd2^GsCOB?)-0rz7+~3d-EQuu4iuDe_l(&^!0Mw|Bn#qxx z`SHkM2aq%8j2(K0!0U;J9qRf1NL?8N^UA)*JR8U9Oof=3BW6bL+1(NxT}SV@xxykrNZ<^E;OYJ9Cma{Yj`7g#(-B$h3!BqG|yT{1u8>N%G81gV@Ff2 zx9oe~U1O!-6fru_C33Db<+NaqlrV?$j2osSe_rs0Jso*}jS97*j^Hst1n<$2^O>A^ zn~5ub7tRUyur(9*1DA*y-m&fJJSmY2F%dJ5bP5za~P**x?kZh-1l| zGIM5a1P_j?xUZi~9Y3E5jvVod87~X-h1w{E22DUvMZm1l_3Q>d-Z2IaSE$f_Lt|c; gBQc|uB4`8n2fM%Dy=$e;(*OVf07*qoM6N<$f{s!aX#fBK literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_diamond.png b/kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_diamond.png deleted file mode 100644 index 408296b262eaa4679a734ffa5ab5363020e5c185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3479 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 FV1hdNpV$BZ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_emerald.png b/kfc/src/main/resources/assets/forgecraft/textures/items/finished_bronze_emerald.png deleted file mode 100644 index 76751525e430d0ba4fb06fe8f13ffa13866bc771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3500 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 QR{#J207*qoM6N<$f&^GLCIA2c literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0011.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0011.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7f4b38fc6f6be12da26cbd31100dedf3e56bd4 GIT binary patch literal 775 zcmV+i1Ni)jP)WFU8GbZ8()Nlj2>E@cM*00L`CL_t(I%UzN^i=IUk zhOasE@jSZ$MI~4)WI^HW0)a*0#g*Nxx`kko#zxYou}UER0ZF4a{sBP<=r7PjvjhSG zk%X+Ivj{{8LIOhelI0T;k)WPZ1H!j2I&^MpTs+zeYq*RowRW zwy7#9B{Y16l*@z=x}%g5Ip;3aT0=z0IisqGnUPWgVDH{8-g{IPfDi(u6n?&cA5}$F zx$(-Q9tXf}ZEaaf2@#>ziiiOGH{cxaZr)`7_fNWra}HJI;NSqMwUTqDl!A!x&U-gd zRm=?M9Nv5G-rk{2oWu$taN+rLLI{{yXY$*f zj~K^s$>v0PZT$+W%K2w&m>JVFv9N3WIF5b0s&eze1Ey)>)5T)xz|0U4o;?1BS}Q4~ zZh!CIF3vfIVIZYMjFH`Q=Q#7$Rel%-y!T6iy@wC`sdCPk8Ko3HID3{~_V-`PpL6EX zpV#_~0Bp`?gj3%F^!zbKN-1p4X4G2o-gEo(lcjADN-4`LZES4VIF5)2B0_78&s4eo zFSroGOJ_Z)duxru!$Tyc)Vr;!tiSyQ-#bUG6;)+z{R%+uKx>Wp)-6gYq?B;;`P^cR zc<;IO`d@tb&ly^4)LQ%2i)MV+8X*L{_Z@O;ZOK4YskQR{-)}Na6Vo*H&)$2khrsIU zYUiY?Ow)v_68@h}RT;+-Go#kp3sh^RO`qeO>kVzK@dE4jj9bSvTqpnl002ovPDHLk FV1g)!Wc~mE literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.002.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.002.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6436f38a23e4920ef0083cb343fb15846c1c4e GIT binary patch literal 729 zcmV;~0w(>5P)WFU8GbZ8()Nlj2>E@cM*00KQpL_t(I%T<#*Ym`A0 zhM&2e{nm)aLKIukF6om<5~7WE0YSuHW*rbgD=Rfo@zP6H1+fq>g(xY6jhmfsF2^G7 zm`pXrIcLuMzR#GAjSU4b#sFZg#W_a^0b>jY2L}v?Lt>27T2WPMt?h1WtvoyP9T8zL z7%&(N2qExDK5}Dk4{I%|N(g}v0^7U0SZlG?QcA(Budiz=007xCV+IUd8S->7Qy#CuQIb;KAkD=RDNoNFfC zPKo>fB&jOK7;3Fe%JcW{VRfFnKhCmc3}$(GSw#fr9MkEPxw$!FjCk+a8I8EMxQO>2 z098H4K}+GqhYu~P7$d4mN{Oor3+#+WY>vmr^dGIU0Cz84B81Rh5fMTNq?EXF`7-ys z$2rH#vp)`vvzC<7A-R3uvt>++P*u4(nXoe&HPf7P^nK6z-UV{bIOiH8Rz!|z0@yMJ zR_7_DH1}r=)LQBLo|FWFU8GbZ8()Nlj2>E@cM*00H_*L_t(I%Vm>2ZWKWf zg}>_R=~;9`Iu%^8hBaNnN zrmNE5E0hvHCtO-#27I%T5FhDkG+|ps)P^_5u9^~2q~qW zx7HYj0W)L0UZbi2q?B+|@c85#DJ52`6){EtUY{NlLLkOSDTNO|kMZ84s+bufg6!?> zHSawDs@frX@A2MKYwhn^Yyahb;_aNHlyWC7rF3m(vl+G4PO;X?a=FBnQiw5f|)UnBLHT`$FoyjJUYb8 zm@YG8xm+TzdN9dvw5p(FFd+hP)Y&d%b(wU*;Msbg9-lozrT2SZ{FuUEzV^3S}UcL wTit<8 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0101.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.0101.png new file mode 100644 index 0000000000000000000000000000000000000000..9a72c7409aec9031f23be0e257c82814b8e59097 GIT binary patch literal 766 zcmVWFU8GbZ8()Nlj2>E@cM*00Lr3L_t(I%Vm>2ZutF{Q+!-a|zAe*F?TXG$sLoJlDmB7_jIwN|XPY(2e)`~HP&DlAO zF^zKwffys7pZx*n9L_n+Xf&#W1IC!IF z7qHe6PCcN^Z?>U&^yU@cUYww+IOpiPj#?|V)<#EFu_+}0HfQG=dd`{e#_IsY7;(;# zQX=P!h~S*Vdw*qer4-JrYy&ibRh7|rkDN0x#^XU6#ECI- z@Zsl%YK-Cie|NdQH$y}K`0cMh`DbrT2;oFTYi(=)-rs+)vo>jdJLj698tzjUw-Aw& wxmjIZZ3Tu6TUuJ8*4j{qbss(rE~zU2128Ca!o!XZ4gdfE07*qoM6N<$f(R5(3jhEB literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.011.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.011.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc61746108982c0fb18aef4b47cba60f65cbbe5 GIT binary patch literal 755 zcmVWFU8GbZ8()Nlj2>E@cM*00LJ@L_t(I%T<%TYm`9{ z#(%T>?(U^gtP~Y{vAHgUsCS7H(aJ(BLeSEGK|yRR{0pqKQY`Gmk9g+eqK1@d4(*jx zN)(aflK0&&i*TE>n`LL7d7fuxWPW}=1BeI!N-4C~7-J9-_V)Ienwp}nYf?(&oJlE_ zSf!L$KemIl7Uvw!IgBwhO~bX_U6fMfoH52=j3LH|QVONiK@4#5=Lv2szoKaxMxzmR zT?24#>l4;m>bfR`z~gsssHzIBH7O-T1nG1-xvDAv)&>I>+HF!wR8>V)Rm2#1zrD>u zyG_oS)uZ2;`*o^FkWQzQt+gnn2qB=90wATtq&KZrix?v@Mnr@dBg5ek6+)n{YrOY7 zU0W&I7T1;$5wzCC81dfYy=Q-apPRkcj7Fmaqr2U1p47B{Y=`;Zr*X~!aQ*LJu54{` z=gQT>YRqsr93r!`vsr6h+@2ig_&o*(=zsY_=j>S)L*TgxD(8$+iiaDkgb=XSmcpfe z4-vsRhqV@C3=8cx#u#2Yht~Q4VB_mo?p>HeDMek^La_udx$4_21{ z%aNIxnXHt;T1yB45y4u^lhqI0y4WS9gw`7894kk@arw^~y!XTyNhzV4rU787-z&Or zj7Hq<%mHAnMQcsdG<0`Q5<)<0O;uHg492F3NHHzvTmVD_?|s>e$$tf4jKNyV=J6j` zYfIO0;Znax2myd+pFfsk(^?;TFsA=#bA!9*yJg;5YXHXU9%CegaCi&T)6)fDyoIe+ li=1=mI!Rqb3jLH4{{SY&R|o-k0sH^}002ovPDHLkV1oP)OxXYc literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.02.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.02.png new file mode 100644 index 0000000000000000000000000000000000000000..14ee12872df4f473c80de5d8b64e90e770423d72 GIT binary patch literal 710 zcmV;%0y+JOP)03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00JsWL_t(I%Vm?xPEWo1PHj4=RMYY`E=_ZVY1KR;)FexACn$vLB{<)NHb+B32-I~= zN{RP-LtflmLqzC+O~2n)=NtecQc85r;hdvw+p?#s|E=w-;{&X<<#MM(N{M$rcG(;a zY1@{ns(3Kj!+TFvRfG^|ng+ADxTqq6bB^u92~TgY(KHPY4@c~*t|KDE7zrWJwkrODBa0g~Cs4CW4ULH+IDG@^8)6pTu7zWcZ#+bs{dtXKoK}0aUUQas*j4=fnz&S@s ziPtBGY~8q3=FhGz3UoDc$!PY()e_i!*BlTrfU^XYL3TM@AfhpO`C?1(E^23MC#dv}6%)}@p#vaqnQ sP(J7qHa9nisutACr5j^P`8j9)0!)WY3vsk9?f?J)07*qoM6N<$g7}Xl1^@s6 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc1bb530d7369e0429a8a5d768ea9aa7258e296 GIT binary patch literal 933 zcmV;W16urvP)WFU8GbZ8()Nlj2>E@cM*00Rk0L_t(I%SDpSZujk#>t_;Z5; zrw*|C^eW;bfe?ZuN$Bb6p?$v1!5as;efc)td%X9A5Kw#AbHV;**?eV__;AdlrAO?F zcTpX$Qa@KmToFt>KSA1k{%bAp`)% z7}7LFN=XO-?>(i{B{sj>{>hN#!-gb;{ch)Av_ z-3SsuN=bAo!a2ti9lsW{y}ixI{t?#yTBkHuB7HkW^a|oQX7JrXvMfW)EzO1e{T!_| zN-2h>hp7Kt2VnTbFs)x&SZguHu=lyW)c&X;rKEqppK5<~hk;Ux;+sXbE^Q%%zz=YIV>c~&KqJ-!J)=D+tr#tj zV$K+32!S+BNz;_(cTLhXrGC9mu~DRbzD;wYxdW>tC=?4cZZx>JbPt(H);?VO{|cpr z5&$6tD$^D2e{-MsgP5^@#>n%WR$)$vZr28*I2s)h((ip?k{1p4n?PK`xFaWo%+#=6&CSRN+dMBcNw%rBn zy~kS1z~TVLn4JiBe!7GG-4c9YJM@Pn#&E zb{15oD?B*WFU8GbZ8()Nlj2>E@cM*00SOLL_t(I%RQ3sOPysH z$3OS|+|T_S+0NO~O*gk44yFI(;G0p0q ztDL-elBE+%hz|rp2r88dH8nMqua`MBbBg(~d91ZqYjMuu9pvDRujdxH`CLTM5%75Y zG5dr47QO5vPiX?h8*HA*P}rfyFm<2WXcW45=qF~)Fy;~364 zq9~&BQH9aB0^&HPai9@(K`~hm49 z<7p<3b`h;bs9J?s7L2wx;VF;RV~yy`x|+iGv$KR@$mUm@gki|a^a|-xnx0$Dd~$1| z3M(r}rBjqGybBej;FV+58!zon|C(xJg+K{>&>yzv%&S#FS0tfN)$!RelZI`%VG;7N^#`s zk!m+atKa1N^B7~0)>^XrvVak^lez literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.11.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/0.11.png new file mode 100644 index 0000000000000000000000000000000000000000..fee9e177591350be39c4c9b90bd3141ebfd14b9a GIT binary patch literal 980 zcmV;_11tQAP)WFU8GbZ8()Nlj2>E@cM*00THlL_t(I%SDl2XjOFp z$3N$H&OPUD^WvS}&E3Ietl4HVhB%hQ)O$A@{hNp(1zS+dpcWB@4nyQ;WT zE_dedux)S~OOGyLjagWhh41^+)YMRUyTbOrwzDv`fYutVHO3h1&1^m{FG=q1y^Gi7 zu{yoV25$o`%`FrT7qDh6T6s*TWE)4jJFE1S(4$8i9#Z5v|@T5BA~!Eqdv zQluV9QOFlC#t?fvhJVq2I6(jiA&3peP)hNjdj~wK)hdncjVxbZCfT1P7zwayEj-U- z(+8Uf!w_K~wF!a%IVt(#=d+}GQz)f4FnWqqE=6IXfKrO`T$%Pi+gUxk$_vvI=sz?) z!#!BJT+Z0GP2$A_Wudjk^E||mz=<3_89B}CPd$Uyng^-vt7Z9zWkeW;gkeaz zTt+E{QVL@XQcCv8Hk>ro}e*4QLWF|bAK(7}h2&5Y0Amc9-V7hU^$p%f9!>u= zaV)!!mBb2bYik^T@@a$+T)lX8{V^#e00&3EM+kv2hPWN)j zqA0?)Z5(Iahj3k&j)4wlPQFS*R|5doX0H)N5p7Sj5ql#>iitGZBzQXgl*gFfJ|?Od%Nz@ z+|bNBW8+9ExpMjn0BwtHoXif;G}MIay1bI>M=3>1e+x<}gw~p5U6SDQ0Kd-Xz1}RI z=dttIo$NTYgZwXfj4>3yDpC?}liIe8*!TNQ z!!V?6+tPjC>3N;&nW|v8nXeQYbhur5+ezpI48Pf zz5qc9fa-Q#7e&;B7*>uO45$o<0H>7cK$5~5w*eLm_#xGGUDG&@p*jgB$p&n>2O%N> z5}Y5O7|fuqMi_oMR$!b5I)a&#lQHZB3wMD;h0cI@BA<{1E`LRH*)Z5L-m)wy1F(yt zm9z!(LT+oxG^?gSRR<&+%6+>Q literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_hot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/1.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_hot.png rename to kfc/src/main/resources/assets/forgecraft/textures/items/iron/1.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron/iron_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron/iron_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..50848f8676d98cc4fbb5c349c87cf5a5ae61fbd5 GIT binary patch literal 376 zcmV-;0f+vHP)pC?}liIe8*!TNQ z!!V?6+tPjC>3N;&nW|v8nXeQYbhur5+ezpI48Pf zz5qc9fa-Q#7e&;B7*>uO45$o<0H>7cK$5~5w*eLm_#xGGUDG&@p*jgB$p&n>2O%N> z5}Y5O7|fuqMi_oMR$!b5I)a&#lQHZB3wMD;h0cI@BA<{1E`LRH*)Z5L-m)wy1F(yt zm9z!(LT+oxG^?gSRR<&+%6+>Q literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1.png deleted file mode 100644 index ff842721dc75d307366a274d4081978234e1e27a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)=6qT!ICS0Kx|lW0u~5XoB$C>CO=9LTxm2D zx9utxk)4TXspYEfuIl$*y>f?#hX&xB1HgNah%gKT&N()l4LdtKq?Axq%nViSaZpu6 zgcu{vIlT8c=a{Cc=Vrz*45%ub%?1$xV45a;3!a{QXPPF~>oqAQ0N$P+6JsQ$L@9+& zzm5qZAR?$L&N^#!FAVvN18 z@g2vJ7$d_l^ixC-k=q6-CEh$dzIrDOU06>fp5n-Apa?X@e5D`KMcL(m+xnqBOx}%~10000eCDQ3MLpO~Q*%Mc4WTmUYL<}HGSnx;; z0|}1>(S+z1xE=2Ft-4jm#m&8hN-9;0I_Lb(cYdYDjSXgJXQ`@+oHHUq&bhnmoHN-j;he*JkM|yHEiY~Qln?@1YeaM~o3&*ELmD@nCfi->oe3_F$Qm61%UygHj4(48PnT6JsRCNZvTe z`;(t2%d!DI8jZvl^Qw#*;K z7=tmUNl;Z4M;CTCGoOBjh|pVD>CUev*ZJqKC8pCU$Cq#N$M0tl5n_y}e!nkTYwU}c zNaZ3*DV%eBd*?PE?HZAD#u$V59uesRQ%Y=m<4bf10e}xDZ*{JVF>>I&-vDsVVT>V! zz>b}FsOuVI46S!mzu%V@no^2aUq8y)!_yt8`8SX8_n&8pG1C5-g*~g>TOKs9fewyy zjwg@Kbyby8tUWx<2X`k8VBm+^{r&J= z=H})oUbx7|qcJHZLI|XkP`zGHwAQpcrNqq43?kB1ZKbz3yV%-$)6V3FWS4z$x|LG)P6W&bD_6aIkE8-wY)=J*ECJT-#0(t;VYML&e1dtDJ9N*`!!Wn z;W;r4SJ&lL1qnUlw#YF*78 zP9_udTzP4E9T8!8dx=sCAq1x73}1FSygGb>7$YLW_O)w-5O{7n#afFlrJ%Lu@nMxPF~CR)=VqLOLkIx8xcN{^-HE#9<^B)==N!fuLI@1@?jxmyF@~zDh%us_bL5=)_~-}`Vfn$+ ze5MpBB}9a!<#m9Tft)kF{zYPpIOk?4TWfL7arw|KZtlL{UR6r*$8YcQ{QoEeeEQRm z{Cu&GwRTqGTs@`4>a9b(J>DdQ(EhnGhR>^t#l=OcyFTQV!OUq0VMgW3%1Y5%GanJ5 n)9Fx3X|K+ap2Jp3X<_;gz^R0EcKJ|w00000NkvXXu0mjf2VjF$ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond1_redstone2.png deleted file mode 100644 index 7007338c43bdf57933f4579037a72a2b39828c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 762 zcmVdsefA{%%o)ED*M1zBftINBEBsGcA20sQ7il7u7{3j}ii-UiGL($2C zt>_?C<7?hDQCr6jOXJH+>Cvz_6b`&`%WzAjl^T~z=P0l*l8 zwHEI^BEsR}AyZRR#2BfyqN>zd`?IOFa`oxI2_eul4NcSFz2{1}%bWZA7-LXXy!UwT z8Qr{zF$QA{r4$Un(%vj**MFevI>zHMF-BfLc#)U>{GAX2F-CIEeDU*-tPKWOYpJy& zBFOUcvO4Dg*xcD+Z7`tLigOO<9HkU~xp9NF!2nfdbm{>Yc4zp;IaKv{KnMY23^`|v zF#yzBd7Mq#wvKlnScfQ zv#OrRK`8~Js%+o6!^bbbf-!~|BdSVD2~}ltXNOOQKlT1U-B>?yN9O0}^+OT9Z5ndU zhzKDBz8w9^2TLo|TCvvBGz}Y1-siP{pC_e6DTP`qrt3N`ig0dg*!w;^9`nL8vpqCx zEnU~Kvi}@8XRNh2=N>7TbU;LUXxC@=SlpcUQtERt=>c#YW$!&91g<^%4lt?KdBA6N8d%X8NUd#~@M1)!^0+3ST?!iB#l=yA` z4KYRlcIW$q5Qs5SO5ykS`}}(S7OKjW*v)1$8-@V@RqYaoVPF^rYOVdu%)Ybb>8B$^ zq+gymlu~&9?k&6XeQK?Yu5@S49FwwsFos&HQ1A6Viw_h+bM1&_N3rZ=35cu=t80Q=!f^)9d?7i=+s(vfM z%!o1a=<+5aLX44}*(Nz>%#55fzZ||J=gisJ8G9cOh%t7bTVG!{5g~*?DWx~nABzv% zzjBq<8mh`Tj+j{wthLfwLsCirY%dRc-H#V@c4nI$nyRw*@qnB&r4&?^hyO0m6->~a za~;|QDujS@j+`^o%v|&f(BXs-c<|+@XPpAKmxq*60Ql?6r#@_|dd^^y|Lp4tKOk&h zy3*SlU~2bTE2Wh4Sy)?J>kmv5wz9HDssH%#bGiFB4xjSplnXPAkCxk#*mXu|Q_nx}0S>D@2RWUQX_jvF5 zaJ-JHqN+4ag90r4^*k5WzNM~fZmfPsRaF3-x__4t0##L!QsUzuSGhJ?#yLmM84*DS zgMk%A0l;K;mr=h@&Y7YpD2jrnX;^>ofKk7XnK6FmH->+|*jbPri*{|ajH;4SLRA6C zIrHgclRwB@T{=Ur*W>)^H{5>h93n!~H0zWV(P18`=24F)1ZN2z(Af<$e5JKRS@lU+HaGIPm&N<4mWb^4?dG((Y#29IshMY56 z*EIl_ryHH`3s0V~G8lHyoO4{+T;ufK3#62A&hhTg(<22fG!f~bnOWCBM2IocX6E?2 z0(kEUA+Yn@pS*K#(oJm(Fa5vD0AJj@(}m4Bcf_ET|IyAiFQHt1c>w_D902XQH%&uI x=_m`cv$I`;HetP94>Rkg9+xg6o&20L{{p!OQ&&BIynO%w002ovPDHLkV1oK8Vj2Jd diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_diamond3.png deleted file mode 100644 index 85a863572fa03f29b1c7504b4de61cd9d5fb6f47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmVAA~@%8&aqYQqqRnB zO-cz3aA&bkMWksO9`620UDp8I-QVSp&pxNFYhsN2{P!-~s{@QN?2Jp4QmAgXE7n>7 zj4_A^_lA4?cj{J3-k)&0 zw~UCia%!y+5jLs=e(kNb|J&7&yWM4gi3%dZ?cOpE4ohN;c<*^~I7TUj)|%&^4k(HO z?>){rwpRx@=h!?hF~*?g=jUarz;sAN0I=2)W8|mfFXO!#zR>#27Kg@Xh;*5W@c}XssvCQmQr0^y*3}LI_MV^I=~DIOp)*ZU4*;GX9}?pv3m>6*T#d*%xAuP8U14^1b^@@}C#A%#qai6J w)ZE;hOw%<@Sf|rLL|W7jsVk*g`Z;I*1GzI|=Z`gt>Hq)$07*qoM6N<$f{&P25dZ)H diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1.png deleted file mode 100644 index f945e53ddba3664c130b9d0070ca286544bafeae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmV-?1B3jDP)#Pc2PU|2 zrGJ2N;Yz{8?}VhrD8VR3S0n@r4wf{b+G$~C=rFu}@B7|+T{Mhm_ne%ZJkReOvH0F% z*gn3Exop_@bAtn?4zT+4D&ix75P~F0=;`U9eZI}X8wa_4`8M8ry!V6AsQ5~;RKUYUw5llQkLGo`x<7$J-%N5Li!{e35syn2$Mr)08j-jW9 zsMqR*5QtugNUkN_2ogX_Npvd0ImZ(nzZSE-z0Jt}5!U}&r!-e0eLF?;3gS3s@ZCYO zEJMsK&4v8^9IZ7@yoDTTwp0X-qH!XTV zBh~~xqdh3C7%h)t&KP6}fiz7?)0F0SP0}=_e!WhyQKWsoO>?5T1FIw`6bm$NG`P2P z51C2UK3x0%3Z;b-03ie_(-rQ2bD#Kwn6ZDx$n%_5u|=oTA&MfTlq_Fc20&YDDHIAk zy!a3)CEj}qsz8=y0NlNL7o`-*rG$i}`!7NWI-L&E7{k>36#LHYWBBke0JpB(BF}Rs zUz{X*C!&3}-39Eu$6Cw4;sC~&od|b+x`X}Q5`19fnGuXJ96ED|+OIXzG$sBlCeL#K zcE7b7r4-Fin<%Ar7F4DyJUIS<@!@ecmN&50a`Wq(08Fk-qLgB6VGLso?az1IROhNV z=aAleN_{2Lk5iJq1m_%a9CPgCF^--+O6|uQAp{ynQ>_AZ6o+Mpm?rGc4ro^!{h$Ked0Jq04Sw+ zeS8-CttEINpg2=x?$9{EdoqTeDuo0??t{33B}j4_6uT|GFtT+X_#3xJdo zYc0kYT-U{QU9{F@9?4M17qHfncsxOHF?cvZ00<#S3@6Z9^Pu~Ce5%zdjUA0FU0)(S zm?j(xacUiW-)F-I8;GI^ArDEyFhor%zWDhJnZ68KYxazvAk&|rFke7xO?kFV$DbXn zoLS+e=~I|L485bhIQ{+oR!T|g4zmm6h%Z)M7dl>YmL?#Yb{DCf-eIqbrr@2cGEo6jQhMx6h&;>yNTt~%OnyBgtZnS z1V;~^X8rJbJkO({yMg5XBti&UF1O(OKGjl{3pj2P%}>O1wY)BTm{OnM!i-(-Yj9zJ-Vcw?Dr9{|o7nGyv9GvVB=T zeES>xk9?Z`Y2t8hH_NGIR##U!^3*d3A-H<+>e^#UDFF74e~%CXYb{BcM*rkLP)76K>%}he7xIK*$oN|qh~pT5ug=dRrKI$A2`S|o zAlsMa-i~{;G_>%}u?dt?Tse6KfcAxUj^~DG8fn7wJYMY|L~Bj!U@KZ{gfWJ6U7GOo zkf1K$y}lg2@3Z~6?QGk(jr=cpthE%sE25O5xw9F^aaj0i0f7GiJ+Xc(w=lE300000 LNkvXXu0mjfueYmo diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_diamond1_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_emerald1_diamond1_redstone1.png deleted file mode 100644 index 79278e3949cf21e4301ab20d4be641edfebf6c9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 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 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_lapis2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_lapis2.png deleted file mode 100644 index a46335acf41472223a30d30805d1a4cb44a3016a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmV;h0#E&kP)ZdzUF!-y8qu6za& z@mu#6J2%P6adEv-1BYah^FR52#4HvI1u(_{V6DYDhxZ<13`a*ttgf!o_dT^%RFzt5 zJKI_-)$b8PAjU|H5$`=GPF^RagtZn`<i4kLA|jZrtt}N1LI_B=i_N#_ zx~{z_gh1c-4XDm8hPhzI~(*YPvm#~6c%AR?4f8XW*T@}6$) zw?=C%r_OA%TrTP4HkW448Z`}%h%pjEAm@yk&*$o#qw6}Hb6lQ3=gq;j{{&4b4HQL4 zDY3D5&8z2goO6Q)&N*tW7-KNTP-`W|2+-6%y?&D)Umi2AS}TW#huEAmIcL@*b8zwJ3^zJ1zbxm?osJs;jZL{$e7XS11FYw^dQBEPmV z#t=eiG-|Cl=ZG<)s;yB(ICt?LHl+lB{Mv3|$vGq4ZVS@r#FdQ~lu{U71F#{4mTeJX za^Wte6w=QdhzRSGone3o2m71UTA5vaNzR$~ZyyX4y!V5r|JYbcX=xh)#;lAY*II`p zZY*98Q&Va+xo{VtslB$gMtAH<14}6lpJ_Ussq^7N*|{ Wt$oX8XE+A{0000c9H-90+mTb zK~y-)J(EpuR5uicAKTZyNxJBwmG~IMpk~n@5Yf>H!iPAPG&v%%Z_n`o`MdhID9!tvo2N-2ynym>Jq#z>5jJiEhMf0yZW+JGJo zhs78}&Kac?N-1*A)O8Ke(mvPO;PhyR#mYHzc6NqdbnbLF5fMa$QVJmi=H(G7C1Q+x z`Y=XBh%xfR^=G7%u+}yZwbq<`+$N<2^$w+!Mt<5vDMek^bh?{ZYjMtTc<=;c491wI zf%m?Rs?0YirO;d7YtI-X$A??Y=X1RG9Q^%=Qc44HLB0CwPXHFNzI*v2F-Bg$c~43S zV+@zSd(g<%niwOi-~WmZApjuL+wIiF7?ElWfC_gp#t=f_@|B;EYK$?4s;ZjEopa=z zS--iDh|pbqNJ@$DH70~WclBYD_v{X@CIePhR$5LX z($tEedc9uJTC><9!qUk0scuu zK~y-)Rg=GJl|c~2fBSFl7b1d%2-@FwNC+gRv=c-h(9S1Nqlowb;Re!*U?D=R63n-| z-|Sf2?0U1+6lc$zIcLV5o}Le;!aLZOjQvPoO86+h%pXDB0|o2 z5Vh9u-jj3Ql9?GI0>Ig3LkIy?1t7*qt(6bw=cp>G%EyO4#y9}(`1sgF1n)h|vf#Z3 z_z$>KGELJUan7Nt+}zv{mu11sh%pjEz_momdDdD?0W`?Tr z{=s+pSTROkUSAVq#LR{#F-E3o+ImxKrPewKp8t7$REP+k=t9m&?l$Rn8eR8>&8CTnq*CJd<<2hw%VM z>oqB*(M3c^DN$?XXuW1x7D5Poef(={+^*536o3(-nepoH-vQ|3l~OpldOFDZjzkd| znVT8TIo>*lEeil4gpqsSiypm*Y)42bAtHQx@*5EuU7d5(T6vQ*%N^nFv4s$D2L}h% zkE1K-in@Z`Bvh4US!k`{oFndn`-M%@gqaPg-J|}=IY$VA)*Al+EB0`$EP~YJ00000 LNkvXXu0mjfLJ$+w diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone1_lapis2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone1_lapis2.png deleted file mode 100644 index ea5dfd2c74efdb945e70b6562b72a3f5269b3562..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 773 zcmV+g1N!`lP)V0=a0>ouwdhx!eZRYwW_EAnx1?g&-KQ*j=G?lj=hM z06`G!U!XCzwzv=%mR7ncBGLMRQlSt@&Y3yyye^LShyw$&nt7k+_Zu^x&lSKJ1Aw&_ z=Nusfj4>P@9emtwlsI>+9<(BE%RGzl|+#;k_RwiZRl*?Ql`86>BYR+ae-ZRVBsu`5DTQBu z+D1h9;?^y4&b-z%gb;d()>?kQ_a0r>L3$rm#TbL@wlKz!QetJiMF@d2Cr`5a)H{5d zQjegjT)T7Uzo?owQB@{uyQnI=w{KHQ;kTbJ(=-ij+p_n=B~-PSIGs+_T1$BNL*!r+ zV+=9I0i)K6bB>e}J4g1|c(6(-1rg!Nr{BfqoB@!7&7mx>9vmQkdyuwB;{3CB>AH?Z zY5+FIICNV?7#}~!$HtKN&mtnMjJNs+M7XiLMy-|U3s)(n@Z;T!JwgZp=Nwlb`-P1M ztJGTQx^8IO>#BTI>(G^j9pwU)&e5k{jCs@li;?^?WQj6qcasI~GBjUIFX;^j6q00000NkvXXu0mjf DU9@K? diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2.png deleted file mode 100644 index b84fb132f01ab43ded2893f0ccccfabbf43dd17e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmV;Y0$BZtP)nR(y$8MC>$sQ|_p0Ian*=LjKSjN#VjFDO^s!FZ3 z^|sc^{^cKt2!p|Z!C*iLfhY2b+eb%OYf)7~2!s&WJvhKxi?x#FNMc* zbJSY#-nSQt2r%{dceB&9T?ZExW_#u%J) z>|XjtN{N&blgWe_BjfRy5CV2;&i?!Nlu~$l;R~wDt-m+$-m^6t!RtS$YV*WtLmI==VtSy@pL!8yldGGTsxo){zE zd!{w*Rdt4gmcq-AA6ry0MpTuQ5~|AH;UQb2(Tx7{GZtWbagh*0yG29@A&^qy=F$=m zyvI4mt1CZGjkA`N(kZ!p-?L*(i%?a$Gaj>dc-TyH&e8Wh8%Nj4Ipdsbj93ww(FCw# z46H3sN@?y-8K||=_dO{kMC4RL2muk{&DCFs2qMDT?`s%iNGWkQMsm*Wv%UTNnGgcb zIn46%vQ7ayAKSE?b2CYlQph>CX#M%&DTQ6vp{nGZn}qX+ri9j7`3DE|a>xN1dcptz N002ovPDHLkV1nphD6;?n diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/iron_ingot_redstone2_lapis1.png deleted file mode 100644 index af46a87b3f59f901ecbfe693df751aef9c6c7338..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmV{FY(i>ngn$-)fsiJt z#3Efl5YaE7xp^3|5;2TJ(!?V1L7EhSJCCzxpS707^`4-sTE*hO{;#mUzU}}a1OP;Y z7$YeqLI~{b?J*vYDWza$xI1Px>|$ozcFUN?5AWaS%!v~N{Y9*cx|I0qIf$xq_{gUKLkG-^$?8pNt>l~ulgY$WO2ins`TSqJ`Q#G8szwh)iZO{r1~k9wzfbZgnWC>Z#vjmX?+jz!(F7wHD_b-g}HO z93CDrGBQF4ft)j{O3t~iZO)ljKm3b`&}=qoHk)|wc`ASL+t;sHYf)9a_x#cAvbwQ> zwH9kFDJ3ib@AkRz?HgrT((CmIA@Iw=&$QZYM1&9mRaNoiF{G3@I5@yoRYeGa7~?Uvm*f9njKMj_>gm6UF%n~>-|zG6!v}i39^QMb z_nzBT#jB4WNh$H{#Aj5MU%TgMG#V^-I`D2ERRusqxOU+JMNtq!z|7Cjt8=dY_N^Fs zbcCd;7-Q;(0lfb72^Pj#**U{~V=!}bb1EV@=jiwQjE#*ELg3FI|KsZZSpXW11^}vh z%!8EDAcZ$uTZ9m>))GQMRaxAdL{)jYxyf>;Q}c%q>Yfn$RJ_nsId zm#3$B&}iVC=I)fq%<=#qeW5F3FMr)lM=0Vo0X|49ygoEVjb$9bEezv zVnyT_6Tp3AU}2nlM;8IL1Gi$NEK6dHh{yopt}%!RYZJSO2qMD5|36`jA;!qfBb5Oj zde8gqZM^q5=LQ2>?KV|aab7frptei970hY3SiT12)AOHXW07*qoM6N<$fn+a diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0001.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0001.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5d99c942b5d54a018090dab46291e3e95a94ae GIT binary patch literal 769 zcmV+c1OEJpP)WFU8GbZ8()Nlj2>E@cM*00L!6L_t(I%RQ65kCjyr z#(y(&KHjs}?ZB{TXREO>5DFR+LrYjRvD3u=#MX+|!fdpY*r|jbNWj94SQwjaG!XnK zmgL^|o^$3{yqDWeF`4IMo=5I}buz{nj4>EK7z_aV7;NVmK@btt3;=e!B7&Ks%V5M9 zi7_%w1q*@GCr9Kwp{ke}rb^D47$f(8yh@A#0Ijv*K48GT@7_gJDdm7G*Z;%a2_ax+ zh$>?Y)RbGtr=*+_5rTWiT~QT2`uI0|C|(`!9aCKdi4Z~{#EAD!Yn6GkK@jxd;DDSH zsz!*B7}K6IfSK{ni_Zu#GTe7eSXc|_JkM-48+z}o*K5xHIL5uxT3gI)jf+Po^wwyt z;l1ZH)_;zNR-v6&9Yr&yO!Ii0-uB z7-R6$4_8nXVBo#O7?=vdj51Ax5YY4USFG0?-v8jQg`ztmimGz!_9-zYLWrmc!eF@b zZ|^XAbB!3 z6DcKP45XB~^wu}HcYK#rHAO=pmqIR?fGMptKD_ye^YacsN*Q;j)`r<)le^mQp$u7$T^Wx-WR3T#yrpa!{6U~Zz-25tyWZ(&{{+H zu~kYbucJZEnN}WFU8GbZ8()Nlj2>E@cM*00Of~L_t(I%RQ6Lis3?Y{Ma%w*a2E`aPsHLqzc2^WTj(NhuLyDm@?69LX4A~-jJgb?Vv4pA+rDu(gW%YUGzjN^!wf*0Y- z^ACY@gb=7w!ux=k(RUpVhb%2Eky6FhUn_(diLt_a&&H)W052Td;Mt=;({&x&*N&6($n~w)F*A-l_V46Mh&=w}4o!0hP2C_ArK%F&UU-zcu9?kd zR8_@%&ni`w*n98Cs1|hBRPlm@K&orLySRklg`6`_J#&f0;wFp5P5Qp){1=C4+m>ON zzM-mYU0uP{7>1s<*F+{AVhmJOx}^pwCGt4Z4?VYRjWM7_2{EEt Z_#Y%|PW!-KhwlIY002ovPDHLkV1k^ncDw)p literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0003.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0003.png new file mode 100644 index 0000000000000000000000000000000000000000..1e2da2d474f866c7b3a4d1a2b508581373244045 GIT binary patch literal 912 zcmV;B18@9^P)WFU8GbZ8()Nlj2>E@cM*00Q($L_t(I%Qcf-Yg|69e~ zgE0oN767)q#u%&>#2CZr>0!M0c<)(XeGBUxi}U^Dc?}W4TFbw8-X_m;y!V`)eH`x{ z0OrJplj@wqitzc=5U(G;inW$@S<)^F#B>{A48L9MW9*5)0dUSyw%bTbk(3gOa`3f3 zNSdgsikYb)tO#G783ki-&avm|4XkyjDi_Xe!(fn}o*wc%WBJArocDO2VXbAbe;I(6 zCl=*fJQ9vMl-K$GhntJVj9yEM0q*lp>?!YuzzJV0-^bVhDr~ zm^gTa^_4fVRxm~oRb_O1l^7$&7zPGUp)mmvLLj9?ijn!B??Hho1bTOTOpJ+?62g`i z=C*eeQzFEGs`Aa(k0D|JWn_E}RIy@MUpY>_R>L`mG@F|gMVsNVWkLv?o_@4jO@vn_ z7V$pAInSjF_hL{qC9W^c(y2N`RYb%PW1y-kI-L$L?7K+2-Dd6fF+!+VU48>qW&Fv1 zx~w?Q-e)#xH148NZy>}(mgRhVb`SM>om#C%mSyzzO_F6f=jSeyQY5J|cWxVE1#ynN zUgxJDdJwD-Lg3lw&(myf&}?o{mL+Gt9HA%*_8(a24w(}7Kd_If&mN}JDJhBq04d83 zMN!b&c!wAhSFh{>VE=&y>h(I8e;uIFXwYah*!AEHN00r*t))W%JoQ`~$@7dn&$zxc zi}#*~9{H1$5-}!1sJMB1fE!DPXti3jS}mH*COdY1f&eK5B+GJ&&3D;7a+5sI`2M@S zc<=cA(jZk8c=4rqdiy3xDKhiL?(Vrn2vvoMVBS0Nfr@l-@ZOPS`TuCJa_cBN@B5Up mQ*Ir|WFU8GbZ8()Nlj2>E@cM*00SyXL_t(I%QchDZ&XzP z#ees{d*7QkLt?4}!<4~~kU+Er%oL$D6lxJY(2N!N!n5c23p=kug zmR3QmL<5#urdW!hDJ)!Q8Y#ncXf<}I(>L$EdtD5k^-0dj$?u4dKJB;GTCBBLW3gBO zVr!`d0Rn*#0_iva@X#xSz;Pr}2*KAwThUshwPs=d1ddWnPiFDF1X4;I$KjvFH}O0V ztu+@%cA&KaK!#yN*P$7(aCWen^-q0;?$6dTIKn+ zXE}3vBQ34v`j}C~>TEx86cI%cUEQ}>C>_UfBtl4}wU(CFdEz)m2ti}+6y1k!bH8+) zD2f;#>%_z{ljDzKfzn(L>9u{tvB4OF{bf%B*zuV5vU6)uapCI2_ z=G@R0)-?9BQ0m1`Bv48r-hKZ=8~pnY4e8I2Qu6J&JY9!oFvb8NgaF`rAe!t;H8zMMqj zNG7iCVb9A2DwQQFl_mD>pXB^Ed8*Ya2M$hQjA2c-pU0ov$H19qsMP|h)oPu@AgIy2 zWtioqw}@lIZ?`r8aNyt+zVCDMdLyY+iqXrv*syV!qsRW>?(7i&cE7ZO^gI{ObNO?2 z1g$ljnt#U_LmV5TC}i$lBX?$x(9t=@^71m3N`oAYycp39{l z+tFGv^J|VUjM%$>l62-I#>5Pt-CRGHltf{OloIjY2cK9e>o{nwa9!_zG$`FY%DVNZ o32FfVN@=uKnAo7S#+aD@0B|W=1FJja0000007*qoM6N<$f;79e-T(jq literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.001.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.001.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2a2ba7867f434f09737883c7eac127918c3cf1 GIT binary patch literal 755 zcmVWFU8GbZ8()Nlj2>E@cM*00LJ@L_t(I%T<%liXBB1 zhre@9Ro7f5dkznpf~`Oi$Zg)m3#| z^t~7CO;J?U;rsn*x&Hm7yF2cVcgJx6nmZ+D1VKblGXU7%6%ou76%p>fengCs7$YYq zJ1hi-5PAF64XTQnVXCB*h%qt@kr)F2^5fIz9zwuW5fwxYGh@k_Wu8&l2oOP45!paO z2;^l!dvEmKahy-@e@XYwx~}xrFjWxY-uX9#5ExS8i`S2Eck;4q@_v1B<067Pm>FV5 zZ;iDSN-0O}LrQq>AVSHRRx4&o$T{zkBBhi~Z!l`Do0+v@A<$~2_l~LpV5W#D>b`fq zHAIBZ{`?+q9e`RZcW$23Tci7y&sr@67g4x!U5IH-0i__CPobFDM%d00o>~@=@As!UbdpquH zT?rxb`CpejeeZ&pPKa?kQ%tF~l5=4k-!P7EIC=SuoD1_jQ%a`y&9I-|d5CwXl*~NO zOw%nP=W=Y;A)bHU|A=VHFr;H;Lx{%+`#zyzNN7p}DGkIJIsf~YJ$|RPPOU3B7v$N` zOw+_PO^oBnJWVLjYelZEfAfQGGo`hDTo2!YLe;jPYfmzyM5wj?uU)&{?)WgJL|s>M l$@>9HjDg-dAx3Il`42D*MBBq&oF@PP002ovPDHLkV1lH)N#Fng literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0011.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0011.png new file mode 100644 index 0000000000000000000000000000000000000000..e57e82b05239d0a8017401ee785d0e6441d17de9 GIT binary patch literal 850 zcmV-Y1FigtP)WFU8GbZ8()Nlj2>E@cM*00Op2L_t(I%RQ4#h*nh? z$A9NJ=iK{VuCvMk%}o&0q96z zHm)L=LW*f45xB7egNS!t@7Foc)8fA4vpH}$2ma^x{~fpb*#$E*%nVb*FaWX{eb?b| zIOh=W0bqXCIfwUxIOjNeb(t6=F-9hn3LgT$ZtUisOY4XT-g~?VWmytqA1Mo_YQT-h0}vqiq_*jR|lL5y81JNC<(hZ4uRss$v+|t{*^68HNGP z87~6Pact=gLI@OP$*WhFF*CZh9iR8f+PXRCFaz&B&U-XxhQ6ood&GNg|8;~t_g%zP z!8!V_Bd0Vn=(>)!ZOJ*)Gz~X@e+t!1N@;|d5{tVpkW(V1gyzgYf4_+Lf^&kH&8g>% zbB^WB2e7OFq?FjPejd#kwXvTeC3fywBWFcb5$5yrkBb1TKKT|YC(MlREFzFg`eWij5z3a_8{N zWHUs>aeQToVHoK9o^2*w*Ky|U6^_378fHfDesm>7p4h)dUGJc-YJ{wuKJhN!U)e`h zRZJ!milQLKKv9%@xN-*7k-;mM-$A?}Ay8HoWmV!%zPD;3qo%4EfW@ya^6%4!=N8Ib zoCrV+0lXmMQO!u#^)yYxFbw3Z-1zN&{(JTaF$Sut;+LQ9rLJr0x@KWvfk{*jL+ z6h(=YWkFdM#28uH_?QPD{sUDdXC+F(YtQEhpef-_t)8>( zD!mtS*1PNWY=4|@zJ8R0hc-vWfubx4DJ5jS;k{5*)!mC_S(1iWFU8GbZ8()Nlj2>E@cM*00QDkL_t(I%RQ4_h*f12 zhM(_e?L9wslT#TPL{MGS7))YD1tp{rK`}Q$DI(HUXdofQ7$Xcv5E>Ivj0r|0EExMk znp6n9Nvnel3|>T%SBl0&fu3{Rd!PM%-|Aw|w5}J6XFcm(=E&zKRaH?{G%1P#5LM|{ z6$XPb2J0LEEcY5?aL!_lG3-9yLPQV|1_lOk-m}<#kkzM8VXehE$L)XKCC_t2gmXVW zi--rn96CO$-g}(2oSu7;iytjlGK~v)8?i{L+l7a#A>1VUrAPF%>mTqll?IT}Nl~qHgit`@l94RHNwfuEs zDa$#XJ zA{pKb3%}lvK{-5ikoLt9?rz&jRK;3r_~^hSbzRf%_j&cT-zdwHrCZyX-hY7I6Ca?e zY<%J0CM#ZeaZ{J!;Z+O|4r8Vc9@cDdkhAj}cyoMlWg}9GcrVK?YP=VAotxtL>-&*> z01@G*d56VWLI}LF(S|SSo6>qSRjRf&9a=Ly9@6<)0_5^WjP|AD+_C>>p)di z+}*a5lp^1LJ=#2%wS>BEexr5hn699Sc(N@2Uu2%=gu15cSFEH}#FJvei;z;}KPY)u UM<-&}pa1{>07*qoM6N<$f<{q@IRF3v literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0013.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0013.png new file mode 100644 index 0000000000000000000000000000000000000000..064d6f332019a369859f8ed0d4a305f3936cc895 GIT binary patch literal 939 zcmV;c162HpP)WFU8GbZ8()Nlj2>E@cM*00R$6L_t(I%Qcg4Xq9Cc zhp*?~`|fN;l$tK*m!N`d3EQYy2`Z%hqrixu8fDU#A_EI4rmUz5MUxUGSTGs2h*=hr zON}xrONT7PAhLvEYtFR-cXoWwd*0`H?mnD(f4)ClTwFi3`-4Fd5kv%uf*=3{5o&pk zLZOsG8v_9Ize*{L(P*UvDRX=X8-UC9((+Ej4@R6oNAV#Rhq%Q z(|Z;-4-&k`d(Xy4e`RLsX^hb*rO_fnd*?+$2q>lKJ#!NhA^_fd77Ps#LtymBYZ0LE zo<&Rd5ke%!h-Usy{k#}}-5a*!gGWU8>d@`XJ+TQ8+B&B}gsnTaF*CJ^t3KX`wH942 z&yi(SR(4F{z321KZmXkd&9SldIG13pW9-CrD1>+4c#HGnBV6v ztJS#o{*zRzRi-aIMc->X+0y+oB0}fg|J7Tuj@9etXlhzOQ>h6}h`hbyO^zO3MX6Mx zp`n2!Nm#UGfFwy-+jf)~15t$M4!w>x8f`6Usl*T8Hli^a?>+Zy_=$3PmU4NPhQWRg ze$hsjWjy%MDPpV(>ux>E@F%xWtL0=_RxfdT?>hnzil`r#{s-K6W#SB?WhDRr N002ovPDHLkV1oIFq%!~j literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.002.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.002.png new file mode 100644 index 0000000000000000000000000000000000000000..0913089afc2878638137da3898714f80d53582c6 GIT binary patch literal 793 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 P00000NkvXXu0mjf3KORX literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.003.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.003.png new file mode 100644 index 0000000000000000000000000000000000000000..77015bf8ed1ad2446c142218fae8af6e89b10d45 GIT binary patch literal 850 zcmV-Y1FigtP)WFU8GbZ8()Nlj2>E@cM*00Op2L_t(I%RQ4#Yg|9 z#sI+4TM@w+MMZ=Q&qi2lvDVV*6qqby<D`Z(l?i?4Njp*z@q?%6KczZt_BoQGc+DXO`L!hZ^>bjm~&z&R1 z2qM%~Mex35P*oMv>68!xWm!^{B{2q;o?dTZde5alMg;Hi-V;OM^0fiRC?blclqi0B z#M0_ABEr(s>!c95^UfD|?>TYsJv@I!Os${Bdv=C52_X_=Bm*cvI>#LZ1;#Jt@WGQ( zVlZ4|>#I$+MUW5>5tgqF;LJ(JFXpH|?jswwcGIy!Rh?=3{P!Wd?_Nbjj`Sy>?LY_t zRRuMus<67bPSZ5hbdt+xl{ zxto2I%U@ohsw(=YUlL;=#)zu2cVh?NG^i>v+J2B!was?~?)W(8@J&NiS2GUQX2cN5 ctR=?4|H&RjIivcossI2007*qoM6N<$f{E*W*#H0l literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0031.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0031.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1eae968bb56574cc90be2bb2b0a078b85b83ed GIT binary patch literal 901 zcmV;01A6?4P)q;03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00QYrL_t(I%RQ4%Xk1kk zhrfI7yYJ2OHCT{XsxAac-PDaJ#f23LcHv6sMv)qek`bwuhA=cXHO6s5|Cq$ICNQ;X z6oQ48fQxFo5TUpzibbiLG8DRz2ys!NS{&De=IqL)GobUG?b@ubGLkNKo0>K9Y z0RR^QMV_NjD5Vgs0bsLNDTUU8D5W@Zt%WfLV+^%gijE>CemuoPmsSxGwAN@59{hHN zMstd*-|xYg2mmQd3)k-z?;P_pCqXI3r;iau5pk06-nACBmGk8Nes$jRSF1rO zMF>=rw8lF}SrimSfoRRf`Y4Y+ev#lkC`FOyIBP2gd7jhn_i@hA>-D(XIe_<$!#{jf z!L*jvtz9^4vDV_9&+ofWmTepkBl(+^8#s_QmfU7;}~Ni;yB^l>>U3c zd=no6?_8Ndv@rJF6iJ$rqzS6|$=M)MY3jWLV0i5!^-hQO$O!jeI|M)!830TaffhtG z-a91E3wpgCWm)2!=k}jZ@b4?5uy;Gfp||<{*GI^*j4aC-8X7`>vCLn0Uj-nJ6C_Du z9=o!JF^1`1mUwda9lZAg2G2aVfja*g-ENm|w@ZI?jMmb_2;i+n;y4*NKew+z94CWE zIr_md@;s-$a|7=kYnPuwL|8t#fGtZz1l5{f3L;Y7w+U{mk|e>FC3%q#I2aS*ohLE| b?;ZaGu541Ow#tA;00000NkvXXu0mjfdjX97 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.004.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.004.png new file mode 100644 index 0000000000000000000000000000000000000000..5497a8925b060a5924a11c6e072adc0e624d14cc GIT binary patch literal 899 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0111.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0111.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab238ec876d7a4bd7d908d916ca46751bca240f GIT binary patch literal 894 zcmV-^1A+XBP)WFU8GbZ8()Nlj2>E@cM*00QDkL_t(I%RQ4#Xk1kk z$A9qUe#to` zC91NdEK96&T>WdDZFjDqB47+iCSii3~gN^ z#Yl`1Nr_tyJdJY}V=Pv+Z#^Z>9Q%yvOLwD5_;=wXF-Ep5A7^xb8_{|`Rg7F)SSBSw zM6mSFkKYXeF#E_`#1v6g&YvCT#xoPF&MzVV23-T{p1FO9XRDsk=vuN;1Z zZ~wl+#>XodYq)RXNd^X1fh~Z=OwAn8tl8xJ*IwWr1j!P9Iu`T2)CXti3jS}g_#2Wd2${CRmV09lq}^E@NZGeQVVt{>%| z9ls+Yq$I>x@xX&u$;QX%bUJi89Uk60%I(`e#R3u|W@dIlH@Tg&?0n%lzMuPql;oz5 z&5v{Di~HHV=Mv7=SXrK9rr$rRwqFRrlV$nMi+P?CtBRs5YGFPQf=80zLqH_)KcuKp URh*b2v;Y7A07*qoM6N<$f|xy#DF6Tf literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0112.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0112.png new file mode 100644 index 0000000000000000000000000000000000000000..5159b105df06ff79874b578db2470ddcf3987f11 GIT binary patch literal 940 zcmV;d15^BoP)WFU8GbZ8()Nlj2>E@cM*00R(7L_t(I%RQ1`Xq9Cg z$3M^Sd7k&(4o1*iHL{za0&}~tFe3upVjJB!wj?qSGGa;e4;)CPGAT|GWQ1kr9~`Sq zV%h>rw{=s2D?7+y83ooLNW55#+Rl#Wyyt!1=jr0izSqBt&+qg7s>3HnLI{Bn0>K9Y z0e~z7YDt1Zp_D?j27uLDr4(8VqLkw0=>pbTthF>WG@^}RuGm7;nK48Jtu;%F1H^HR zwU((14`ZzXK+@FlLH7X~`nPlT%m$PQjg2`rJ@yX|%zTG22CX$scMP*_U?-x5p1wJv zIIfdnmy zam4k%c5?jChgch-wdV5oYXR8SJIB5k7BJQlyl3mmI3a-d0Tf7*Bvh+aTGoxynSYW$ zfA7QljIG0u*JV0KbIS;sb2#Vd-Tn)=?%sjcf>MHnuxdTaICo-{!j=07nP>UfX`FMc z89PPKb9ssvZzBMyb1WSjBg;JAdxX_o{-GIw!(IDvnInY2C`j4=i&l~$-!s_Y)_#5uj#_)e^j~3)|OvmEZ%lT0*5#0YL39yc+~)5N1&mN3R5Qg=RowU@i^8Lvx>Wgh2J9(v?&qFsHI z%Vo;tGVM?IaOYj0B7k=eiK3Xw%1anyIMlwEErZWvt>Mb-I?~jUBne9&kK%pC#MxH9 zJUNCI!KEo8f-1asB-})^)(}PU&1n$FF)mF>Y6E!G-*<}uddea3$awp*wAKR`7A O0000WFU8GbZ8()Nlj2>E@cM*00PTNL_t(I%SDqNj2croMKDS;TqkX2YDz3x z1SJM7gj#er;>OwtK~Yh(aK_uc=ljkd7vJr+Jv^NEd7t0&%8AA0oO34UOir0h1|a54 zYc1AVTCFywC^+!lac=*76;;I;gHgpf$HBJ_QNer(T301YxxgNQJ7_*Hn|Ryu!d#Eua=@PjTm_JLvcORFx;CCXczTZ;(@_syzLEpI+}eh4&Qzzs@cI zV2pC@$z5>qJ=*Q|sIo<2o4tVqgb*l8hdNi{T#2=o>Fx)OASGrWJU|FF-dB{nw$tnN z==FMR-uWmm?0XRfQV7WL6P-Lv1Y?x@CdT-2eu)^WFU8GbZ8()Nlj2>E@cM*00RF>L_t(I%RQ4@h*fnI z#((R7+57A{4hf+|y$GR!L{L=Xi$M=VP!FMllgeorF$W?HkGzR7h6}R`yneAxW#$w`yWKr+e0n~L2r+`z z8qu2IJ)N?oEK8Ku+_*l-eH+dYLjV!VqQE=XWl$6a?RFdQJ$UAzA_^5_m-;J*hdDR-8TF-2L?2jbe2#ODHS<#}fB7pRcJt{t z$IZq(-UmVmbWsAer)PMKe`s7^hx3jYBj22VoM-kZ&Q44tN+Ti+zk3L_t)+2&9mU=u zRI_=DJa02J-G_6I{P~x<)|8^QxEX5`jIk&Ygvf~_qttp&@Lz2oK1PgE!r`MMd;o~7 zK8;eu7;)osyz$;!eE;`f{PgJ=LZR4NscBw^>P z`$>|NkB@%H)lcRKF>>Ji`z*~Ypo}5SGSVzXp%wr3@1eH1nPzi^W^;wg>?t;^zlS`} zDa(Qoy1+i_dz%;{Wm%BtIjz<$R8f@VdCnilCh$IR?dSWs`P?9ETT7N@{CM?Vs?{ph zYL(vJUMg9}pUb-dNRkwlrU_}9V6A23$`}tk_&Xs4jy-V@=Q=#P^#;k{4qB}ityYUC zcRfpeY&{AH&LN{G8}W9OS}V33*vsYd8N3g-vSl}VzodPYYo8%jJ1T|`5(tWT+s`s@y-AM002ovPDHLkV1jdTlj#5e literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.013.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.013.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9c48ff148cd9e581f184519a41787349d184ff GIT binary patch literal 910 zcmV;919AL`P)WFU8GbZ8()Nlj2>E@cM*00Qz!L_t(I%RQ4{Xw_vH z$3O4$zVGjMj%z7|&_&SIuJWeaAd7+q-nJx+(Ajbtnw!~F8k=iPY&KS{#)?%%tQmLYi;qdqG^T_87L8UUm$J^c6|mBE(~EhrJH)eW56HpvsKKVXbOYmE}2fAuEwGp7)($@09TEXKh6 zd#Bhvu!VhNBg7Ob%aRxZYm3XE6o)2{VvOPI%U3vfV}?roBV4=PvA6JXBPpdwiOwah zi6KxH1w~PGy=Qq&iV>8eaE{=8Cj;jk?RJ|G0x!HefNQmgF|gsa?VT{aXXLvXg7|srx7Hwp zNQ@D6dhudXN&yNHA+OhPyY>)5WOU*PbH`7hltPI{DaFY6+pu*LwSP9_b`7JZX6KW& zmZwKvXKiu0i|xR-(_Fgx2ltm&9^g+vrvo7bLe?OKno(87z5&5L95l`&g>!~L;&u-yc4!=q8QvuPft&GdV71(7Z=E~ywi;= zNAf)5vFq2c)-t(v9)K7lv(FsH`x560vYju|Y&K~&oAj^VWa!{t1c=@vS(Y=rzK$`5 zx#z}s_N{&0M;VsByWFU8GbZ8()Nlj2>E@cM*00NRpL_t(I%RQ4nk5y$5 z#(y*Kzk4(ml-ki)k{C6cSlSpGMgA>BcDak}!frw=Y%NTT-Nr-`0=SR>x=Ji;?EL@| zT*xN)1^fc+<>Y$KdEa?0&h=I^#U#%&&-_Mi?meuvR%)$Ot5hlgrB?c`Ll8s+bq)X) zvm%0XijIvVgg^*^$)v$~PxOJ5Ca5aTIh-mfB|f-ug%|@NcmQ-5GG>*@#yQj}C#S14 z&1;BrtZc92y~jC+sPf6?C7$l>qs|diLPU_=TYJ^}fcFkTz$sK1hJlhZ6%Y};_xKR7 zQpkD0NX_>P8FpXF(zURG)==~G9kvu`5RY>G2y-E$(={og4DwYzoOognugRQ z6sP2zIkvOTY<9$KcEr0|pYiznADGYQ^nHh!@y^wYHCgy_9NQ%74p@$yA{Cu z5l!cm7}K);kF57$8L|O6XT0}lN|BV}@)zFv@)~AFDMro%UDp#YpP_AA+P3Axi>H{k zEecr9=(zv5Yf6!~Q7(M31;8+5x~}8pou4o(m>Iv{+sCPrhhZc%=e)G$oN{pQ7Y=}? sX-FxNhk>r|#>`a-!DGenA&~RHe=dO|f`XfIK>z>%07*qoM6N<$f~-_^E&u=k literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0201.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0201.png new file mode 100644 index 0000000000000000000000000000000000000000..41203938ed05909326313a6392e6fb9a87f08c0a GIT binary patch literal 874 zcmV-w1C{)VP)03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00PcQL_t(I%RQ6LYn^2f z#eXx;*M03$!D=grpo?OK`W0FcR75G18WT;enkF%6G(zzo5JaTAP_a;&8f(=gT52hx zAi;&Zf<(Irf`aJIjnuE?_Hupi`+T^#H<``MVqnfWbB>%|{J4}-D5X$xp-=!wrO>Nu z1VKblV*p^VD9(Szo)25L&1z#u$t$Ap{Pbc!kxkhj7jUpiL9W zxzL(=p39%#%fZPbRMky9{OCUn%^ky9i!laK<(cCzb8T^j;n8(`2#5$We`c{*>#)`! z2pEL|P1BHKqyQp+mJ`*CK;ML#$SI-VV$Ej zF@mU43glcsK;B*WumD)=I5hnti*GBt@BEA~G0MMZmno%S1~hWcs46?A$Jkg{Mnut4 z2CApTw?uB=y-Z1&&2yg;VV>DaFCIQVj;b=gx(DYx);d%K zp-^&W?dmP`njWbXthHzeo)G+Y79PLwBsphN%EZ|4;Qs6QiBUS84xLVi zCyoxYbJr3IzW{eD%Q!MwQq!s48;u z)S0pc%{hzrfvpN55Sxa&SF`0-=PWtpelBw2f5hA|U!~y-aR2}S07*qoM6N<$f|4GK AxBvhE literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0202.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0202.png new file mode 100644 index 0000000000000000000000000000000000000000..87eb59602021a00058a8b0caeb0f597aa956f7b0 GIT binary patch literal 915 zcmV;E18n?>P)WFU8GbZ8()Nlj2>E@cM*00Q?(L_t(I%RQ6dYt?la z$6uf4^Z9%~=jdHpS}us7E=&#W$Iu8Wq7uy3W}3CNt$9`k(mxPLhM9Y!R-PRXr|zAg4UYaQU&K6I}W`` z^_y<2H2_FaczX9NQW}1RvtMjt=g>aNP^ za}K2xYV5>BGR9(zMxj6pBq)l4;5`?<+Qy4LKVpo*SW656?+aoGC=}BD&JfOJ-1ws( zV=dNZXsx;O{aSht4soQqiKRb>G1gKV>}78DAyR@E6DUw0jDMH_jIrz*d5wwpg|7QP z!wvRv>*O>kC3NSF7$YLW>XE(F#-~wAkd!*ChrmTV_jFB@LS*^Wr+Dv)G14xjF&*8o2{M;6HR|XIf2C5seHp3Xpwaa&*NTe8n$0GyR!)qO ztq1mV<9a_SCR(kWu;+OI)O$zAIx@Dc`P(lKuzA~cv=*|=F@I?dPdrt_7>kGi@cXa5 z+w_(quXzi4ffG!G-xy$JhQ)t^&6%TAbO8vnWK68 z5XKms%Xkps)pti(yw*igc=9}_Ha<;^fpcd!bK&$1S_EGdhzRQFu@h+pnze>3bF7qe p4qp`Ht(+CNT5E_QwsR2!{{f4^K4oyan_&O|002ovPDHLkV1glnnAZRR literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.021.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.021.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea9a746fc6dbab6b1ccf962fc2c76842ef2f179 GIT binary patch literal 885 zcmV-*1B(2KP)WFU8GbZ8()Nlj2>E@cM*00P-bL_t(I%RQ4%Xk1kk z#((GBd*7Y$9~4)L8`pwR6a<$F)=IJUPpz#TJ2g#WgVn0|2U=}3L<|&Z8ziKSwJD6& z6jwsE8$rZPYD}pc5J~?x4F{PA9DUo6#kpQSu zqAUsoK}1kv0AMgHA{e8ni17N=X`FL7=V&yV7;DL_Qq1n6*F@^_z`3Y++#u!AEoum6%IoCmrA@jb^EXJA`BfaxW z9DesGR~Emasw!e#vpjbZM0o4O`&etavbe+>SEorSQEY7V&-*!5>5s+Bq(mRd7-C&h zl_fhy_HmQQuV*`C-qSenEWHcgQWgbu2pFT72k*ImGK7GLu)V#98_TPRK=a^kR_88q z^V%A!3P7=P9e_JWU!?r)IwFduG*G>+`H{eD-+xT1BkS{D5klaO&Uto?wYYuc1rkt& zz`yeyo_V!Rj1l>4?u#TMfDDl!QP+_eBhY`Ds6j+Hdi)(`KRHSE9hilq~bZzG+!&-B9ERgb=XSqTXkCpW&S2#Pa9d z`}X)ii%19+MNyI+c#b^J$@84Y_U@vW=O_?EKxWR&r_H;KQ68CSb05mm?7~owVQ|#+ z!!=-%d5;Yt45=BTtS)@bD$r~;@!k`vilQtA3l!%pv5r{h2%+MCy1YV9n-Smh00000 LNkvXXu0mjf)!mTm literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0211.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0211.png new file mode 100644 index 0000000000000000000000000000000000000000..c937aafc17297c2c965d2f8a568b59e3ed0a7717 GIT binary patch literal 921 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0301.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.0301.png new file mode 100644 index 0000000000000000000000000000000000000000..64e4965ff7987886f56ea32fe64dea66132b2fda GIT binary patch literal 908 zcmV;719SX|P)WFU8GbZ8()Nlj2>E@cM*00QtyL_t(I%RQ4#XkAql zg}<}UIrkh=_tyL5g%1|0*?kzO-r0 zFSgC3#AH+isX}Zi0Z|a0byl#xygcN-dwv|;CVRYDYwfkxR;TM1VvLa(BQZqo9qXqt zIg5{xc9x+~D5Vgs0pRYgQVOjFQA%-Oq@V8U39Pkb=P#p;VSVi((zJsIKCGa%MvIW9 zDbK$D4y!*L#99M@_~3cCuMt#D{?Mju;~=%Uy^lmL{fY)aD^Zx<&^u zTC;q19%BsBY;LmfWsTA4SGE~nA1Naulvnp+ZGtftQ3^%mdToZaYxmPx>BGl}`gHts z1klPpWDM6`oyt*b`d3t{cj)T_nD=lR7jD+&tIQoWx0z|&pKPvT`hBE zY7PMB@@*BO1)FwYtt}va{A>c}9Oc!$G@BbVn;Se;?Pu|;Z+UIFpLRPVgus)-$8g>g zL!{l#@Nc|ItF?*x_|*8_7>jED^~YoEJ8%oFg(OK?yLKPXz0fEWhyd{SpFKSC==X(* zX_}Cx3D#PywY)g}G9d)K4@KjixlJ=0000WFU8GbZ8()Nlj2>E@cM*00QetL_t(I%RQ1yY*bYk z$A9N_FZDq}To~QCF)=14C@YtkNHAzyUp%G*qiv@ZB%mZ{f|06e;zEdMa2TkyEes%p z#DoNOgBXL0LTLj=Sh?!Xg=vSI=H7eGcU%meZ}V;b$^WUoIW-+)jKmm;5?MQ1Vd=yf zLW~r7jzXc7LK_1B53oupjL~SN6weP==&kR>IY&Nq31cmZbv$;l#pC-2F~(rDCQVab z-1{y`;&9Fapv%%TKXHz$c(l=Mu5G2K=OL6aJbV3j{`>AU#u${=^bQX&cdCUphW^o7 zN0~@KL|B=;z%S3V#JsfWm9ax# zen!i!MMMZ8aQDUn-h1-7+kEipN0jHM_;=xNj5Vwu+QIU@e~{bvNL<=!;m>a;F-Bvp zWA%FLRW47o0Pw!VTF2gBzM!#X441CKxeiueJJP^=&$`_^X}6bYx0iXLUg7+)le{`q zp(t`hg!Mz)Irj1)qC|=!C%n0dEW3~TWc;fLU~Olb#%Pix?f%utTI;$Y3*f!ST8mE8 zgfvZX&T)A5I8PoJd60$ReMz1dB)i@q%QCVoW8?NdR2Wu@yHXh_@ zG~4#o0VqpPp64u`IK%4XFHf{ET4SqyXsuD>M~}xWFU8GbZ8()Nlj2>E@cM*00Rt3L_t(I%RQ6LYn)Xa zg`fMo_r7o9m=;%}bmOKVqF@sVxGaKHXg;Qzn2$-urkQ*cQOG~w#*JXDrgk#PG?LzW2IF<5{1@;XLQ4&z4p~2!Rj+!3R!FkFdY6 zN*V&qBtfB2N+DVUz+@J;zC;^CWGr#q#?$XlptVMe5XUjE zzI&M{vRG>XkXFm_puElw4$;De{2=Y^PoT7>duEJBH>+r^Q6ltCj51RuD!a);+f`tWJW&&3KTMRq2SF@}398)$6^A@CO-g+jV#^ZfeNH;8DA zwRH9O@JDqMEkbrCPxs6iTZ>hUwX}_AQ6hu@XAn@JUwY=b51ex-rMQqE#u%9(ApFEA&t2*(y~K5gxPR$;lzkW7xs*Z?TFJ&FQIO<W0 zuOUiEy+`WxL)NdC=$abEIfwV2p2-~b#bYvuOSdt`a(Zf*`r;bDl&UnFP1+|0NJBtG z6lv<%y}m?tCQp(i+`Vy&BuRL5vqGAtoSPg5z*mCt6M}-jKpz797kAdS^H#xXXmEy-g9a8GS0O~k|xpkCB9y) z(r7d|Kh(!|xrP9*4fP>W6f-(^6=Mu>9B~%m?e_|7%$I4k9KD4c`wOd_On$puLyKT? zeSBZrM16Se^Kio7T0<1Y{}&m@F|O4jX(j*|bNoV|dW^MrpYk6=u|-j&6RRiy0000< KMNUMnLSTZ*IH^bg literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a243f4841a88c3775399dfc9e496f87992a82a GIT binary patch literal 962 zcmV;z13mnSP)WFU8GbZ8()Nlj2>E@cM*00SmTL_t(I%Po>!PaIVM zK+nB%=VRGjC5=^rg+j+@&vA{01%&lao#GWaHK>?!BFKqr?Vdu#W7L2j1)Tt2!WIm zA>ev6!r|Q8+*_JO8k1s-!D6w-a?<~ZBuOx7iX$Zm!HtD0D5daxpRtv1dDTBg97XKi z(~7LBs>1g@E^U8}a$Q{4!*Lvb(L(^-x;sJp3rCsS80La|4pAkr7A6aqK!8&|Tl}O{W7NuOGt%zVT z;OhKE(yf%=?_XhZ*Dz8_L7HlkB%#agCyrxYF7%RrnCF|Cb8Izk?Tk|`2=W0(UwoG% z_3t1PN$-EBk)#IC^O^QX$z(DFLBRa_1f8mn5C8dun)MotNh#)wgkgwuBvL63bi9S1 z@liMutu5I6yGTp>v`&AYoW#_+m&A6mg0OQjN{wZ@nf8OIg=+MeUjUDM33 zUISp?(;c|3;?CNyTz=|%F7PGUY?gdJPmsyrc|K#&AfD$Vecz)o*G6Tgf;E<#ixU`Q zSS-)d+IWySj`={IB@9EtFyzPLSCqq${@@HoYozD-+})gEvvZT$-L-VI^x?XSCa;|& z(KOv}0^n+V5n~K}?t3^=a(#IODJ4>CO?9@K-r_0B*)o~Oifg3>9;CNuuj>Kekb4{{ kCDXH`0CYFLfz}EC1M#_MZb8?{3IG5A07*qoM6N<$g4HjvC;$Ke literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.101.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.101.png new file mode 100644 index 0000000000000000000000000000000000000000..696bc71679ebb50acff2e80a325dd87d4c2e6d4e GIT binary patch literal 988 zcmV<210(#2P)=x}TdV*803B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00TftL_t(I%Po@MPnC5X zfS>Q@{dErKoMKit76@afDG|e5P+?juFf=M{VUAoEbdjrNv(4p})0TD7uQk_dm7|*o z5~((X4HhjDDI%8qC>>&mV_Y7p07C?n;?S`-FijKNaX8rf z4i7my@m!Y;caLYf%GQYi6b| z5?U_u#7q+a{kjvS6yHqzK^SNNQX5jlTU*dUfDS{-?%qbu_kj?ABBKJ~CabHf0G!MI;g7vCYr$XyI-oC)D29ix6nuJ9>g4r-x`XN+c3tY<_?$vySKg zeTC+i8_+snIk8OJl~KeH#5CDj`6N!%LB0LK$xy@qKGEEBr z%QV3dL=3bJ5YNkUWp$Ll*9|c?`wIXo&%J0MXyPhIF3zmyn^g-mX7%`E=&!ewPq?aLV5ASc%H|Ltv2a&nshqN_sd_ANvElg>_huL zV%rXv7Kd4^TIAJxAE&ac4$CqrvA2-R`IP)q!j1jS{OtXJ)|xu25krLYGu?;?;`=`N zv3zQmpCuE^5WT55mzv~SFwT~O8UVIg4TuOsBRv3A7w^LNbNmmDPgvWpNO)WT0000< KMNUMnLSTY$)4izx literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.102.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.102.png new file mode 100644 index 0000000000000000000000000000000000000000..b63df1a828b12d3cea542833ff762330b711324b GIT binary patch literal 1003 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.112.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.112.png new file mode 100644 index 0000000000000000000000000000000000000000..f14b30d4fb0ca77c31c5b824ae725fb7ff4e60b3 GIT binary patch literal 1047 zcmV+y1nB#TP)WFU8GbZ8()Nlj2>E@cM*00VnTL_t(I%O%kJPgMl~ z!13>S+y~ry=UqmV9z1>kj0_(wjTks!C=82-76MC~%7oU2(`Hd^>PohzHQSsFF^U2u z9&@2ku!$oQ6T2X<$->4XlB5j1*TX&M-gD3C2mgc5K0@iSQd8ZeV(qlDF)@ofs)yOQ zSvJq*6VNmS1O!2#XH5%Rnu6% zr-&P88W02l1cAcx-TYAZ9oN)OHaqi}x^olJFhUrHfxo_mio*vewCyDr3}S>r4Ay)L zg22HeA0W#zT@5W%b{{9R`7bn8CHmPU#PINNY&I*Gy-l3`{4^Ge6-kol)!P9Wo$TY( zrziO3-%B)G&XBu4j^$lt^v7KW0mQb*uTWK$TvsVu-rB*{sdfw_L|#QJgZFz#N=V~C z&v8;CUMGGyp6pe{tk_?IF=#NY-$L9rT?)XvRR`&)YvlacZG2`M$CVrRHl!m45EY_xQ2e z18Hu;7b4K!mXUqFM_4Qtjveae#L4ZX?adx#0eR7Ej+YlE$6Lc;| zAX}}(MkOL!WJDy9`#VZ0sA$LM^WyV)N$r~^=BZWq{eBW7k}(W}Y;h-FZutn)FbM=S z{C+=*@(5AW0{r3i(A%(wk=dUCc(`*nq`A30f1REuTWO{ihr@x(<-#5ohSh4LTfKnQ zYD2Wyti(Fk5x5bc_3j9_e(%FD4E86dlN6hZrfF2Xa}7mNP!xrX;(Yd1mXl*I#?W=7 z>}~l+Cl&`-T)T+J_9}Z%*0C@&id&4tFbs^l%dD7uKwqGPXeoiI;c+}!Ib5IniI|nE z5p`Y1?QoOz;0^o^Kf~u9)8>8S%!NjI>A4I5(k!nbiXsCyy8uXu%|+LP{13CAc3}06 R?SB9O002ovPDHLkV1l;2-A4cb literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.12.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/0.12.png new file mode 100644 index 0000000000000000000000000000000000000000..1582909b7f7b3ddb3a32466104228b1c68ff1920 GIT binary patch literal 1029 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 AGXMYp literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_hot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/1.png similarity index 100% rename from kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_hot.png rename to kfc/src/main/resources/assets/forgecraft/textures/items/steel/1.png diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel/steel_ingot.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel/steel_ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7c3434dec9e3975f0c38bd923fdc6275881092 GIT binary patch literal 562 zcmV-20?qx2P)^DuEEWKB zEw1y#Fw6|O1HgUO%y1WBW=O)!ShbKlBL}{~FmeneA&F>>niFo3szPHVRSOo#g-N_# zZ_J&lA|h~iOk%BtT*#fHcg&2anp6qNpkP^1qo_G?X=|Ag5s!n+!TIM8h7s@gd)r@Z zC3k90YECA54Io-$RozaYYT<6gd7k?~G_LEy-SKcTbAM(g9>L7qnI!<+g_(%YkIp$U zGYnX>0LaX}Hs@9bMkdB$&O(BK51sp=Dqy49_7||ITfk+=#1V~IMg02po7NhwwFj5G zBk|z<2*B>jHRp~ZCnRIeo!9Ix&5g`mNWMGZj%j!0{r-0Q7Qrlz*K4;b+9wfJ^Om)O`$a!8j#(3}mv=$skr?q%6 ze-PG9=r}sj`?1r=AL~{1&w3SA6X` AGXMYp literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond1.png deleted file mode 100644 index e94ab2eb449d80365d7d8fa2cf557725703c039a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmV;{0xA88P);Y|1Gu5xki+*Q$4O?^MUujJ9i&+hKHJ8q8S01S6ptq6jMpdkRj{;!A- zf)YgpRYgQ_b2J2&z7QM)p)U)nimDP*!p4BTh?$|w(lK+6KDvblMO4{rwnzxv{Nx@n zMnVXPD(^hJiv~qQAeVxOAYXoa;V~v+3|zs0f1NX0+C5OJlgBs=^qZ zKfb=8wZ@evwO0On{ERUMZ$7+341tsqH%?EucI|bJk6+_>bBr>KoC`T8Hk%DcM@QtG zx&7J4Ga}^Yk|~M#^SG*%XwZ^xnCCc8}feCA-~AYOVbG%@54;OluW0 z!_4So;O4Yendg~ldPS_Y0r2k^=KzGD0HhSjxscN8bBqbqb!I^Cotz6=N~V-dN{N)x z;l{@>dS9ruk?+69G)+v?#9JS{%REgeV7()sKl2bXyw5p@pbNEJw3{FTQ-d`$i@+kpf^gY&iDI`n)FMJ%bz6Al zok#?xu*PN@#OAJqR7)4#h<$8gY#Rib5F|qBR_pO_&ilU4M;B*pZiX2KX6DELFYisC z&N*jt&g7KIWB_8$RAq@EhzM#70Ibc52*xNXBAlOl6z3eyIU0>7##)vZhw#3Es$z^` zb!7_gJb?6nWwHRYqcmE9grzTLN zjEpT&c#nu6M~_cuYaP}a1OcOvp{{FU2weDVm={KV#9E7Wjuayy)T9^@1Z}licwcbi zj|r@EI9Fhd;qo`@0oXsf#LAy-taId)n45isoFSzQ0$P?O{eGXJ&1cy=d4S)qj*(L2 z>6vE-FhgL&&}m`_gb)}V|CxIazKk)7h$6>Me2_(CP>5i3kgK|;swzZ;@i$)Mo%RAd zp14Iy2_X|hL{(AN;_|l}1{+f%#6ZrOFF)UjsxW_IhT+Hmf}AlbSYv258dz)5PUjB2 zUY~#6FBm@`&Yh%s>S-DyOGeb0YS zzpwneGDUd*6o21*o#ze*jDCWsV|)8WTCI8D9zaoIq9{CHE$pV*Y|>~nD2jrq!-M|D zO=tMwqRJ$MfCOoU;^#zbg&A_k_Bp mtV#xNI-Iklm$Zf}lbL@vEc| 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 QWB>pF07*qoM6N<$f(s{s>Hq)$ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_diamond3.png deleted file mode 100644 index 70bd0d38b2a9c960baf9026d3030274e6facd54c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmV-01JC@4P)!_n^C@!B}on-U3bT?FCI zq>LJ`j^fOC)eIvLTuKnMFl`E@{(;%Y%=Kk>-}n4zah>~Yp3N7&Kjp&Zm7H@X=S)tS zUA-2Y7q1g@rmiXkK}1kv0N@!`L@-8C5#ja47E|4MoO4vy?qIB?unzAh*mG(DV+=+W z?>%pS{wYP_aLxjtO%qsOzR7(8YLxw*Stci+LyY0A&*u5>hc%2bh$>Tyb3D2{K#gIh z*BL2GDUwoR`|53S%G_J|kyl&Oq!@Xyvl#ugFSMp4+!!P~SF%x8BOr(^6QDveA5n*4q#rpCMRFs$!IvhUb<~M!z z9iJOBzQ5Q;RoQ)_jdKOoI#dK9^RT~0UDr%593EzLR8p$be4bCetxD@M=kvR-BpZHtaa?%RJYCDf4d+R-$P zQHsKk|ITEsb>ol|5JJFOi+W$+eSvch=NvDcK2A!B7!x5hR8>uJ;GG uDEv4`?>(VusOoBL!#PWe3F{mwMg9i|)IkhHy7A`#0000sC(113pC zK~y-)Es|YN98~~7&%JZ!W7%CLja7n$LdZ5238F+0=|@TmO0`;RYOVO@i%t9y`UiZh z@ufZ~^@G?*A)ygl3PlOQmKJS8u|R`77${rTac6e!-0K59zu@HLh=I=rY}6Uyjd*l4 z_p%htv07N=@PiXn;uwKI2*Kr+?`Xc=Ouf^JwH6@+jw6w;Jo_3){yxFV{uM@@L7uPf zCU-l>`olk%JUEP$lC`Y`a=+y$WIMR`XqNf%1g@(95TAc>-YTVVq(n%;P~|+QvmX=1 zF;TgU6gvh8fs_&<;CeK|;oRHYTbe~0lVXg)VzI_@(*KAgNib=OBP9sIjfE>HrSN>8 zv6XLm)jviYMeNi7?zjr zVBHA$=JEgl<7NmU1l@a%VN(M@X>W;ZnV&Feim{fKeTPW21}p##P8*WPY;SJ^kQ#$d zHP%{sN+&60OMvA@ah$Pm5Jw8;(sBBpIfYURSt|WYxg60SoMHUY5XKm$7Do8_i62l( zQG2r%rCg$|h+r|`>ik90t(4#IUtx0BFj7iEnrf0Hq08+jj$>Xf^pby==bM^yY&CA} zj8iQL@&QL*e3v8j?;sON?|-L}qz2FPnf6D?WHJOn!2J3IovM!y|M`TP^%{&xDdvlW zVTg1jQYj8}yoI0fQ8*HkjdbAK4Z}!p64Td-=i_t zMrEdgHI|!;6BuJyEYH%~c#t@b`9Pi}3`4>&jB`9dmJex)3c)hbT__%)(QUu@wsPiLD$I&00000NkvXXu0mjf^E9ER diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1.png deleted file mode 100644 index 3a88325b6ea704ab62af488b48e833613a3fa51b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 965 zcmV;$13LVPP)Fc@$d7T=bU@FmupxWN|SaYaFN53#G0W&fjL(|WlhPgny%riny*@K za&5h`R;@B7tkq<&kRky$D1L=h%J`+Y7?y$pFPeCP>+Rli&pFTOg?;~m&%UDec&(q> zk;3Y-C@HMquhb}W`E%^PQBB&m5eS43^lbT_!pnu^8b$cNj}QXGkjN(=*hASuHM5V* za?WVx(X5?hUe09k_7#RoJCIT`ADbfck4*BzC0tz@VKO<0X(|Au z(v6gFdYS0PV%{(AKq74nF$_HOXdmaLT4241j0v4UCO(@gEG%XCnpwDds;L`LU z#ao}_{H+dJ%&!n3f$zgmekTZ!XErvHN~PErsipGJEA(G&Lu-$!x>hbO^-#2V7XYQ} zU!-8Xfaf$KmHtE6P=T_U4cL)X;?Q z`)I8Z_zWzyvwLk7lK)#>T?N3?8rO62eV_99OT@!*emMCJ&&VASiSGJ8Kt zDP%l;hh#Fv@nhZeuC$@G=KNF_zpOdK+M|canaDvYlT<84a3;vWWIJBWW9(W#L-%$d zr4)Fc%h0E%c*@+1ZQE?muOMVuTL{zx1+VDqoD~yN`|j@A*DpRu1i)pi;Cs_B*RI@8}8EP<5S%5E>XOx9DrTs n3rH#XZR8vPJEQw>U5Ebw{g+#6HOV1<00000NkvXXu0mjfy|T!5 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_diamond1_redstone1.png deleted file mode 100644 index 745259b2bca758460b533fae24ce9d5ed6561157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 985 zcmV;~119{5P)jEQg*P+vDR7` zeuFjX`TS}1F_}8abJvTRk3>*VP!xr>jC#_C(@9b@aU2IlQBYNZc-u^>dyvHxjWdmOYe-h>wrQG!4!NYB+KD7`kqt zswy3J697YFogDe>3ohPlrcVEwq9;;u9Oz0t4+@CJ#V4^Wiz06sFOzgLcQ95T{!iP|=Ez8U}?R#zeTzd#@Wz|n$_v12xlkH^M{46&fN7FQ}-00xYzG_@uahzCTVvo%-YF^=o zzES*l644BUoT|@cw%cG7EDvLhc#`Iwy0EuVonB7v25CT=byGhe@0CY_QRUm|l zlrcmkGS6RuJ~~dn!{FpE0L;Dd7P_wS$JB4MJpn7=$v!}K5nFc;otk7_ndpf3zCgBsX%0yl0m_g$YF{hV_|}nrh>AR6gJlwA6n@L z*pj}uR-0@UwY8MhGByfuGiG1OSLbgwpFuq}&i^kVH z6TgMPP=M*V5qk34ky7%{{4jxQ0n%1%=EW0lG8n#!X(|9@H0q$W$IO*8_ zzRa&P?f4JxLBt3=4|>u%K!C{qG2h!YUXD^G#YYbCUPC!~Yj)u~T*jsM53y-g0ftf- zhQZ)yH<|0VvEs;HzHfY;S z+Q7<*Ag=3T_urYU z-D|A#JJJaFK9$nTEQb`1xTgT5Ddds^D_mcRX5CLE^1MlrmYKU&cS? zr+cssciv^-eiuEf+L2NUT-TxJqh@l=B5d2{!r3o~or~quAM%(_nJ26203u%CkM&b` z_5$0JN|8}X!O}jA{2hh$mfugW)ydOVCQ2y=Ca=)=?s@z@kFYpBgEKnMh;IOQ$|dfB zKv@tr-jVk&%*zZQE4W^b!h%2!%rA?=K-73Q^?Wk9HiSW%(GL zz0PdTEQtw;tV8m~+i#I-WfP4$q~1^E;V0+mw%gEJ)Bbr2hLrUF)rpi6ar(n1Z+htt zPX;z}FWOH={8j+&KIlWoXwu_yu_HDBN}2rDcaglDVw7p3wafpCwsG`|xO=Gp0000< KMNUMnLSTY3Jlz}s diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_emerald1_redstone2.png deleted file mode 100644 index 554bdc6a168c7432739d962219857022529f2d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmV;z13mnSP)C{`}hSUWI*n63pm0z<=Mgtu14C~E_zPB)lqmaXQR zmu9y)*DA`eA0jBk))1O!qXrd)#FWdjLMJ$q*;0<24(EM2@1-B;Kltn;>fWgHtr82p zN2fTylFQZz)3IsRUE9KMk@OYS)`i^l&XB$#VX67ac{}Lt^DrWzo*BDLrqiHGt;=K=BeN|P_Pkn^fxQDLA zR^E{mT-R$1q%r>K*OeTZpx+qeD z5bQhn3aYB28wO41j}ceN*jW%DPcQov%d)7B)R9i7`F^qs&vW^v?-J*4#wp4xr#XIv zvg}RdUdZK%yK4dP&U;*SE+U`2S_i=11N#s{@WuGA_^!wC%2!FQOcHKug@FW~?^Bpt zPR4NnAAtLm)hty48(w~Z%|Od+HjeAy`#$TF+xW7njnvII8B6qWL%qSbM@OJMN^mwC z`$ZKsnfw<`)2K3Q>AT%U#g0Y>CwfSgr08iL=0d|p)Eo_K&cd8C+4@W=<}#CDUXb~$ zZlsig14j>%$z)ioRbksU55+2p+=@_gGKbGk#xXu?K|}>+#N@FxPf@XAD>5UgT-c7p z^=OI37&Lkb1Ok|*$>{ZdO4N-!_xE1v_tdcPd_9Rsg7zyTNJS!5l}CyfU0T$XsQZ|L`ntEbCI^a$d&mKe#;tUbb0`Q+t0oL zb)sC(kNW;*{39n{xXpzqAqg?#6AJ6mHxwe9$ zoHA_NrlCzIl}eFHrT98=iiW0LRGGDSj)ORMqQxJZ9bh(ZmV&7QmS+{BC=%E80Qlq9 z5QTS@GLY%!QDX~IN)#y>nu$|(e+|-c9HOBpm5HZGhtdT8C(a}%xaN-W;JxbsDA#I` kQZhK)3qWa3HI9?vKN#~*$QJkVZU6uP07*qoM6N<$f;OYTJpcdz diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis1.png deleted file mode 100644 index 286bdf79a49f8c1879be0f2e5e66e221f3b326a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmV;}0w?{6P)K|HIu0Az)^RDq{@Plv~HAq?{2Ef_ukZQ58P=_&0ngULEfpQ(Xj!5JDiti1$uw zm3gy45cJ^SfSePmMu?FZ)1ESbneoqy&j>Lx+;>b^SPSSp&ulgudhe{)YtH^S#=X;8 zTg+^Yi$^E))@ZHaz4Q0;Pcc(OlCYN#sij_!H^pebci%7hTeIgwJ{7p2z5JkR^X-`{(0 zDVHj(R#cVHT0{4-RZ1zZqe0G@Rx9&%Idc2Xuf!Pe?t~a=t@1xxtSDeSZIQ140000< KMNUMnLSTZAeN6WN diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis2.png deleted file mode 100644 index ec16fe97857ca353497e5dd99ea5fd22ebcba459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmV+>1KIqEP)+lL-5?aD zsuJH`c$B)XnayTYRmFVIDpi%(d+*1n7IfEC@q&avs%yTxxP;(^oHI{7bBV>`CX2;Q z`o8D<7l&xumSLE_p{i_MUBT2ChMu-<0g%2QXxo-?94SS)^80=Oo_l_Sx~}>4mwhx% zL(??uzyB<=y5{dcUj^War#sx+@0>OOk*O@Ig%BblLW}_sk7_~0BOb()A#-D;Ip4UFqKP$JdRU0PMmz#L?#_#3{+LRr3NV_@;K5D kJ-2L)F`z{WF``=dA0%r|`@mj@?*IS*07*qoM6N<$f_!UeKL7v# diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_lapis3.png deleted file mode 100644 index ac1f2f0053dc34f0bd719e5127fc115bb2379944..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 871 zcmV-t1DO1YP)xQb|pdMiB}M#u`Y1reaY9ziO!xsnXI~D|jRLGraAE zAYKTOVg-pNm7=jIid1dd7;1y{q7)_cBTZr|n8|SF%-MUtUQArq3)W)sEc5~0Jglw7_1e<7{lr5VZ8Tv?^$1c3+o(<^Zn#`4H3aw%fENt zCeL%c_ne)59Pb?f=ER4S>YT%h@cGmbuOGgOwU%~S(k=?bbQ@p{zg_HO?1{etaL!S- z+ek{0loE<^@U=fkny9LZnW-VH2w$BU1!Hi|vFGUxtaYd=7tU?NV33}k9`Zb6`Nk2P z_jsRSt!1!(8Gx537P+%}9Opfn64O&dsKW5rG8mAuEcxZfyXhZ1MNt$iU3-<3BBSGL z-7!O8d;dvd2!s%rICzEil{c|gFh&qnWpsR%7$e3Q1_n=|F#!-lAf-f#k@=tRL4hg+ zdUt$GjER&I!j=~1ws#X#BE*2I^3B(eAz}b!WPA-&v0_+XIZnM+!#RgEo0}9xo8hr# zLI|9mezaRngjXgO@jk;j&!r3ZVo)?Ct}o5fsX9beM8ptdpsFf5oenSTyGXm;X6^Pd zLa10>egjoy{K#GV{gm?zuz=RfULP-aGMuiga=C-jQYb x|7fss>nJ<#`;@X%ZXL+uy(7hh^PZF<{{cD2Xudyt!-xO?002ovPDHLkV1oT2iCX{w diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone1.png deleted file mode 100644 index e416823af4bdee44c9c104a1cf6d61ddbfb30818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714 zcmV;*0yX`KP)98`~7LT{{5x9JMNBm$8i9fJ0)iXK}1k90NCFZ5zG`7 z5$?WzM2wLbBPS<2EChxSdHdB3s*0Ims-%>NF)|F17y|(EAEd5J6QD*+4=F_^0I95 zetmJ{B7!@Z8Dd6njkOd?DM#%?N_g)eLdls{D`rZ_Iq#7orIbx?Flw!vnYCge&}yak zj;aD+ridu&zIVMfM1;@&{2p%|fLbeeZl2Ryqx+W6S}WkR*0+IhNM{>#{qDEaR&jUC zjN1=B2Atj+xO4Bj`vf!2{&+zM0UgI%=6RvkO5J0MD5}a=7Y~SWAcVN3f%D|@ic$*y ze)tK^9aR+`JU(Y#S4t`5oLQEIoHIXMJm&7huW@&R+18a1IXioc)6+Yg?oN@*t0z9} zcAKLi9u(1gJML>;2_f?NUza?6?}C_4h;chpOsTb!b736cFph6HdHIZ-3-dfvN~ZVC zu%F&}h>0pYLbwJwJAnQyCdVP+im*Okzd_C8QBSF*iXeBGOf8AR)yVBMe6n z8WT~B2}UF=82dw-R0zCDtAh*-UPO{tipE5No^#xLpZ$H`>SE8dt{01EJ?mZO$mb_j zRZ&$mDT)FRRq0n127@sM>l^?q_Znkx&SH%*>^|Q@L=X`M1_p87v)F!+)u&Hkt;IRV z?SI}S&vQhCb3Z(07GoL^?>$vn zVpEEwlu(ol3!6!rsOy>(BhFfWIP(m9CO^b`PnPGrf4+sPQk5kJgB=h1BM;1CjK!)hTaOWA46Q4VqcH&xLSWUYSyGI&f4&z5>JS)NbAlLC zGmz!F{L6g+9NDsu5Cf{p+4&80-`N2uV;h%1l|3Kt#XHA6U!K5wkL`526h+C?>u(Z5 z;Ja_uHE7myVPP{O8Qu#Ezuu2QIXrcc_QetIZre#z#ae6l=)fd(UDNOPdG)p5D9e(i zTico5e}LT+AE2sieBs|FD_(eUQ$Ct}y200000NkvXXu0mjf=rwrY diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone2.png deleted file mode 100644 index d8817728e9a8c8efd7e8decbfec622e895605278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 752 zcmVYg+Z6T>6$8am<~oES+^5b4kz(h!g~EkE4}orY+m;Kc~- zpc4}lXNF+nK!?5p58xEjx!zOfRPADL?!7gsN&S3#eM=61{JGXzskKtAQmFuxTIo|l z5JUuZ4geNsMFi&*6%nqz-X(-U2!Y9@#d*)xpAUKe*JD%_=NwLz7$Z0DZ__k^5Ig|# z_}PouXmXoJtuYDINsBj$5lkA6`XU3b66=1eNW%_tJ#|vsb(NTpAseK zkwHp{uInhJFrUv!^EqaP^;h>sm^rig$1Wvja?V&O063?JC|c`Cef{=zM1=KM_o&7A z=KPoBoH=#;0{(uB)v=!;XP{DwVP?qVXFpXD0Y*siXiB|a`%0wL^!shl3_~1RJ z|DGjXxQyK0|F$kGRMk~&X2!<$4Gwn?7WG$PbfA=is)9OHRk*#k!!Qi=eb16fN{L5b z?{V$U7V&6`cW!jW2Tq?p!`j*@*4j0cVocASqiF(d+cKF{p}Ynzj?#{R}XMb7vcl}g7@GQRfk!@r_`^^ zTGsR5N1wo72efUwQr7#C5r6?XXPPFWF*d~55JF(*pYIn*jQtO{$ax^89(n#9v)PQ< zY{tpS37>9!jsli5^6+pvim>>-6kF}fwM?NS^-=MKoj&Khisqcsw(aU-jFCJHq&_Vk iP(tunF?pZ7iI-1A+o142z%Zi3J@t)vnc83eVdl?naB6kJFl2}4PSGMRls zgGmidH3rT^3=9MjfvIhRR$&yyw2>ijQ)B3&n7+R6-h2MExbw}~9C&#Tyzle;j?8}g zSiW@|0Q!Y3?G%<=3C*D=O0s%u8WAu8Pjh@h&7bc0xH zsYfF;rASJNaQJ1u`}s*yPPA=HiV>p8pcfOy5_yN&hpov zFX0#GvBq>+v5rR{|Cg%TLRD5MF)_bm2j5=VLs^#edOeDwz&T4%c(!f-oc|6SCgsd4 zmrkQbQETyKi7!2J=G<&n?P8iz1Yq*ZWsa<_GIQ!3jM0tYH~^frU=&qDN)fH=hT(8X z+qT4*xc=My{PWyF*t?aoEcxZfd#S35s;Zcnn4njd{Bh%X0E)t+-WPaZ;GARn+8hr& z_&X^jW*&Qu5LzDEa|^lfA%nqy!C=7p`a1o&yHFs7fV?|9pT{bVQDRJ+_xOxI&evb< zV&DFiF5*DpJvM}ZZWN4B%Cg*i=)EVjEp<}^uy6kg&RJ4SSmy|#<$oO~MnwjpDzg9p N002ovPDHLkV1hd_f8_uG diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/steel_ingot_redstone3.png deleted file mode 100644 index c8008901fca83d5e772dece220c52b3d93d76197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 804 zcmV+<1Ka$GP)d4>{*d&Y7Gt znG8V8nZ|nrK}1kv0N}7!L@-8C5#ju^5!PC)we)%wrYKnc;|3>w*+*3|#$Z%=?Wa9f zHrFUii?sy++O`3nzr;M;MU5h=RMjioduN^D!2v~4V2nXjspl8i8QnsSp>(d>ETzcK zm$w+6dcj94OQf7=+m;j~TN~FwgiGs}DT;#9IW9aK(c61~pH4e@yWj6;5g})~pNt{J zNZT|tO*7M8I!8_kL}c@vHu3kb!SbTbw920lm`iu|)$M(O2=PyaQ^QR4g?adp+m`EuhTi-m& zA_54iirX9G&n(OuptDTWAR;WSeF~?KGyeM|{>%{BxVe*$EL7E*ZJ+$M$KLSvu}ryUl;^e?ZEakDqLyMp^iE4OdmT$|0Ly-OZ|`*R#aT)JD!&5IvDUwn`RoT71O=w$G6&Y>a&#Kz#I|O%B&N)Kc;u}BX iU~NH)iNab^iu?~LoI;RH(||t!0000z03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00S&ZL_t(I%RSJ$ZyR+0 z!11r|;n)p6zfzx_I*%$Q57HO|8A1hO05&!z28OIGh=Gj(2?o>&iAtRi3x5I<3PS3D zfQU*}aZ2ijvtm0J=bD80cTVg(-;;sI_Ye3C-^86eU&f|s0x_l14EbCRquu7EMuRAh zktB)p^K-hr9(w6Ig+h^La}T{-LP|(TmemI$G%drz!UEHo3@yX&y5Wf{dmy znM_C|Bmnl?+W-V%h?GjFkYtHkZHceHU1K;L^82GlXwy6N`^U5mgD?n~tyCC04gfDK zeS@l~$g+&2Wi2#>qH!#g(lB$Xl z1|jKm8cCArcDp21mGxWeD6#@^jOY0nz4vLgKBlaf$>p+GmPNh3L9@AsG?`2&7K=Ep zgX=gXpZkI^2su1FKp>D#d%OuC8(+E&%ZO)*7qGdA7RjUAu z$73EgYowFk{paF%?@*rkiJLbU5kjEIGI{+gPWm5Ey>SD@4+31*C6P$*^x%M7YaxoV zf;aK#^?GR2J48{6Uw3y|UteeJI1K;#h}qc+=J7Go%=H<G&C*C#o&T443H(6(P#{S q@u$JtZwOkg4tlA?{QNxDiN)VpSAnVOq%ooZ0000WFU8GbZ8()Nlj2>E@cM*00UD=L_t(I%QezTZyN;w zK;h@H$M!UM#&J@Q6y&#YfAXUnR0|%BnLX|)*L>!PfBQEd{ z5D`Cx4UP#<{?0Ac3?BP)H1KxLfj?K-_Y+cs@n_zI1VZR^k@Q|fM zf`M%#2m;k=m0UiL8oWp#FhVM|iy8_dI0S@Br9|rB4P@EJ^z<}CJ|9mf68vy)7+o(? zGYovP%#i<691a11y~7OvtbQNCD|ty=`I=}n!WUm%rqO8daAya3Xp2&*$f2guw=BHE z9on4^09PVkBDzGJPA7t_$XKR{APBtn@*ilLhD#JtRTZx!kvh1ArfCFKmA++>&1Q+m z7t!@1Zc#+&TYV%+V*luMa=9FCQ6zRXM&>BNwWTF)y}FD0sgK#;-$#}el7GHJrBWdt zUnHL|;9OgK_O>F+ghOd6bbRaJCd zr%+m<*XvO#m04b1=KA$j_6|45{*xsdjk3O4M)518QoF?Ci_~fc=iM$YNs@4TJWPg@ zq%(Cgxi?u@_!(U-2>WXtmlny&s|Y6(++;3i$$(bb*P`ucT7D%+Jl?OeC(|HVlJ3ZG$1t15DGz z9@sbrKQS^Apnv`&_P}N^=;IbePEM)}4+rpiy*&JTo+oPoH`c!+7z{EN3K0kdc<|dx zjE_$+J3C7>8bOg2To>+OS|$a(0FEb}_^002ovPDHLkV1h;Yx55Ab literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0003.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0003.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1b2d63e1bccbff082c8a763862c9b5ae7b1a5d GIT binary patch literal 1020 zcmVWFU8GbZ8()Nlj2>E@cM*00Ur2L_t(I%Qe#9Pa6dQ z!0~UdcZCAGYfHJ7azGm@u)(k>CTtNOL}Q{RlW5}4EFl_We9-vruS7EzG;zjFdHGV?G)xhy>TwkQq=_HmskFM*eJ|9DY zDCu;Xsj1V%*C%mE5<;ul!s&F9*mwiOFmOl`6O$8Y{T7c+Pjmj&RUADRNhA`;vO@Il zSIFn{JUMHT$z%}@4-eVenIokANd4ddN6$rC%@$+f7=PWq&Dy;+`g<=kK0Z#VQsT9R zI~?&b`Fx(Ksndx2wHnVpT_KU!ARK;#?ZOvCqZX3r06^0;48tH_dwZ+WL3}?@tA)Z=~PzolHRa9FQn zKX>k>&m~F1ZcAWU7Rk+b2o34vayf>z1fnRC&1Cs^Gs57&E*%{X(&-vcJl;jlvJl$9 zPGN^?wMrxsVSer^)oPWN@F}(0KK9NpQCtdxfhgHb7N@fd&3}_vY?ZOmQ3T7fD3wdZ z^+h&PDQdME%|;Vj<1>6dm7BL#uwmo)xW(@Nb7YJRU0vOHy|JhGDR`w};#J9Xr8MpAACe0(2tqRA$a?|6n8(s>9|6#$HUd%=b_yuzCM9AsIlCi3e literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0004.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0004.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb4d558e91cb600c3ab3f19f0b84fba3d7f4e3b GIT binary patch literal 1039 zcmV+q1n~QbP)WFU8GbZ8()Nlj2>E@cM*00VPLL_t(I%QeAGOj`v2 z!0~?{ZAS-v{iKDi8=dQbQNW@x>2%GEo54hPSTugd#U^H=2Z=WiZhmGgXd=cXxESLO zF7fDLnxRpWi5qdt#KIcDwzTC@y3)1pm6evh*5}FJPd70!sY#LqXt-QXY*s7rM1tX9 zkbgA|K@cbu3Zyd`+^!Dnb_dbu0`5*1f=)ol<+4PVUqKYjba!{NUKr)UV340@Y)H~N zC0WKSinLijL#Gn}h$SKbG@4C>R#Pj%{>%9N2l(c@Lv%W(_ zqqGX=xU(Dpp#Q+P81x2OT3Qf9i%3IN5d?vkp1n;x9!GC55Q|56!21=^-07ioWq1k9+GMQLPzDzouCc5-0fq?+tt}G7?4|D2;1&r2QFHx&jdGv6QOP2%m`lI}L^CpXT7U^GsjwH4V5!^JFgRsF3{W4 zgOJT;DVB=F;t`UG1eHpKYjY>isqf=u>VdBR^oX+7Lw%zi*XaXP@Hnu*&e@CRVG3dUYC;`894wyU+_Wn9XKNiU-~J z_=IM$Sdj9kvA0h$zu1Gxc!mE}>(9{X{GIsPX?nW9W@~E;oBK;Pvv1+uvj@G}Xi%%w z$fSN^)40OGp(c8LFZG=|nM?+0!^1w`IPJy=HhX~WYL)W6ckp<+kk;1`oE=UI<+m{z zui&uTx%%5N&@^Hz0la&?oP7EZtZknY3Wb=SIgZcgL$BA9znf>5(TMKc_=Hwg6z&y^ z?DzQ)MGM7Jk!G`j${E^seF{MSZk`U8lhxG}ZkG#((@Ab4$A8D$g`K$~dU^l=002ov JPDHLkV1g1J=fnU2 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0005.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0005.png new file mode 100644 index 0000000000000000000000000000000000000000..6eac5acb70f621988f582a2083e161d9b4e5e42b GIT binary patch literal 1049 zcmV+!1m^pRP)WFU8GbZ8()Nlj2>E@cM*00VtVL_t(I%RSBSPm~1! z!0|5+=XD<3!*Rm>;uQ1_;#cEj(l`{crLrN_T+GH?PPRs_7eX(pxwXvJ%292)xd=9w zFPb&yo60W1HiQK@Ep|JO1G_ssj)&*q1iC{Gko(oUKL5ZctEcBmMv^2TgI-@izE+Dr z5MaOEPCAp}#*fv!-aNuwD1<>@h)%Z)w|f$UQIC)%AS^D*_Cx9rttXAA{N*Q1)WIYTF#!HA{>#K@U(O0 ztx5c$%Y?#EUH%PshuS#exP#GX#O48jT35&-wF# z69s_R-@&VmzmuaLp}}z;UG7!x+&jrTXC9MDPct28Cs*0So{|q48#j|k_T!s#VKIS1 z)Mz;M#zUmY1$L&d5DGeZs(g&aRLb!1Fq_-07z-}&aK4jh)J4U<>*O201>VC_RD_U7 zCb{+V%Y=eXR@b|!u9(I**GXmB6r0^znGNpFpDcf5_(WA|}+swgj=q^|Y}&z}#WR;#)F%TZd740UX0WFU8GbZ8()Nlj2>E@cM*00S>cL_t(I%T1F@Xd?vx zK;Qg!lhn*i5}Qf7>5rsSD%&JtFYZ+@o;-LHToIu?2%;2ZEfoBqtUW1|trWZp;z_Rx zf(N(YWu3xq?5168rn^HE=}g-sGs%2Bh>P$3Ztn?OTVE!&Z379#;bCY%S`|BGlB0TY;W%*Q5@qq4xZ<+w6w%%G{SXVKH1sk z*4wLGoL>MiJu{8(59yxvsMnYI^WXq60p9)eBRtQe*=*vvE}rLcadE-=&9}Jy%`Td* zq3If(;|}R`235^sS^F%SCc=jsn~CRn6elO~eIEn?Q4kRXP&JkQWuGvNh~kjj55MOf z;}uG!5@8q;#v$^5VMww>u~aF+V?t>$=F2M7dn1W7|}&T|*p)A-?Yu1Oe-J z?@+B)SzKIXer_H~lu#6f+Hb#dcW;keK93~JoOZiRO_i}vP7v;Vy_@te`y3n`P{`+z z6$M?>@Phz=Z1x#~U_>U9!Llq&)5NxI0^k4l1^3M5?_Li8RaGe&B?iMG_> literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0011.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0011.png new file mode 100644 index 0000000000000000000000000000000000000000..2b23b0b66f7ebd231007a1076ae13db0b869cf6b GIT binary patch literal 1005 zcmVWFU8GbZ8()Nlj2>E@cM*00U7;L_t(I%Pr5}Ya0as z!0~VHE?v?tmtQlNbp5fCtUshpZ?51RiVxF04ff!hFrf%7`k;)V$Z#+eW%fnIvPxn2 zB8niwe34D1sJImiV_s)g>xItt+8t7xyVN9im&=_G`uPt&k-51KLc=hCkX-H%=~N26 zTIHCk5`-awAh5f;%b%N@D7i<-WU^@5DoQ?w5D^eebB7PNuOrI|1_uY}NhFw5Rcvev;dl$Lq2AX=Ds;<-V zeR>N8nynT9j}|{6Dn$`R5kXGM`0X}=Ah2}jG`g-MMWZN+LM$F92tsBrT_mR{bbO!L zZ|5kNCoqg{x}s4c@4Wk7Xw_;=PO4PySMXey@$v+cC_xzFd2RH~b2RPO$SZkLsU)Up zlF#SSv{eMxb;)M4w44@Bt3}trD|Gx08yg$^va-Ux-|kV!E-*Se%AU0cfXADdrb)Rx zfz)g?C>D#Xt*uci9p$C(hnd+qMO5ng@4K>$9*GcyAx_Hy!20V|(&-d6%R*2T1;a4d z+Bt#edCX*=VQOlMlP8~`Qk_Oqrzn+5j0_KxOeLAUbdhp-g8rrNa2VhG56iN6Yhj)@UYudSz7IhEKtGPtqWa)CPoCJ}_w{vz5P0S7%hBpH@9%Trg=wx_TO^rEl1wGp+T0=@@1`$*3r$;PWOx`+RUf4@Si_N zDxD?_0^031rfKqe@j2R-&6cr6p->_8D5+!;$8`ZnBo5-b9^KvDeEId` zoH_jihGF134x%U`Sv8BgZ37_7GP0axueL|0<0A?pjYbmy{STdIpSDWFU8GbZ8()Nlj2>E@cM*00U!5L_t(I%QceSYg=^y zK+nC&?RwkhcawDHrs+3HTj$o8x`OLiCo(Mv1Mx}lq0k3gw&KUwldYA4;AZhb5vCM| zFFxsB6j7&>s?#-~j+%~|CAY;Uw`th2Hc68-X>S@Iihsa4aNtODb05}B(*$aGJV$Xk zofxaD41_`))N07GOeT|IJ&{27JcirdOeC_5?)4x`GIBbd;-ihP5W+!cXD5vg2Tz7V z{IKAnJpT#X*(?qrXmoynB*_4*td0R-RjbJLYCV@aUL+9kbN%yU26jb3*LCVumB{^3CT6Da z=sH!)V&ca+g28@FbAviXL9SX=R8=Lq_6pPE7pPMdj-NPAd@aON0|Sh{yv+3E1ESF= zLTEf&_=0pgO)%I`B9X*)=FHhyO$dD680pPTjyT@O=~&{3Vi1qV$vn!??laJJom4u- z@X#(>g*VwPe2d@j$6hKH@%#Nmqfr8Z9xnXU%XsP>ioNcz_m41!B$3XXMKnYJ$Ub-j zm&?g^HjAw5I;LroOr2tHZ;$cj=NKFuEg(CN3F&6HQ;1CWXk!5Z#wjhLHcJeiT3;SSnj9fmC zTmxQzca~f(M<^8H-0=70ayhE<4pp0eq}Kn#^rWnv)jo(x`fZyg1NDQbnVmmnwfr;hpCG+yWQ9o1*fL5bg!4k zdzNuHny6IvXlQ8Q#@A1Ce&iQS)1*=^W3$z t0bs-po_{7wH2N>P$3sU)2kFf;{{cKuSMg7KhkyV8002ovPDHLkV1fu3*f;a73(03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00VPLL_t(I%Qcc+Pg?~5 zKu>Q!#)WcQpxl;HMjJX{@?n`gz#_)U+>0iL#4KtINn--);>@!6;1FG6G8Xh!52H{h*YtD{Y~pr7iV=_yf*KPI6R}lb6boNCYS&%O+}! zM*M*QJuVk}b zxHVHl?#dLKsT9?cM3wPdR4M@gZ@>*eu~b5+5Gy!y@GYFq7Owt$7)#w0|IW`NRoz5! zy+pw8r&KIbAza|$at8n}wET!xqeZP&BS;2`VxfQ_2+TY4-_Sgkk98?e>#A}_7l0C9d!DOl!_(VoC^QU&9V4!k%qb{ z+S}Vnrjoofbe~=q~f1aQ)6T^l|nF^%|s#*!qGl&wdOb~655C7f9tTI*-p;b@^D*<_1l3YCin73+*#;y@;{2&k z2(4a&VK?ba2B8d`{`x%WbQ+h-#o)jV(&;oM;Y-dAySaGv3I?NrCaZ^VD2ympVzb;s zQ5I-xZAFMiqntYVE?&Qzl|X=OHcPQkL{<0-vsvcYkz1%xvA0*^`;F^_f*~p^t1y{N z{Oz%_zZNh!a2;8eX|Py0_~&iz-XEf|(Z&bwKf>v3!5|qJ>+<0ZxCuwXpxWnD6BCnV zgTX)~K0>Yj67!3#h`Q=V7-VZ}iyHHHJdJ*gt+5fIP%M(mtWxT!)Y)v+X-ndI<=xzG?`nWlB9J}3)Mx!CV5$AwThw8$_WI2;g^DLRf zVYeem29ldeN~IzN#?c@627vfRoO;>BlP9Z~WtlpYiP(CK{{S?ZUO?n9BG~`{002ov JPDHLkV1mC|-jo0U literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0014.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0014.png new file mode 100644 index 0000000000000000000000000000000000000000..c25a8a66306f5fa30e07aa25cbad6d212100cc8a GIT binary patch literal 1048 zcmV+z1n2vSP)o8JHc03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00VqUL_t(I%QeASOxtw; z!0~T?Jw^xo%TfL31g`~Y%z$= zEbd_@i!a7xZtTcN7#qYb3l`QvX&F5zrDLTnR7wx)lb?^mZaqJPArPTZkh9BwAW4N(RaLRP_5sgYty~`~ zCV6gz^=OnrNg}`KI}{25fYW0GAd}4^^0avz+x0pYOD*Rw?#5U;!r#-=NcqHgfIYRppjN3-DwPOHCy_~~5kfHb-~ev78@d-(m< z^T-ARyG&CYy7;x$tWf4HgG~-Mh!^!&%Bp zM`&zpBod8qr29T8z9bY1(c0RA_$QIzm6xL|E-qrR)G;_yPhHhdY-K(tlg>~-If2*f zWn!|N&G;t1(ECKg{iM@r)}v8`!C)W|2;dL4lS-xNE#1$8_b7WTmvDM)IIPd1DL75X zz7?Dv8-v3#Me0V7_j7x) zoP(V=`KIq9(=x@sLO)7@snKp5(41s=^(xVD zKRb8kqu1-1m@**%f@`1B)o~SBmMJ$HIkM5mo%`KXRG4}1okv(KwG?RV479j#dTjUu zeoz2_Vra;o)9G{s!o8FfoMC#l9g@M@SH8V!n5 zL-t%e7UO9oLQQowlB6TD9wD2}kmdvhJH7=Vyc(uV*7NxB5(ZhORIewr65>BwW^MZ1 Sh_-3~0000>P)WFU8GbZ8()Nlj2>E@cM*00T@(L_t(I%QeqQZyN;w zfYEOj2iw78$EM!05hZmN#Y=!QN2H!PBFauGMM6lCDhLW{sVI<25Y(tCK^$8I2c-50 zr&Op3w1;ZaB{*(Mk_n7rQ_s}vcxF5t5bqy6VQFdE(=-k6h{vCyFA|~j@F6pW0$tBT z6h$hP3VZweB;v=2Mq{Yz7KvmWQ4kSz{V%>gyoREL7#<#`HxwdYDDdj_v$WS%sTu|$ zMZvNx1VLnWae@Ciu8Xkn(Z^o1*<|9kn*>hHVVWk7c6YHl9q>G4S!QZ#ild_=Y{#KL zokmr+7#Qfsaa}|utl-!-!BcaboPVEEsf6tFkw_%)2Lg1v9r(;=6=d#F>44y})W3&5cmwLTUGLa+_38U*e$z&2$ z-9of1i&!j1tKFjAYB8P7;yNy`{ItmLw{CIw-d)b!zrw`C1dol!0C<3|>*R7-#Ac&G zDxK!-4^J~TcAVF)pJj7%gSo^B9NQtY@hjXgC>D#;AC<9fo2p?TT)6P1*RgF} z$3aoT_3szW1myDnetU*mfxPG4UXzu!;QG>`$*nHNaO67hH(Ns@T#hpWu)>~LlI zB3`$PZQJO&&gs#Yu?>?0?SND&MZh0GRze{L2L=FWHk&-y-iGNsq{^(XuLBTP!iS&aXx$g9VAi0=kqak^9CE6oAgDa zNV3f0#bwgz6x!h-!llb=UZdWiSS%8YMv;9!BH=J?%K{)2dK$~>5DW%URh3L8gQjU% z?KYAmAsSVKe<~FK6h$GKNYZSzuD;y4baof5;tLu_wv(;EzOJd+_9?B!om WFOM&qcvQ>)0000WFU8GbZ8()Nlj2>E@cM*00Uu3L_t(I%O%g-Pg?~5 zz~SGyltH_mmR5S&jzN|nmyJQ^Nc6$XCozkA^3||}c)?_eJ}er?#7qr3d2vPtLNqZk z-V$T7y-i~l76&L(NjqVdvH?4c6GG@YltNF>%?H2#;1fnhuK1d!0X~VuW7J2Z6qc7c zk;&lsKB6eHwYA0S+8S!2fmkd~Hk(6DCJ+S?QP&^w>H0MkB}{X3Gof&p?o5Wh>+eyS z9H(d)gcSwLvJeE3fuTVbmiqy4To+;R;=BId-X870PxF2FDleRw;lcg;Sk)@{KC&!x z^ypDGH#e~zhePQ!*=&x+#zQ!+i>O2t9NQ-N+Bt6i)k~pJKn?^@Rh8PhIy}#3U}%tp zs^U5h1HX*WHGc<9Tc;)vKp6h;W8Wwi>F&<3u(&|gvgqtOjx5RG`&6qog|$BR%r{A@ zNutpRx~`K{Hp_r{>^gT*u|bpN9BjZjQVE++{e|N_%@d+r~Bk zRo+3@b-KEaBkq;Uq|#|#zVH?;EsrytYh`wJhI8s^9NVFF<~O)ykk9AY-Pr}e*n9)q zwkaA0vZ|_RnnvIAU(r*2z{ExaJvqV%#Myq@1c8;+RR)Fz;Z&4~`3Cgf z(+H!Z(+nsjt@P_0%m41@Q_M|u0DS1Ik3065%qm`Y`z<&~2>{nR7=&F2w) z;PnqKVVWkHOa{X+Fin$Esl@rS{apTXlCJqXM4}NMu05o#E=Xf?nrt>lTWc#)CiBFl zLdoQ2`68hMx3O&--}9-d2@sFR___N8#ik>8p35g|*Z9s!P+uRTwzig{X&_t}9P&-m zB$Y}M3Wks*i32};%fQkS-(2|&-}A6-8(r5a8bu7l1R#}45eNhjm2jBOW5NEL78VwXL?Q?X$dW`udW?;Y4LsLHv>k^^rGjNyoSzw^vtyCA zwl+RG`3jOKp@eSGGJT7g*;(piF(g@L_-cZ5I)%2rjxhH5q+i}Glh5ag$70BV0MST< zie&*14j;s_ssw{Ue!Tu9XL_g5G!3g#L6Rh7qiC>W{{K=G1x1OlUEIcX9VAhrT;2nq ruvFmLXAJJ$TR}}EXliOg-_ZFFEFzC-d2)kg00000NkvXXu0mjftE|@e literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0022.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0022.png new file mode 100644 index 0000000000000000000000000000000000000000..77459e0955323eaa9a7db5a4f7df485bbe238a8e GIT binary patch literal 1048 zcmV+z1n2vSP)WFU8GbZ8()Nlj2>E@cM*00VqUL_t(I%LTz*OdACN z!0~^t1u1X`ZP{HZ4A#*CD_=!Tj1NYQj<}5%^hK9!$r3lr$fAi+BWx3mM8ze}7&b#< zvcv}$V@$Rf&2$mi=E~f}(K6+upo4>T9nyor(c`YIzn`tY|8!1ORUn5fm*FZcB|bY# zYdB0cmqQQ)mY0{gJ3o&iZ^P~O5RJxAyfT7KKu9E(_HCvva$jzlR=P5BrMaU@UDO#_U@x*=T0sS?h0^K zjWq9^`hv*jWRtm&3SQv_4N&=rl%PiYeSSoqR|*vBjrev zL~qwI4v44W;2~Dm*0Ar{+unQZgZKD85F{K9BYVctb)AfGk{@?1^Xa*-P)&neQ$ET2 zNy^H~$al;zKfgdjD1<#6ezZ6KaFwBr9*Q3M4bwEqWpmiF!+1Pyer{CQFTND-+^4-NJXm1-qRaK018oS+& zLrZC7)5igjBne3>VI{Rf&5l3FX6$Ti=m5lL;_QA}V{-Ce6j`RKs*1$D1pfnsGj^wV SvR1wT00001ljwEP)WFU8GbZ8()Nlj2>E@cM*00W9iL_t(I%LT!0Oq2xx z!14b*cOW3obFbXRi6O-6ao|xOY890=*i^nyty!CHY#A=*sz> zO+Pp{+;TBjfSGrOf!ra^5PV6zrrGMVvueb}C}B4`AJaCnIy76*_dk>cWF7Nf`5>vD1U=2s;9 ze`GZtN0cOX8ZM&I2()!}Fg4o>fRaw5={S8>O(YUj-M_~*v6pw7-OSI;k=ot{RYj-M z;cz&JL?Za-T)h6u5?-&5qM}_W=`@0*mr!JxykqSQjWsbdGlMQGi>aAba&mL=J~={L zX9rfBjpywi+HUty_wWHzeka*kS!nm|d#5X{D6DRN!5{S-psF})okXJw4X>GSR)@G= z`3s@NtC-CeI{hcHyrtr(Qt|tz5mKoXp_K+oims5{+9EsuThdCJpPzls-=m{UKANQ4 zS3y-(6|s1XLoE;3<_zI*n7X=Jgv911jc>>K_|yr?%F5~XRp9ZsX}9f1krgW3ci~Q) zyY50Z);9o%M?OQAWme;Hv@I>~b*;wZ^qW7yR`8UG`*Z9%aF7>DOBoz)B;$w>{O}`+ zcW;nPB{_NVI}TccO#7BuD=tCE&CMl0KcC%p5B_OC*Th~nHa2T1Fm4MrqM!u;z1CvFe2@WCPKYgaHB^eD2z zZY5!v5=ERfHEb!T$Ye5%j+gL{b1%GMU}R*3!Qb^vO+7}h*P|pl zs4l%sfxVAVC`5V5ID)JwB$G)33%B^v-G{UKF_o2-oPX&kT0u)NWT))j9o!xdMw1Dx zPDgjI6}!EV;Nl{hzMuNlVE8C2OP^vknedFiPjlli4<{?AD)%9Z`J__YlK=n! literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.003.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.003.png new file mode 100644 index 0000000000000000000000000000000000000000..250984def8e1336c9a5aa2f30db81f18206cf8ff GIT binary patch literal 1031 zcmV+i1o-=jP)WFU8GbZ8()Nlj2>E@cM*00V1DL_t(I%QeAWOdACN z!14cGdkkoL1zP&SfR!L$3T-Ee!53dND)GUmX(qaj*u~B$()KJGd`H; z%#1F9_+Ylghb=lXwgd{oq-7mY+^rzJgF-*<+VjcZPZ%A&U?vg?z{Kr#QCU$zY-NSR zp%6vWL=;7~wzgPZTf^h7rmD(GBr=c3>qZnrL`C_B&o(BJWjlus9l~a}6AXoTZEA?@ z#c@)qid~k;<#JU0Iz@PJfd3hV0%B=dDO^{n{rxIM(`097hq>8VdcEC*qfu63F$#u3 zjnBu%GtV(GJOY4Zm9SVWh_XZG{g+=M?Azp6{|CfkF|3k=$K#>@*c%j!CgH&W+#U}F z!ytTZl)&t55{V5;Bnjcn$S0)eaqBb`p;^?0eM zaG)p(Uayx(WF9e>%i(l7$z(HRGa1@DIw%+gdaev|Yi5RpzZMu?{DIciR<_k`06zNi za}-4(5a__Vzqd!twcmIv8fARw49BO2c*prPcRbyo8$3EQ4N;Y4|1#N37J%L(N2%0x zQmTq@?%a7Zuj>>H16g)Z`qL$Z*WbieZlkB~1ieR&5(so42m<$4R~h-{Yj~=Hi3imv z&vqk>jg6ayVi84A&@_#dR|4h))_ zrs4B>v6b7fSS%d4e2H*0%0yEWws+q{*L4&{A*H5JRSf{2&xa&QSY^ANy4qR*_V@Q$ zx_cMegW%ibjxz{1Zs3p|G&J~8Rh7<#Ig-!6ztEyP&e1gF*E>KhBBeAi8=&E)Rjz(ErTH<8WOQh3j zFinbPk?~(H)6&vR*tbbnR~PYk9KYXB->b(-K1_0;qy%B)?5Me;Y5cprO@rT$EIZgv zZBr;1SVRj}Ndh4GFiExBMLd2VkK2vYy~hbp;fDboM|002ovPDHLkV1gO_ B&WFU8GbZ8()Nlj2>E@cM*00VYOL_t(I%LTz}OdACN z!14cGX$RCk)|NiV1|>oZ0&OS8U}E-Znc#0-<&~dw6?6=!VE-Y{; z5<$~-L{Vg8V}s?D6+G?=91bV3*bE-88&MDuCFv1gtPW$fTBxqB#%!?=jzl;)@(Fv_ z2Fb`W7ORz9E{Efn5u!ca%q^S(pinF#mX?*mn9PCSZ*%=d1KDhr>8U9?ylq4i2^Nw` ziiHA|J|C+`USjBcAJ07f4aO2927>|7YP0hG@mGoZo^a={qa>3_N{mK49uH?;KZU00 zM0>h%dpr~i1){(96PmhDDz%EqXhi7k`&5@R8N%TRbMtfLb2*wq&6F5QK-bCVRgx+xc@+mIv)uh&Z~HiMYU<#0Nk?C$Ndx4Vn!sf!c~McRMr;ojsVv;WM}I}@P3 zzMiz42H@i>Um{5op-?m8&h|F;k)L_H>mzDw>*$>cFflPsho_B#S|Bj~2aL(Y<8ijK zTL5$%JAtaIWMmoP(xuCKUR9ZoH}PC#k<#yPBE0z)=5jObou}zIc7jl-89@+OT3)8_ z>#yLjouRb~q@!&J0|SG4QPYql2}Mz8XlNjx&-1~b1DtJaC!bf@%x(g3u<9Utd%G+w zweVu=BmRxY5q047`Ew|WLL?GFmSq%0p|k2`wzqeNlosr%UMHXg1#q^zu*1KzvD zVlxB-0SuAIv*(hV3TK6Beh?~ARTW*+F`0}woepk?50R;=LDPzSwld6j1vi&hhPmf| zfs7&}banUWilX52c`=upF>&yLFRjBEe8y9p-o6LseBINg^X>kYxn`pU;QUXhgJH zEHpJX;&eFCG>yr>Yk1HUhQoFqG=&-c&Bol^JT{vR0fCm;X(}qOvbMH{RxBc_g#zM@ zZ^`9yoEg7LQ^P#LV2}$f?_dxOSk0r<-W_9nVuJk+2eU2D(|g5DWu=eQ>MEkE!bLQZ zU~Yb%uDVy)+S&qLN7FS1f4oI77$E95DuV)p7 z|I%q{{C=!f8|h4%VzGchG*DtR0;M1& M07*qoM6N<$f}b1Kc>n+a literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0032.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0032.png new file mode 100644 index 0000000000000000000000000000000000000000..0146837709cc49345748c9784cf4c9b0a2da7284 GIT binary patch literal 1060 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.005.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.005.png new file mode 100644 index 0000000000000000000000000000000000000000..1b60db5ad07daa51664d2c5a36e69addc9e5d0bd GIT binary patch literal 1063 zcmV+?1laqDP)WFU8GbZ8()Nlj2>E@cM*00WCjL_t(I%QeA&OjHE` z!13>U$0# zLP%9H~(K%_Tyw$9AWOs^U_@VGU<( z4Zi#%gj5yhjYe#JJxokYvPQ2*IN|wNOK5Lp-NAB(M}}Dm21&c!$vRg#Xc~nT<<#zX zvADR1CCP%(7>g{+SS%I>1_lv>!63@(+jzYEnDxKiBr7``eVLQOA8P69?xw1^l=|Td zoIHPyIb{xjk4}AoEX&wz*+e{AS|a(zb;|sHn(Izb(pHCW%7n{a0IMobb^i%|g{tCG zmKPSG?N(e6=m}aIEMO} ze&scKfs{}PaaC0j&!3}d^C8GHlA4;z>3?q0;Mj*w)S=hwNxR*_AE_C{#m6(`c#hgH zn@CQ!GBG)cm}pAG>Gv}{GD3Cw+Z^fg@#*si32R}RuU;lIGXtk}hTPm-Mn^}<>g}Rp zPYLe9Z&|x$4T7hkQCkQEXz*X5!BK`J#WFWPM<}GC6Lpxc|H$0dH>vJ9gU7L#(b0z_ hnaw05CL&MC{0EJWeB#JS=ve>&002ovPDHLkV1jtQ?kE5N literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.01.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.01.png new file mode 100644 index 0000000000000000000000000000000000000000..2a419fa78be18ea1e2b7fb5c86c78bf2655db11f GIT binary patch literal 976 zcmV;>126oEP)WFU8GbZ8()Nlj2>E@cM*00T5hL_t(I%UzP+PaAar zz(04_+FsXQS%KrqZw4)xjan1Jt1-QHz;X)W6i*EEiK%&-@Eh05aZ|l^LhG6Yir+!wrv9;y57h6o*s5~cX_>7 zBnU%fS?2KYkV>`6fZk6g(~D_tF<|J(l1!vt-vRr5DaFsy!XlCnH-Ho zQ4|H~o3(F4yINy@ex6g;WqW&@SS&^|nWWKZ(D6FN<1wakIjWTkK@c!LK8|T_F*-Uz z#1}rQsv^q@l}d$IqERkhx=2KcKp4{LbSdwZDV0hX0|q@kY3lVlg~BYRxrOX`9=*N2 zoVur6{&JN|v$OcZ$NOM`KOa2c@%Cc|be)-*8D2Us0T@|bI*Z6B?KauLLCWPazu&pX z-d>rFjr%;jdL7Xf7>2<+*REh$7OiFrfQMJF)9rRSavYR}g?DcpISz^}6NyAAm&?q} z%`ti50;;OAyIZDZ@6*@UhwHgiD^&`GSt^w(@mLI5RaKJ7ByX-PVLi1d6biIjZJt;b zsgFJ+rKK>N48D(dm31Y5CKYu+eCs_xIzvE=UrxBy;(zRerts9qm>dA$n8kkf4C(eycf)q8jb&N%W-`3} z^$q^G^&_t50gy^1@w^U+L;}+^$>;OfwvFeyD2jsY969`bcnE-|X>6|FWFU8GbZ8()Nlj2>E@cM*00Ub|L_t(I%RS7`Pg?~5 z!0~V2YiS$W2b9uZ6bAc2fsNW3LP$L9vU%Etcu^A$J1k4w5@Qe|ngz{fvasni3zC?S zc`z|Cdeb<(Y>CDZmznVxKh~9IErnGE>wBf8eY{^@)XyLAaZFEtVHXMoz$O$5($d^a zW__KLsT7uNBM1UJJ3Hj^dBUMK0)bX!d5Lf&gy0Ymip4F!LX!L(I&_Fezn@o9DSo}% zLZPrpNm1}i5}Kyra0mdbte*qGFiixH*MlGmbYGcd?%O`fr@&R?CP!FLVQFwx!~;m-#Tc)a|WXzMJ!y}i6tUINfD zHSvEU>{qKqV==PXEWgao;o=Gl3-@_=aU4T8h(scsy>x+eI!&cq0pQ`qadcg$q$r3Z zBX4|MQWVyoy-K)kmuxo6;NT!f4j*Rz-WgnudsGTr1cO29TAh3@Pck_`E|@M8M~ z-(4Cbl}e!~3aYBIx3|ag`!)%+p4Ov zk~zol$sfSsKyV10|8$D)uivCvsbUx=re$DTHkC@1NF;(`7#Nm;lYfog=|{a8LKH=G z-Qee$uW4_OV_O!wu2U=)DJdm%LuaF~K{Oi0>+#~0{C+y(akSZQuq=zeoakF6kx0WFU8GbZ8()Nlj2>E@cM*00VMKL_t(I%RSQDPg?~5 zfbp-V_tBox3*}ZuyTZz4)Ita$@nJEUMw7h|P24my;bAUOqcMxkx{CB1WT;@Y*X#l7vpHrS(KBD{BEd+S_^Um?ix^UL^kv?K@yH__g^4}i<%;`Cb=xY9d`cq9bC z{WsskYAt71mQnZgyg0Bc%S0b_P+76V+S(eOot=1(9b;*X@(dWr;~K z{Qfp1DTYC>M=%nhAyGxP7M@Q530gI`}PE zgWumqI+H;)_SLwOOe9I|rU(QAB$G+<`8);H6|#HpV=#Zh3;hLtzI>ImoaXGc&-m%m z0GZ4let#S4K%iqlmSq-KdnwcZPClPUDJh)4dJ<`Nj$-a6k(<+$N=0;9Ef0RYfz@im zU@$Pd;N!_!z`4m5oK7dzRaMw*HhP~AQCsVxv9Xbc1}_%Tg67B|`9hxc_&TVbbgH4D z5yfJ$0C0GC$jtn4jJg~Dxjg>oG*ynf6;1~aA3mbe>BR1EkoYUXzqlT4NZt?qk^lez07*qo IM6N<$f)zs5-2eap literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0103.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0103.png new file mode 100644 index 0000000000000000000000000000000000000000..2db41e75137179fb30ddd6f0321c1fffce057eee GIT binary patch literal 1053 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0111.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0111.png new file mode 100644 index 0000000000000000000000000000000000000000..1684701cafe2d688366d2fa761ef516b405fa2a7 GIT binary patch literal 1036 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.012.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.012.png new file mode 100644 index 0000000000000000000000000000000000000000..cf04fd97f05d3e77850ef13f9fe47c0920bbd353 GIT binary patch literal 1028 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 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.013.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.013.png new file mode 100644 index 0000000000000000000000000000000000000000..9cca7d633f8dd798f8c23dfceb1a531e214f52ad GIT binary patch literal 1053 zcmV+&1mgRNP)WFU8GbZ8()Nlj2>E@cM*00V(ZL_t(I%QeAiOj`v2 z!14ckZ3mV1wa`)u;|xQPaTK=?7!wntaWYMe@knIivA8Wt=CY_Hm@t?ykYaF#L`35< z6K9;+RERNVn+Y2txJj}W1mtchqg3c6*X#BCEM`)TM&{<{sj}Hf zC<>w|vcA5K%k3t^l1^Hh38!wRPZj zxj6UtxAd*1&0rd;&hH9%Cd~fWMXG`hhuHcl$DngkHwK|pXK(QJ52mFLF?otN=i!b2mJu# zG&kV&da0-=N4>qZMb`CScw=^!-bj=;f9>M9=`l2ajsZ}5XOyMkX=dJSWOrv5fU)}b zNKG{o2nG?ly1JD}G)g=cLy`<6fAN9HK zmDdS{!>DQwKizWjgJwEi_psS)Y;0_>y}ivqaslht2kE-_C5FLkEdTxozBM1u*jsV` zHiFx|%>L3+R5sg#Epz{dI3qZ?B4iPbMo|(9Z`s>$ImWqGS;fqaK@y2LAG`bMytzQP zyPwnq$R`*Ka$v%N@5!fF_ISwN zyB9GUiy?mf6|yYz&d8?}78X)mTujG-W2i(G8jXery3R5(I!bC<8i$65XzDpnR#qmS zl@&yDx|tKRvrJA+(OC2%4>z0wMIoUi=)HQG;^O-``g|GH)zvI6E^@WIhtn^=if_$F z(w;pC?HzU{915}F_fwFck0crJ2mHk2F;t=owMGMgZ_P)##mwU35*Zc?CbJpus+a!& X&e?+r{!>&c00000NkvXXu0mjfBJ0&R literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0131.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0131.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3bbe00570ebcf335ac033724fc385d76e84e77 GIT binary patch literal 1061 zcmV+=1ls$FP)WFU8GbZ8()Nlj2>E@cM*00W6hL_t(I%LTz{Oj`v2 z!0~@yIkWb)(DqSk#xY==gW~o9W8#-Bl5Hl2%=iICGvgqUEQ`^hm^heR0~VYij<957 z#+kTeQz6F4HY3}DgCTKku_(tjN};9UXe-z2_5A%*U0s(Hx7!UUNRp8hy`H)GdCIL; zVv2$w2&}HIvfy%&CYeZ0HDI?pNHa?aDgnXkUFNH$K}1nYW@aXPv|7rnR%(XMvwNkF z4Zk0)C?d-;sXq@<_xWcy=T8C2@`QTxQHn?JGe0*+ zG!ns*o=)ZHL;73VDasijJ}w@$T8-*L*G0wcTBO(W3q0_1rn-j2#6&b24S_&_kQ}1- z=6CeBcHmlApzYu9>GznhTMvx*r2S;igVgYNR}xnJwTi~4itq@D9oIz zhV8&v%xPxydL3S`7qi)n-R?k;Wf_CPz|QUtr&^mx&|DxIi6U25@pxi_slTUabL^*} zpn!G%Iski{8t{6(l$IVKZhLDB%iUjje|DC>P?$DHH?_-$iT`sFfTD>po{#>+%*T!F z?(70ES$~$46g?Y$KkBNg6V02sd0a8nl4e@NHvW_sjvXgw-#$L=>1Na8v)K=?@&2#?+IH$64OJyM(4x_{rKIm#?!RFvjSvfQJMu^3t zeCZmb^ZrwMT!TE$dWnsI9|6E#eu!(grjR6wbhDX^k$YrGW^_OOKwe%Rxw$#$L>&z| zCkRKv)EbU}3X+qO5k#$)lHy|IzU#zdF(&@XX0oIVUePmIQpWIaI-JgFbUGa>R2-bL zVX|Dtz7e?RZNQ9?yU1;f7|;dW0i zAHMxAz7-#d2??m$JGzu$Ai&!CI@wuSh@y`5jdh~Y2x>u1TzotLz7-!P$;h*3&qWFU8GbZ8()Nlj2>E@cM*00W0fL_t(I%QenzOq2xx z!14d{94D~k?ttUC!-V8SNaez?Mgx0UZs=SuF6S1D)eL0C!fB2=76U^#gK9QVhHkJd zSEhZ?Y5BVGcJ_iUy(5S_-~4WS4`S;;3)Yl(Xyk0M$U@+*3)#(@< z8e&sc7GXs}6h)?|rx_U?CDD*TTwFX3hm%C30Z|YUeZFzN89R?g6GKW$3Qxqu@Jv<~ zg%=JHIMK|k-%pH2gCt4BUA#a^Wd;8yheC)^(NWOpXHAWju%a+OKhNDecPKS(XM??i zp}|2yvP_c6M83U?mYO;M)Ddb_Diy+!`Y#pl=zSU|et}Lu`w9w)jEuzG-GS?cJc3e? z#xtjBIc#HeWQ5v*A8DCLz>&3?al^_-D4TRgTZ+!(z!KV)4-fwoukS@4dd z*Xs#L0Y15Ql^uF7Zs#O(DQgg#nwphRILxyj?Imy5dYWE2Krk5OfW3*0R7vn_$Md%?5|e#C%=Jsu#&G%wb4B_ zPK8d(oPUnDtE^nIR^xCuu~;$@tQD0?O8X5;Ob@W8?FKZx8s=2X42Esv1J#d5>=?xYMyR5M7Mbzv2k(a+qr`&5bA98%KY3MHuq21vWw7Yw9L%T5DLktL=}e1mza6&O{}+0QkVTc9?v}z4F=-% ddVCW;{sXlLgKPW8EGYm0002ovPDHLkV1ie`;Zy(s literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.02.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.02.png new file mode 100644 index 0000000000000000000000000000000000000000..592980146a393ecc2e82ddc4430dec623d2acf7e GIT binary patch literal 1014 zcmVWFU8GbZ8()Nlj2>E@cM*00UY{L_t(I%U#mXPn&fB zfbr-3zALoQz6Ca3T7I>p{D?tnjSDgHuy`>sF7dSJ4x4(|mN*S22$M|$xFCj3otaFx z#Kemi<6##}OpJOPmnGvRHSkiHZC{{l4fHK7Yw7#;^9g znwy$PZfx*kEJn?75JHg4Zp%R%i>T2uUEa*=?YPqWB1fLNxk(ybz1A zy|aU1Y_Xru<5LtWl?sw17`*f@&sesNaC_VcSik)jA3h|V$#Cl0C>zNn zwq?;C4D$9Tqa^P92!QLD3t5(tzL>w^80ied!^1o+mq{cN)YsSJ^?ET)lcUNJZg)Ms zeSM@;DQdME;cysDTcNwV3-QX>2p*3IA!Jgi6m>2agU=5ViA4DD#vE_misSZpSY2Hu zGW#jvaF}d1OEfw}I-No8!Zqzz6kK(6ocVZ!r`gBYwvB!M4EH{|g8utobar&m*49Sy zmwPlfHPbx$KHH1G5s5?)hout1_I5TmH~9mLM~^mHTDs4J%VStoi$Ea2=?^a9x_FLa zp$Nc(%VWGVb(Q^m9w{FG$~mf5u`LTl@ss#F!O4>^(b&*PE|){s*NH}lkR*wJQYp;5 zNi;fyrmdi=tq70DgV*cj)yZ-6b)9H5%4-+iV@=objanotCNmtny9U4QQH1e}6xQVNfZTk!6`<`TaZv(*!_K6qXl$;LrU%Y}-N>GNsZX0Lk?vp-?xg ktE;rBD&5`PWOuUs3xF7M-E0|gYybcN07*qoM6N<$f=x}@Hvj+t literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0201.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0201.png new file mode 100644 index 0000000000000000000000000000000000000000..d4fc51c2cee61bdbee2ac31c776f5050e3b617ae GIT binary patch literal 1043 zcmV+u1nm2XP)WFU8GbZ8()Nlj2>E@cM*00VbPL_t(I%Qep5Pa6dQ z!13>0TWF;{XermDz$hs{9FEdOLP&gAOy-g$yqP7=geeb`WYhQq*<=f0xF8A>HHc6IU&^m^xm`uzhw`3i%B9~!Y(3^0&oH_oCW zB8!V04+hZ<15p&&+}tF(vVuo0!R0C@6q?1O$cTc77>}<5I+Em|va*r_hl9poke}~5 ziN)5~PNi^25}8Z}K@fSO<3;8d+X2vWIYg_?if9t4y57wf-yG${xwFhnPa_pfaN=qw zi;)O9O~YGS%5!gZGI#S!>iuI_%oa>06T-WLH;mZID$UK!JUTdFZf=hJ{CwpZ-(TvXu`$T}!aRqW495Zum`!G$dj1SC zbbjhHv#)m1Fx*e}=2yhyaTG-%6q?0Uf#q7EBw@+Rh-d;w8XDySh&vA)Fk&WcA;f86h)!+ zpY0E?(%p!geZ!Ff=r59A>jDgpbh_TxM>5j;5w3DR``a&%b`0djA-K zKm&px@Gu%hO{oL|4TM6o$Z`py&1S=Hx6?6pitwLd0)YUh&bRX*9H#9~Jr2o1C^XB= zObAJmD3RU#KIJ74Xh2P;5k@}#)JVh=B)5|UgFzCB1leqsbUKYFidY@*ak^LI$E$Cn zrc}<3zR!5~HPY#wf6uzF^cbqDG9PKD<@hZS1VlmPe19+B4t>Dh?jD+!Bd2Q^y20-5 z9*Ux%X&RcYA@W~scj}R4nNmgJbbk-yqn}Y$R!&V#4b|0tS_k?tFvx0IR%5GF_Fcwi zwIK`)3>t-ng#hgD?=$^JEw;QL{&#tF*oxx5M^%-NXf(>s&JIq`2!F3%puDUMF{^1D z92}6zWOxt`^YqwB>gwvK@>O9HO-Kb393ARoa%u{v%f+QnJ|eyKI$m!nv9&cscZr*v zt~0-|K(Wh3Eh5jp@d~=3Q(jR{U0p3(H%4h`X<_2-NxmB%!E83Ok=P(VFAw3Jfk7j! zs%#~bRQY^JQX$FhB)Oc1Ni<=$SOC~aY)~S*SzdmKN0upeyNUl5=O4=ja(b2YEQSC8 N002ovPDHLkV1lpb(XIdh literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0202.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0202.png new file mode 100644 index 0000000000000000000000000000000000000000..b720546e6add189854d272c6b1e03b41afaa3f75 GIT binary patch literal 1050 zcmV+#1m*jQP)WFU8GbZ8()Nlj2>E@cM*00VwWL_t(I%Qei~Pg?~5 zz~SFH?I|t2KubB4i_i)k8<$#@Ac+seWLaFoqYpy^N(>{}T)ZqeaUugUm<5dnr!i_U zIujp!FlHKN7B!iMzHCBS5ek%@Qm|!Q+On~--h9#T5BLO+=fhk$90qd8vK4b-A0RaK!k8hOm^=9k~h zgv0CX#$p&vCiI2l2!cp`&r8g&bODggWDvDFE$+H+aSZqI<&`6}cD6G+GlNNgjn?yL zSy^5tlTM=*M>z4;S^S@UMP2nIl3GHgQXyROjOW6kHJY27d5}!v_xs7q%fnzW5Rb>X zb-SIW#_yKp1=3c5KnKFaV^ z0~*6678Vw$zW5H_zn&u!iQsZI5(=#$ygM+I%h%~BvRXO%awne;id0vA4P7UgeXS3* zT8+bQN785rt_FG3?m+74WNpxc&1OT~zki?7vND3fAit7EVi>P?nwzJ4NvG1-Y&P0n z=|MW#!M(&i0B)Y{<;8)w*^R{z#>PI#JxrzeJJ3Lrdlmn@pQffK(dX;=;+wCu``fD5+8)Vw+#cZ+g<|iMK*nXX|vQon9 z>!_{8R>F~P?rxl-$YS9TA{B3(p}%X2!_F*5qk--5%e1t#@coZZAxRUc)oM1Qo8)OU z2qUAOTp}K4duIoS-Hyprz|QUtnM@j$s6s7C0BlA#DVD9QuHKME$DIHG03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00V|eL_t(I%Qei~Pg?~5 zz~SFH^g2p`QV!*k(F%-vts6lSmynscIK!hco659V0JFJFU2x(=24rIvG+U-Ki!&H6 z(FdQ564XQz=Ry-R<+5@qP&lQqwnAyk=5W0nU-bI}KEdU>tONo9KtYns$cHa3v`ehQ>~Or|`hrlu*dNQi=n7!0m6HU9!eV-}^QrL1kd!lMocKaJ%Q z2&}Ocjgn3$s{`QB1hgjgXj8Z)RYaQR;kIz$UwN{8d3uORT>)`d9bsC$Kye()$;q~bL_4A znm_IwrJ?>C$}1}H%QES78mraHZ|)-Ms%8+M=sb;HuV>EpJhCjKQLCw~tEHrHol`>t z^pDn|F+JU;gm3#4f0Ng&=$xA(NvlWdZ3=V#vJWM2*_14kgSjIEsp`l?PnY%K%@kJFi zWy9F*^$3E%iYyb0#>kPb5DlM3lJXJtdOZe%fsWxrco)1Z$n6|zb29Js(mGm0mNAQ| zscCMG7h*IT$(PLdS4Obg>xsqV2vn{G8 zy-qrvVq@z73qM~YH`jztr(@DniO7FiM{AHIi9(Bo!xy@7K0QToaS6v?oTa?HjFy33 zc3YoeX35EFV3pF|vj7MK11=>yJDWhb9h2cQ6Lif-p9RTXKfYi_YQG)7ZX6W@OKIBNA( zR4NtWP#CR7gK%-crNm<~HX{*iRx3thHj%9esZ^2#-59ik0E9zf@+C9N%PSN}5_x7b c!Mj2J1;GSwcHsz#0{{R307*qoM6N<$f(3oyN&o-= literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.021.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.021.png new file mode 100644 index 0000000000000000000000000000000000000000..933bb65f5c4528eaf550ce0e90eb4ef18a8d71e4 GIT binary patch literal 1032 zcmV+j1o!)iP)WFU8GbZ8()Nlj2>E@cM*00V4EL_t(I%U#mXPg?~5 z!13>Uk4GrdSLmcaD5L8-APy-t;b7vycrigqmSrJvOJwe_k%$uv0~`xdTo4DwZHJ*? zW)_VXUE*A_! zDWTI9zCU+?eBPj~ zzYm+;&KDN~wA~xQ=c`B4)+m%^gkO!Ual5CVh6Xvwr6;UauE%FO|YsQNhZ}3ir`Dd3%uQ=_zK~yV0{cHB%30ey0uj z%$p>4lK{-LcXM)}kDXWy>FCj8ft^?kNfZ%gAM$0&Ok-ms-h&4*nM^FmMI^O#j6YS< znKZqhTtYj3g5{2PiMu_BCXgiKF3I;KEoWZP^QPp|o=2R3# zA<%vnRh@^{Q^a?7k(yp>4xIgPfJ>|E`2Bvix3`(OKS?5yVC&u_qc^T&nf#H+?|-oQ z_a;Y1E)sq)MK~Ox?(kuR^L_nBJRZkZUQRll20=g+L{1M4@a^bjQpps$o+Fpn`FQC& z+U-p^91e6{N6+hsPgm_9=)q>Q;dD4?8tUiHwFz9VN~)`?IdsTN^Y9=&-eY9-EDN@FknoK4` z*VGs3cAJf=sw$!zQT_wKgLKK$Jpdm70000WFU8GbZ8()Nlj2>E@cM*00V(ZL_t(I%Qej3Pa6dQ z!13?hwPXx>(87A9Frgzt#-wx$iA#JiCXU2NVitoD5>OsylQH)r3=jwoGz_@QgSJp?xogiC{rmwRp}YH>p{goiV7F&tO;2ZL zc9y*!4++CS6h&56R+xYI5XHU&n=J#MZwkd>M-)WFKwy#c3*R8i7IJfQNwHWc@p$;* zhLz~RCDwvLEV4{27DEt3_IO`sdbSn-JswBgmb{G`Eh zpKh|#IfJ4o%nV({nr_8ff0)JL5%Tl%5jP_dvYbxl=H~bXozAHO#>dCFQ`dm5=@g8O zQhvmX`HgBe!W#hGscYc1Q!T6ogGdJtzTCbR3^My*ADQz%^J&CFX=y3>yLK^h^8ksW zWj54BjJrOfu_#R+ypLL0#q6=8gmPVo$;rv2rl#T@EW>}#kK660>`*O#`u$X2FTx^Q z@cE{gob(~fGVOJ5GCJ;rnp#5PFv5ioFBwNV-lp!AN<1D9OG`^=nnpMrMifQPTpna} zd6Dm0-yswXQF-wU!_Do4!|S-+#R$zUZAK^*VtS^Q{dC8f1SU~9eXuybUMDY9lWY}!H*ws!BB43>D0l;EOB^KLa`}XY&U3;4HvRkOCN-P>h zk|c!FUEM}F6yovfDz3adWI2u1wN>JA9Z8fhnauz!FD{1xC| XdC`4V5>(fP00000NkvXXu0mjf$4KHB literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0212.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0212.png new file mode 100644 index 0000000000000000000000000000000000000000..93672ac5710cd06216dfeb076322c4b80907aa2e GIT binary patch literal 1058 zcmV+-1l{|IP)WFU8GbZ8()Nlj2>E@cM*00V|eL_t(I%Qei~Pg4f~ zz~Nud>0uP;ftK2qOQhvGVPG{R%bwg4M{pxCW-qz~wr0U5GB=GwCj==FY^Y|=EMc3* zVaE1mwrEHO%pn8~EDHw8B(ZX_a6mxh4r^)4*~|9*0iVX}{aRHN1yC`YO&F4r7@wHn zfWyJAsv-yiOG`@xrl+x(_h2+8My0>b?K9M@;>BFlO*GBSwQ>)G#c(EY$b z@W!{StgfP$W#W^rqR|KxxISiV!U;em8byfJ#d3DRn15BHLR?zA|5;TfqP|jm5JvEF$MnMhb=wD#l>W0X42LBF1z`Q zY$|i8k9`C~K`vZvK{@du6Q6&^T814#r_+&;kbtYL1phNX&jKeYsdVzx@29*oAHA%{ z=NqMeAO%^LaaWz@;b1CMI9Xd?M?CUgnfr8OJuQJb91aKOCFv8>%v2$;-J@BpZ#q?{SlkK%KLb*Kk|ltc8H6MuYPgT3*I(vmwigEUzpRjYbd!5v?Qvu(+_u9fdqHff9smFU07*qoM6N<$g1U~@WFU8GbZ8()Nlj2>E@cM*00VkSL_t(I%QeAaNL&Q~ z!14dR=gFOV@4T~}ck0fGQ)#B26%+(T5ChwmK?pU_ZP5%SV+-4@1?JguHihLF*)#?t zs1IYrGzzw4bF|U|K~GxldB*O1ZZ|!-rk1iycQQl|sKARvUpkGQxxjwD&AtgNKaVxh_7p?#u{ z^w?KKV=*j}L?)BLU=XN(|1kg4vRMR^*~AC#R;tdPA*buS((w-Sb8~b#Td4o_F3W)c zSxuwN<>Kv+y7_bTDgeejBcdoG?mKY67mG%5Z^Y^7K1uKD6Y}%(vD@v;{qPf-mZj&? zFpF=ra_9STynl?M1mY|eSg_k|7=F=JeZt#AQpg@ zz{6mWb6;PEmx~#Fyo2!G76h}|Oi@u0ul9J6mt@p~?d&~zga@*WWFU8GbZ8()Nlj2>E@cM*00WCjL_t(I%LTz(Oj`v2 zfZ@OAw3Pxqr3Kn@aX>o2F@d5adsw0|nHVzWObkY5ijugIfJP0%WDBlUSu>VR2#yI} zm{Z?~8R+I_h#T1!h;a!N#n}}%*nt(~(w2)Yr=@Fnyv#N8jB$$=n{Bu$3gNwZsn`*cJXX&4HM(zG+Ha!eS3sy zpO08HN@hj|uYS3-vh|};YY;^dasPn>&cNy_JC=i-{pK}J%q^hRYB8BijQ@Cr zXf#G!cPDpWJjnGQ25I@N7ugr&UZNh8$%yJ^T!|00v{71WXX>vhwjvRpEGb4Us@Z#} z8kuc=cB$D6HdB1I9i{goe!m~9)r!Y6iTF4gr$Lg?Xth+o{|*zQ&y%7bCstd{rFW0w z9lpUSZzD5%UcxtU31f;8V^ah3m#<;7*$_52Hps}#J*!ZLwI8Wf{l*3zT<#LGPn<%3mlaDKUvJzkLGi zK=0S6R4NQ92I||6!80lJ?){xeMJ0kxrz1Hznfm?;y!X5)ha6NKuH$d77su5i^pYNr zXOf8t50WI|YTxdb(&oXC^Z<19@%^RnO;r@s0Hjyk0M{))k$|pJQNJFys|=GZZ48!U}bfMSS*Sth^RFh02UV(NjIl)|Na9k hW;3a2Y4{)c`5!aOb3*ZQgvtN_002ovPDHLkV1m#F$2|Z5 literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.03.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.03.png new file mode 100644 index 0000000000000000000000000000000000000000..029c534d08a568c343251709e14762a65eac79af GIT binary patch literal 1038 zcmV+p1o8WcP)WFU8GbZ8()Nlj2>E@cM*00VMKL_t(I%U!`+Oj~sT zz~SHdmjZp@luPLiHee)UMptX(0b}CggC-gigB!{AFx13t(cxg+Hr6Z@Z%vB35JX+} zpqURQx@C(ACK^JPV1x%}ptupb(o!g;1y#VzDS~BOcC=c&V$aLwD^2+6FZS^8#`gfUUmifG(;;M|jGD`#|KT>7OonS+eY|tkgT-RuZm)|%K_d_d zV76Ge>2kBYyo|$fm;wV<&@}Y%O-xlLj`f^l|C_H7{$rYG zG|D0G5b{!(SS-fV#Q=W)V|4q_yN$ApzPOmS-cFvzHpu7mXOYOq)= z1a9A>qP&8No{xx*|3+hDBO;wjVYAx_27^qZ5()*GnVIIn**?^qiq&f6t&TJ3PoE^I zBmsDEwvTrQFR{I|gRZspsQZl%Kj6`yGf1-!2?m2SH#gIG-~a}Lfu*G&$w(CKZy%X# zhL`(05s`K7es_z~k`jc$VBnY0Z+Z1{KmNyl91aJspL(A~zn`+s)0D|&_NITj}-NvG2&io$bO zJ|i>z7m~;0)r>|X0O@p^MZcf_Gs;F98tMs$!|d(tVYAs-jYO!esX^pal}si>Hk)P9 z@2BO)b()%*XsB;MCv@obdY%~`VtQtVipom*zaC*@a}&GWMr3UbVX8LKdcK243ky_L zR&o%*(e95aXa#Eb)zZ{-kSAY`(bCdFC=}w()lrIyir7DRfs*24q%S;PP1)V$Ng_c* zeLb>lB(a?!pI6Zd9YuOQ02}cQs?8=sp=B&)GgT%NvGo}L0)D881EC%HUjP6A07*qo IM6N<$f?4RWFU8GbZ8()Nlj2>E@cM*00WCjL_t(I%QeyOPm~1! z!13=r&mBMJc#b=cyW`}iY+Rbaxp+Zy%eAS?r7xJWWetigV=0AzpvW9h83m~^qH?X_ z$Z9JsqO@oPY_!2vH104M7h%`|hr%8A0N0)O+&#T$eg1`yroH`L)#LF1DrU2Zw5D3_ z)Hbol;UK1}2!g=s>M9HO?qM;fVl<}Ua!p~enh`Vtg4er5X=fWXo$X|0Wg+%{Nuk5R zkHZE$o<$;M$4HVS!r?F)jliRoFEIUQ1prDkija_)z|Go5hEVwU`cC$hAICX4iL`Bi zeNA;ZtIrWt6l`f}Jaev&->+U{S8fmG7a9>o5%K9GM_ShXelphrJd*b}{hxfwu`6%! zV8Y4dx3^K0D6%Y*k(tTxSKr|G`?1^YBor00H1-RcQ8l9WH(a2w(82V~G!MgJb{FKM z6}9YrwiFLBzHikM4Ahf<`67|4y?DJ|tX3;7*A!v~x)!}8p^J;7^h`C*u>&M0O%g3H zrSJ4v+=C-z*ygZUEX>{L!;oyiP<#1Icx|hn>ls5sGI91Q{&FAs2uOpU}9Bn!D@{9Cc4`EvPiTU|?ii(QJ-LZp# zkpt*7BW!w>P=9j~3WwO+P>tYO=Ifqb65`_#5)%{Y@A{C+o`bmma8poFz`+w0%(~r_ z{jiH9DG8Tr3a8VBBuNamw(;}0jmNq>2*@&;uJ=ArSG+6u{5~8G2P-QpL?RJnSw;{9 z5|ZBLP_x4Arq>9p2RPn+iCc{=$npjS1^NFid|p+@^jrnSdv1V6gP;*Oaj}^%I<3ZgYaOE?_nsn4E6J2itONj!1BmeKByC^=ol*5WeB z$$B0?^D480Lj;3CWLakSr8fwT{fefotzFgY^#BBeK_>6ykr?+K|NH0RVXUT6a&od+ zSXf|VV*`Vwiw8?5N#DL5A)+XRLLtK8FtctqPxkD`Znu+@or5TdNZSV3+0n|__&5fm zk%sp>k=JUl+0yVVE+UvxO_bDBF+DRwiqS|O0!M3KA*RMi&q&8^&tvVKZiPpa9(-MfEb hF`G#-neZ-q`4{U{h`c3Xe>eaD002ovPDHLkV1j_E?xO$z literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0302.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.0302.png new file mode 100644 index 0000000000000000000000000000000000000000..92dcfba1683ac52784a93e0a5ba73436698a934e GIT binary patch literal 1067 zcmV+`1l0S9P)WFU8GbZ8()Nlj2>E@cM*00WOnL_t(I%QeycPm~1! z!13?%+#TG-c!1+L9uVOUHZEVlbMgbOEo(!EOShP|=?aRKvXUYoP-JwVDFwd7h_tmv zL#wT_63wC+xM;!FXmA+Jvkt-IO@ZT%m+rjhc>1CB`4>JyQ`7sZ$KwH1%w`iwwH4g1 zsAa3&&YG$siXwA!bBs?+kZ4Z8XpG0{941jVBMKto%*+(ewKP)R(nMNX8k&x;*kZTy zQ%@Wo&m^J3{X|O=QL$$b1d&Z8FER3WF#t+9jHoy0xl&O>HwvFz-oTEcgA5H0B1Ltv zqqdTvvSWl51-*Eh1IH@)^P^AMn9)vAT@4zI2F){j_tr0Zy`;|jcs%nyotHji|M_=$ zI55QEwHpkMzJOl$3+q!;>G|d=UauFM&4xZ_3sZf+BlM~vwX?boT~s5496SmJ*_@rl z&F(l(w&&wvjUO7ctoo|RI(Ldo`6E2F{W`KN<8%%qyzMxlK4vfwZ!(ehauFXlh-9R8 zK=A>F-mF2Z)nc_+&_zVx9&?j!v7##};(kLDvMeL6uB?!hoQ&J;rW*wvC+Y9+W8g>? zN=QMLW%iVopgUa1vVR$Xfg@GC=s1pdaS=^H!M^(4ufD=}mjjr_f5z>0larG}MtVA3 zw|1fvZn5l{LjA)@AQ<3@>M}&nG~c#&ppT41G#CtYwqB&9eHX5~F7A#WX4j!&?zmhO z{_t@=FxKVoo-=dF$ZD;wurXIh4iR|pG{}#R|tz_h{Vsf{B4T69uh#WfQ;LGOo ztSqmfC}F~D3hJ85^70C@ETbq2?ul(^K{oYb zwOSY-A7^Q4iMYg89!|YR%DQ!kAw?k&2oMYgx#M#2bbB5)n+>bQibm8RMRl>Exq-g^ ze&UQqsy}SOKVMFAauS}&NkmhEiGuP{Mn*@8HyX)AWM9SWjJP(DvOWcyEtB~(ZRFWFU8GbZ8()Nlj2>E@cM*00VbPL_t(I%U#jmPa6dQ z!13?h^^iVr1y*`3Fo6+4vr%fo17?ZF7n3Ev;AC+oW16@T1qb8T2801dtm%Y}Fg9_C z8hkKuTU_E7u154XFFASu#h8R3qZFvr@uC@=RgJ2%VUy3Rg#85YUH{x_=$lH%r> zJ|d9_WdnUAMn(yRLO7jH{QeoF-N-#QML|wWqq?Pmzd{=%lSz^_)m(2pMc~$t~Cv846gAY5grN(U%=+Fl)EzpE$KzpreVs%ifu?DQqDcSf7u?-g<-5)g z2ycfuJlxNX_8v5C2e-TI--WO1n{nji5Rb<}5D*2CV}0FxbM_q3NEE|Jl1v$V{O}5O z>H(ZiCx&5Qqzoiyf*xJhdDhp9Wo8aVQFyVVi95rWscNhzy0S)Qri~X`PHTs~jZYQ)B;veu=e}8#FYU=<1 N002ovPDHLkV1j)iVG903B&m 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 P00000NkvXXu0mjfHq+u* literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.05.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.05.png new file mode 100644 index 0000000000000000000000000000000000000000..42445db2825b475df9dfcd6e68008fbe279eeed7 GIT binary patch literal 1021 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 M07*qoM6N<$f(<|A;{X5v literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.102.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.102.png new file mode 100644 index 0000000000000000000000000000000000000000..597ec22f87a9b677cb49eddcc96eb68a250de621 GIT binary patch literal 1054 zcmV+(1mXLMP)O9Hm_Gmj03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00V+aL_t(I%O%kLOPmD& z!13=rcc=H_z3Tb+I8)cW^Zo5|*kA;rQwA{>K?SQI5F7|K2#OhoW6%%%G}vlwjr|b0 zH5#=VgJn~gEIre$sp;(8+F5sco_hD3ulMrYJ^j$z)G^Ufiy!+uPYUdl#>Gg=B zh{0$in^o!Q@1sx@$tVgvzkW{pcOino5R$b7ZChLWKt@p*)(!Eb`Z%a6b@g?O=!WPh zKf?U-ERPO%F{z9*@BWjU1_|5#HWoV<$WCYwhP}U#pP$d`mN!Z4?GeiRhm4Zpr{O2u zetwGreGzBp2WfY9;rYYEv4Yo7f$Z;DwACtt_ufII;$pf_e?&!vn`^UE_4}O5y zXKZXeU{$xu7yZ}a6+4$6y9jqC&|J81QO#ttgu`Lx9Mc>z9%a-&!cOZBcTP?6c6TSX zcs?8URg$qJ2w;#5n08HUdN&bN;Qg}$#N%;ZwI4^8WvU(ZSfUnMuk7dBD?>Cqo0^R}0(%}z2eH1XW^ zj2|D)aa}3I;c#NsT8PDEG^hLe)p$IPBo$#cnbB&s%JtJRX9zV_d9Fwt|?U=@_?78=-G!_w!MOhP8$eOZLB&tvph4N4ZuCfBA{_=6a<)PHtLUHq)$07*qoM6N<$f@5>_Gynhq literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.103.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.103.png new file mode 100644 index 0000000000000000000000000000000000000000..686eb7b039977ea622ae54bd6f3788b0b69e4377 GIT binary patch literal 1062 zcmV+>1ljwEP)WFU8GbZ8()Nlj2>E@cM*00W9iL_t(I%LT!ENYn=a z!13?>PS5jBr=EA7XFghXx=YW;rK=z!r)g4IV{B{aXahlpBj}%?z-9;z_D950#5K0T zDsee7+Xl)KCV|((QZG$B%?F*Hue;x=cA_C%=)H@v&Uh*`+|n1%Xl-_0Fc6A1a+($hD6TYQc$Ph7F}0co zr<2*48LXxvN+SnxRaDX0(u$;!h>nUz46dU*aq3iacSaUXj8S;Amyy&;R4NrZosPZ_ zEJ#wArW@CpsyU75^>Xn^CmwqkrzW2Clnj(*W#!FbN#a^wkXM#7Aj{-i^BIg9pknti zCYKyMKU~FAX_!g#OM28M65cPvSvf`Iu>#?tt)JxNWIl=i9RJP^uDC_QQkeS>U-4kB z7kzXpEt9t?*Hw}8B8M9N$9&iRBatT&lolDm_HQYPefOxpbdkM#&D?Q3!)_m@(OAt^ z))qO#k6=h-dU~3ecUk}%Km7uLw6~c=8I49ZPM)S*)lW?@NawPFlByE48ZGS?y7;Iq zAH1z>Y&~KnYK8WuE;y1%=coa9r5{CGTZbHuL~y&^OeBqQEVi1V=|TQ*jdCTgme(OC z3BF`D5?2U#10aCfq(<{j!=`N$K?csZG~@I6IGK0`Q53NxSvh;uM*seQxb^b@1*6YU zBq~tHt2vl?nBCji2qA%r^(vG_MYiUdEgx4DWArG}2!%q-hiBOH)=crXjbDm&gfohm zGt6>tWP&a!g=>rV8A&^W*C(R5bh%0P`Fxm6sc1D?lu9Kr-FIkkI_Wf<(SGwSp->37 z+l^QBB8ol$OePc2(a}V`7az}x%EeUr1c8wNNdW`o7lLUGdv*>>s^9QzdiXk_9#It8 z|8k7g<0p8Y`jq135`>T>@!`M}!N)=FE{)+~mE7E18V;4A-i#v<2vC1p#jxE@l1|58 zbvl}ET&Hl!#v7LlL2uC0;B>NaV1x74<5-MVkYzFhd+7MHo9x%wG?>=dE)|)Zo8#zC z1sCehF{hXzMx{d0`uz{GE4)B(F@kIkQ50K($LnEDSSF&0u*;tX!0O5>h7>)H`BAbB gIV9`#xR>4h51?j(#jlWrM*si-07*qoM6N<$f+RKRA^-pY literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.104.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.104.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b8abf1d8a5e81d0d3980161c16e1608271229a GIT binary patch literal 1071 zcmV+~1kn45P)WFU8GbZ8()Nlj2>E@cM*00WarL_t(I%LTy;Oq2xx z!14cm+#PraNWAVo#AA~kggmJN4nYp?J5b=@9{ql@f|CW_m8~l%e^C;zN#dD$k|+8n-nEmg z{7{Eok{EZ4;(yzp#O6Ls73J7+US-tEzFSTqxuUq*WV2;QBxg?|&DQILpD~pAi2r8M#71Qr|s}AABE= z$BU_=oN$c>x66g;w=c=OXk~KJiWnG)-0gCcaQ`2&_eEoPH4UZHNpw#aH;kd=1-?ed z-CwErsF+9d?M%l{^R`M)T4Fj=+k2q}gib>{Qcf=K1nfum`%SF=Pf-+^Xzl!$Hp^8) z6 zngp;{Gq>2ojC_XLW;2Mh)c1!m{niSynwmPV+v8z+dYbA-7pd8GjPB7}T(X~3ep!JQ%t z^?E(|pJjp#wuNj#vfHt_XV`7a!Y3ugP&u~f;Dl^|E3ydI*48)|qGr=eJv$pGsLS7u zdt(ZguyI;?hiP(!^YznKdLuHhJ0xUfjIRnR>k*^~WU` zj~(Sy>8IEwJCfu8Komt33I#%7KmaRYFBpj&<}b^iJQyCPHz64^g1EgSh6d$1QY)hf zzTS!q8LvMWU}Iz?gB$MSak~-LTrSc&Mp(VGO7qkJ^E@XuHWpL*F8mh!aXOt8ombKm z9m6ZZ!CW^6Q}O+`Bu^Qbv|15D!$L8c&CG3`<4EEj;xvii^`dibqVA_lL_dzkB+l|8 zRl;Jiu(xrZQsW^ihZ^uzDiI{RM9I-SI@|tZS-p%_qh)D%nHj8WFU8GbZ8()Nlj2>E@cM*00V|eL_t(I%LTz(Oj`v2 zfZ_j~-sx#+Df9vxW5OWZFJnwIiAGKKVw`hv%*+QbQ-d+t1IeQC0hSnJbUv7<$)a&F z%+0uDnUJZdBQwSc$b=OLkx-$fwDf*j5PI64*6$O}UOZdM9?hb^t*6!1LD(F`f5^}2 z#2JdE5~3&)kH;DBxJAoC3+<*Zyxs*|ZYQE3BD&Hw)ckOO_2zYcb53%k;t`|;iMfsY zeB1U7DOtvsUO}3Y*q1%PY;2lTZ47{dsv;UqMnsLsxxu@=iuGeJEj-cMp%_ zTV18y)5VeE!<>10h~BEB6v_(dv^wNm9N~ixFO`CU4f^`}*vn>FT3W(jFd#`1>2#W$ zl0z=Wd9?F!0)9Vp%yOdkIlSHlYHRl+ss$C3$;7q9D1N^my-r7KTPyb~r|IeLCL<=P zb2M-#Il=F(cM-}2wzjqioeU5NY#`q0nZV(2aLO{kYwr!SDFsjqDklbSFurz+N}U^* z)5((+$7!5v>s{Bai)l-xrFAF`}9bCLjz;^o0MjDF#cy^d3l-0Pm@I3wva26 zoPXmZe!Tu2?1{KsF6OUXC1aIoDRiK9xm*N;K{EObIc<(mC`@l}FXl2cjqyW#@43mu z<*!J%BSf?j@ItyZ!M>$B6lWIEWHKR15*LRin9To7M@I+0E>3Vw7{zk_b*ks9@p>1? zrm`4UjD&;$YDy(*+hMWo0b&V=MPpolYlx?9&mzk*&GvRINeh?9`biy3@xo^xBiICt z79&HS-k@%$9x*TSRQx!auCAUDS(XX3{)=v1Pd=Y#U0vn||FIE8QFvnbOSB8iSglqPdvUgx!#JHT>g)%x*~)RmtB{Ho zc6WElWHMMR77PXhTC2rEM8C=8*RPpv~GzZaPP)SRzT3rlux@Mipa5LQxb3-~59=r>3x1RB++*Pl(21 zbcT8eZf>G^eqdl^I&_a{XO#MUJ+EH+g3Ws~m=!D5aw|fjgn8DFul67ED=N_yA3Hlc zgiRZm6$#C;WBns}twQ;tgS=Zon2V6v-XCjbBd literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.111.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.111.png new file mode 100644 index 0000000000000000000000000000000000000000..b9dd163ae7b47b0d986d50bdbda3beff6dc51791 GIT binary patch literal 1071 zcmV+~1kn45P)M==$Zfk03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00WarL_t(I%LT!EOw?vA_T9^6CjcZY;%JVKrl%!F7O1gp8!wZvv?JxoTrtdXvCj&rrPTK&;hIm2uX zXKS!D8Ec@jSSb%d@QyGqUg~kgalmm9-S3`#KC%O+4? z_Y+Sf5Cj3g-%m%;WwyGuQm84x>2x95tOzmzL0s8LdyA8qycv3}J(QbwpmXUMc{ohy z+cPW&0!*&B(e>*{4{c&-VSwd~1puP47=l`(=Dm#F9BllJSJbc38u}i)FCA$vM*fXn zCMPB+w3kpGe}erVG*OniooI3tr9w#{>_;%97>Gt9C|lckwdq~*$BR)Ym58FqrT0$~ zk0)q2bpop>(sI&4!`08IPO8P@nZ<5MN4|4swIddda$V8Q-Ml@JNKjB%K#!uEn#^Yz z_qw?KWF5DneT-+1(XO_W5;XC5?O((PWC+(wyRcX+yr{3|t&f|T)jc2xiX@WO_@Jkore_+T7)UIL-?S~>Q#G&$3rj}BpeQN$WlXDSs4`-JE&cHj-QUI z=sJ6zMcX`6*=`z6onR$@k>@-8NTCpdMx#Ne({Z|~i=Id~MMXti8|&httQGyyL!^zS z;dHtPEr(FM)$H9@No+aB;M0#WR&WO)0lf2(gCCDHvCFuJKp;S#sSy2=p0ih~xNxqU zm%si3nNfyXucqm%HZs>9MTiL0`0J3Dl$1Jt&dTON{uIiYBqEUrGqDLi`S1dXE32H} zX6B!(qfDnxa%uQaKJA^tWHO_b>sek2Ag`)=${|S-&orMy;kt{#U|>t<@7xPTv06nk zO`9B}`H(6cmHgNyPXc-p9Qx z1($d|%^CiB81&Y0;cxGpjzf@oE81UZ2SL|b0Rl%E|w=jEi5UpgukYYf#m_R#p zpUI4SMBFia?n&0x)|k^gL@Vi#S5{UzA_|F=F$)o!gluG<;OZ(qnU~e%6*9>p9*?8+ ps7TvrXLNE1(P(3fDGNyo^FJ{^f%7xYG%^4H002ovPDHLkV1iO{?|A?K literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.112.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.112.png new file mode 100644 index 0000000000000000000000000000000000000000..22a7f02cf8b5cb9eb83d7136d65196d3c906d613 GIT binary patch literal 1072 zcmV-01kd}4P)WFU8GbZ8()Nlj2>E@cM*00WdsL_t(I%LTy;Oq2xx z!14cmcN_HN)*D!dwYDR#=uRGacE(Mp3#k&(Yjkw%NqkWwW&` z*Dy6$FH(vY%2N@H2q7SjL(YS{-bkaT~t9YKz{hwlTrg7M~gAG01 zOifNwU@E38vWY$KG+=8!Nhm%8 zwln4!<DOVPC@$S_47893AAKLqp8q z5WY=5a=!nKnVxYb-aJa|e@Xy`4!;Gdkg}SN%wRBJx7*qFb^+Ca0Jeo>N~=my#w*Ej zW%JeRm%(RfV*;*leBjc^Rni6Eh(Dy&jX%NO|`(8G0kBscBd; zE6B>qWUJdkV`eSEP>?zM97rHe5r-^6t!7a^PuFMr5vN78Vlw0xf$0I)?)-q`5eLgF z%e2)4$C;n&CTV|W($fH6{09o|8fsE zdwbF9bToeSAx&paQ{*sXpPxtiWL=%L&v651k&~g=M|ttoIp%NlqZAWJ&?F#PilQ8x zWh(tof)in!6H~NhtYaZ=4yC9WFU8GbZ8()Nlj2>E@cM*00WXqL_t(I%LTy;Oq2xx z!14cm9LF6T@wz(>NTN<)2&ZsC>Xxhv^mIA3(aKU+F@lk0Im=Bq5{F@#xi(!zPHvRnr#OrkkG65mpl|=I={Y+#`(4lK5FLpEP0W}9&PvZW# zo@G&F+% z#xN#ilNa2CrRzG@s%rey(HI!e9Q$5#WlDV>QT^mY%c zn^sBt;a4WQh8cP57-9cK0MK*rZAgN|f0B{M$H(K`xtjvTHFkNuSRGn&ExAO5M^JaT zktb`jz}kRQKgXPWj=G9Q$dAU_t7UeZ8(D2_y%Y!rF}+^O2WN}es@g&4NIPHKdueDM zr2Tj?QLZ?g(Q|l~Js^NGK}q<(;jEZe5G3GGRV9tD9bsqm9z;iV7{f>K_oBEcX#C(=rA_72vPA(12gXnZR67+hubl6DI>4|Fj2D71% zwQCLJFPk}PD8lFWQ5shWGEga1$RCJ|WKLnH{flBeHV-i#Eo5zggax_{Y0M}-XK7`L zm!nD$MUh7b`jdK z(cMir~Wy#D*CY({?+8MysK0bQI@CCx?vNdDD6kB#C6tBh+8MgyEin;%BnB zpC@9o*|>bJhQs?`#3mafOrbzlefo@K4@}~n3L>TY$X4aDw7kTE;2;e(n03tZKTNrUd!?rPaR2}S07*qoM6N<$g6kCLcmMzZ literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.12.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.12.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe25557409f8633cf1eba2793508ca55e02dbbb GIT binary patch literal 1065 zcmV+^1lIeBP)WFU8GbZ8()Nlj2>E@cM*00WIlL_t(I%Qei~Pg?~5 zz~SFHSlZHpTnnYx!pgv{43Gh`c$*8EGg+c&CR;Yih;s}#vj>8g%?C&v7@UcVV!~b| znNAa9bR!rym7s9~vN~48Ap@l4(%P2x)S~qCc6`zA5BP+`-G`OPgAr1PQ?cb&;?}L; z-0I}H^@Ai81yL07`~3`6e#!Rf?d;H2<8VxqUtmBKM8y1%3DZ{=mbNYNy|N-m z_1s#v^J&G$1SN@u&>Z@4Jw*`Jbxx<`c+^&`C1cV1a>EmL1#&t@dT%*+gGwHm!% zPbd^3Do2r$ejcvcjmzoe7B_jy{0t7qG-mUCh!1t1Myu6wdHoVjr;}8b3R{H@d+r1; zpYNsly|*dODdoGsHLT~}Ku8ntcs#5%xp29b5%zq&N7*~|BssacG``TnneHPrn)gBL zL9V~qf=RMaQe2EGHI>P`W7L&4plWO3O3wi-85YEvZ|g7?7BZZ?!U%E7*v9zy81|E$ zge_s_ZL{n@)rRW$^QiyP0boDb$%QjtQ24i*l%}Rc zBLqu=9O{1uAyYt;uA$@o&nVuoBF01-{ZEimU0u^9NfIvGBC4fSVzC%YiFtZn{|M!3 z7&)+s=bI`1$Xg(>n!q*uGg(>L=u*-Nh9pG()71Vs27>`(K>;Uv1{v zORbzeF~t2k8?ktd<&|YD-LIn6Xc2mQ`;@!#EON1oY?sNB^Zq}HWp1*zbB%yMKr6>^ zI-P{WVT?v2zZ6XJfV&nk7LQYrQAKnjijq`l7vx8UD3eoa00000NkvXXu0mjfVA$-& literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.121.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz/0.121.png new file mode 100644 index 0000000000000000000000000000000000000000..7574bf81a3524f9d6ee88c902564465939bcc149 GIT binary patch literal 1079 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 T-Vgnf00000NkvXXu0mjfMH|S- diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone1_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone1_lapis1.png deleted file mode 100644 index 89f4384e48a16849c690ec753dbff105987d0e1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 995 zcmV<9104K`P)x z*+Qt9C}S?V=)hobCK^q2(V#JkKFq}_=(1&8H`q!clNHt&w%#3W>CtQJ?`Inw{jeC1 z$AKbVZxxj;7qO)!_Ju+eibVuLV10d^e^*veygP8aJ*a8~#pgw^2?&YA8W&clkY$Ow zx;n}wiMCLPU$0b>ofs#nX-Kk+X`0w<0s!+%-2hnmJi_+U?HsRtk-(V&CckXLFbw8y z-9j#(=E*;=vJ{Jvw=DeC)x7*x9{|mJFX6B|5JeF|cFI_}9F8w8bLD0Su~-bd!-1kG ze1GCJg+h^@!Bcn@g-=h1>G^GxV6c^Ve3fku2e#pN&la_0lD4)G^9%EAnIQ1SkkR|`DLz~-Cy7J?pU;P?Mi5NX#N+X>ncd{*J40-%7$I-vF%Ng~&-Lrv zzH^&u&p3^ZjXc&K1F&o8B#A_VV6YV-lTK6Z_p`jb%+KSK3`gpjot@!EZ$DPfqJHKY zoyU5JMx&&R6aY7R`^n{UBsC4OtLvq3Qqx$v{}jrOM|_r+Xm4+4@18wO|9+4{^M9n` zYgAQLku|ft`TkkrhYsVM`VPG=fKXamN<~ElJ(oI&E=CCkgQQYv?nR><`K1|2mQd9Q zb8{-PEEDd1oolmxc(ohdFc6Bs8)w3NeXNgAD1@eI=(^6v#s+sz3^Fn~!J&)iak`v5 zSb4y+Lj%*hz-}~6!!C+cDj)H1 z?KNt4?nKC07TIhT(=_Ru8Kb3Xfrf?#0=ol^UL)QV2Wtq8)lVmnG$>%LZK_s2d01#V@aqxh~-MjZuyk2T+Ye_sz@IMx_hLtYC R_s{?U002ovPDHLkV1je7$=?6~ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond1_redstone2.png deleted file mode 100644 index ed80fc0e3ade3f90e6bc500f81711f4342d5f1cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmV<110?*3P)ZJC#UKwp#xL-wL3?rkHwX=XqiTL>U? z6XxO;87O9ni7|UIG4oMp0uRfWYzdT&)vlm}!%_v;Q=s&mp7tCc7QesX_wrdLCN7z> zECVKfe+^!bhs^3KU5NySX(9*$+uPebT3;vNe-59onq+dBK+un15fHN3$6VgLjwHDV zhr?94T*MOz-u-zLb!M8JqTrGwG)==|5$GK{&Ht4v6$HD(&PR=J(mXbZVVdmh?69=B z$noIoyl``l)l7y;xlC;+#9OEO_-5=J0HRIAYPBLrZi%w4BYyuQNBT~Z$z-sJB7s1F zpZd>W7$&_#r||~@e0yeu-d`t(E#5(vH+e=Bv3z!J+*EQo;_(D44^}8?8Xd7tY*rhX zCZ&?j+MjFe?d=f^1o3#>WV2aXQR99D1REr!vJ4{DsCzWyq?VTQeUs&MY z{dm;3!ge13I?x365p?QyfQ zzQJq5gGiE#WOA9-XcTKAacCs7o5zgB+1lDd*L6(8x0A~&2mr~hmuMIs!0-1H3I=JMy+M;dNL^h$EiEk^JQ%?(xfzHYMlb7Z z$Qxh*huwiqa=B=zuSc8y4#O~bkV-*E970>n&CLPemfSQqH=!sBHmj9TD8z;=Q(sqy zpqI<2s*0v*^xc{w5{b~-+RFJCk75<9h@wdQg;8$J&*Sy^7?`@u&{vnJtqmb>Zep4G zdd4j56-cMkRQr5%pC94&#Yt361Hk2a7ELSRbUH~UlSHFYWLZX2)u%5gIfZ|>w*inO ziKQ!7*)JB+^%6#3Ze^>eW%KQKT002ov JPDHLkV1isQzJve( diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2.png deleted file mode 100644 index 47becdaef9b3b65cc8f14a08dc2516ba541db8f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 973 zcmV;;12X)HP)B#^916oN$ zK~y-)UDD4_n{@zy@#p=%E40wQ1vXwVHZqHjCvcFCF3PE@KTsHGHeV0Q8I7d(eY znxDVv7={5jsOkxto0>>&Z17?%M$K^$LXgYlNTt)XsjalM97oeuXbY$aNg%S>ZJ>st z_y~nUH2QqJ5R0+Bvx8x5v7gW5Qxqzd3X&uky!0;5ShkIDd)x?F&~tr)n&WWl{8^SC zJ|vyVaO&D98_6WLWzilC^7bdAB<}nOfa{nGS(cH$n7`o|=?ufe!#pjQNhA`~*Vp6q zdNECtqskF(cRjs*eWX((e<+l#*ui9`^Gr4qsRb~ZOR`2&kbk2YCay3d2lV^~#- zKp?>B4=&-lc#dMB2*88OW4tqUmHm7kDIWjIIjUB%Eel2QllVKq$&)Y9*w9EWmqXXr ziAINzB#D1gDa^b{G&+Q)t)Qx{2#?2u*X!lg$#L{`ooF=5YZu;QP1o^_T*RmN(6kkn zmo*ecp;bMBrmYZ-4q+AwNVmTI&e_fGvbVoSEEZ#Tcb96lN}*6d2!RlSH|MYO>$T4? z^Co8(zGQJ?nnK~=zp{y|la6VcsI9G(%Vm%xge15yJH^lOuPGHvSeA`lvv6t-#bSv- zAb@3ASTzgr?5eJ*aa2_$7zptC>?Df|cj@Tpq_3}!-rfkO=Vowls9IGrMuyPL6+CVa z(%js<)KvXS@a=A>UQejQkdHK#w z1_lP`3HKli8JEk&bMYDOFD=pB(!%)dZ+QIV3GMAcjIAxC+uz@HO2rbou5-Mlg*WD= z=|u3;=WzghJ};HZ5e*FuXqrZUe?Nv{P$`#@Wtn67{X7NJ1VB*~mKT2D&;31Y+d>vH vrP3h)$@L_mP&ccqtF);q-QC?}ce4BofEaS!Y#DKE00000NkvXXu0mjfPv^^` diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond2_redstone1.png deleted file mode 100644 index 5d89a51091855491c434e6e41d842a9d0199538b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 995 zcmV<9104K`P)hA$MT5sgIDTv#54aHGe)pcdyVqa+)8}LB@4sMa zng&?7-H%gPP{7>$JWmG#WGxFp5LjPdXE7W`aTnuq6``t=C>}S0O+bi5R=Bu)9a(nZ z^Z9tp;h-)MU}bd`{nBS_Mx!`n8N)EJ*#v5uUgtk%CWDY`&*km%{ZyPiN!GI1(|C}H z@o~aSOVs@KGxKwEWK5G1ua{TfY2*IT6#%3h2~iXgWT%X|wT1NcRT|q`Ip5krjwGQd z3g5S%BAc~n>h8j=D131$NYm|p{Qg=rZJBM7gzZ;r%ev9oOYiW8d+|=+e_z#3zt~PFY6UwvC4N7XFE>k;!DpG&XRp z^#q|Ghbb#9MNt&yu3n?Cppe40H(9xPi^|GMgmfx}x1@xHg$3?la`?t+Mn^{&Ywp0@ zGN~H5%f7dokluKWWIPGLSaS!5d%D<+MiCDjcqON&#lb@f@3*DWBW<&V>eqKC!gqcu?mfkZs zWCyA`$;5<;EXxF&kD;oQ(0GJcJdU{crG3F;XL>ldxI!QhU}Iy0u{*;g5(#bxo?+n1 zWt_u5uypTt*8W;!fB#v+cSi_^m#Epf6WhtIZYvgx;Vv#l*LASj5NrZRdwckH;5?~h z3e(Jx$(npH`yI{7UOXNTrfFhkO~l>1_XG{Y;Hm!8qq97tk5>MXyg^|%w3SBNb2QRYr@F687 zUbN+9Y=fU)vQo(up-_k-my4JCf|Mcf&HDoYI2`#H#v}6b@=#Tks;Vk9O~cT2L{TIs zx)~)Nivb|ZG83O(=BLfS$z)7KK_rz*128u`htF5e^z<}}+f8|SIg!-}{{o?YeuqPp RZ#Dn`002ovPDHLkV1fp6%0~bI diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_diamond3.png deleted file mode 100644 index 0677cebe52b1be032cda7edde970c82a189bd54e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 997 zcmVD!xDmS2QYfVbR^ZTfZF<_{lP`Xs%^kvn;eGFc{@%_2#HXV1LHf7E;)QEDjVPWJ$ls1!7fBkd=c zo1JB4b(JHo9_BhPl2=viHXFw;_VDn=_W-nC9zdtlA!MVBn#-a8;Wn8}hHG7YymQrq z#bV)ZuZu!KBM=B+wph67ao39c6W146*$|3I%@=};sEXLEt0Dk{tbo3JkBE-{Mq^_mBArTMv)c&_pCqXy0eEn>k9P+zvAwf{uC?{3`;8Aj;L)EmNV5+K27@#=H`93F00x7B zrKKRrNEGdFADL{1m-{;rk#+8VcZ<@J5`@8E;Fr;FdG&HX{>OeC4hOHFdY?tVpR&%= zl*wiIeDloB`H*Fqi6IX@-#jml4YR8#NTXkUqs3!!659!!PABnroLnx4q9_O<5JK>_ z_fvj#eZua}E+@vWFh1Z$QTA{+4kJxzIqk=e9?aF%WHK3$B!nb5_4yz_4PPUbOrffI z@&y&Gppi_buv)FCs)|}r(OGl2v)L?%yh9YtFCfb@uUzV8YV0PhT^*#>)+sMH@>1_P z7AGc2r_(5k!gE(XBQyOMlE>rKj7B2>>2#V!zn}jz%0?O*>IsL#?CtGgv)NdUM5wK) zLF81GOeRA%n`P1Or{%_VnwpwusBb_gbm;YZo*5oudS-@-%1Zjb9${m16T96;WNi&$ zsy5MjzJo^#3shBBauC7M?vE*G1#0)z($sX2Ctr@y($YdG6yna+QHqL+*gtrIlHy{d zFFamN+1=$yB0)oaJ+f>hv7I2FSJ4R_MS48|8}SXQ%_c&jWh`bhRVEX$^%(yGeyE89 Tp&j{O00000NkvXXu0mjfFcZyk diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1.png deleted file mode 100644 index e8a4e1a4cfcd44dedbe00ff45bf1eeea2dba032a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 971 zcmV;+12p`JP)16WB! zK~y-)EzaLh8wCKs@$X&lx|aT+Mc{gEEo>Ajl)``_b6Jep=1h#q=8G}elZlCm@4nA} zWDgpRiOF;^E}7YMi)54uGeW@4z@WdbrG@sc?dY#-&zF7vf{$?X>zh_ zf-6UQGR-F^pVGH1L{a4U_?Tbjer9HShJ^DxTU*;Gfl)+3L{y9rp?hN-P9O4k^mmqr z-od@?=I`t#Kg@ndRoB@!{==Pe6K;*MQC_DSDFa~kdPokZgVWPfz8LrtK@|C>d7HV? z0_{$RbGIkim-a}^oJT1IIqft_23L64`3<=*bJWlfy@OuNZWmD$X|-C!cju908AVZW zIGyzS7OPv28C4W|rpevR9j@4~k;~;#yAKE$lg`Oks z3iK_DGffu&spCoRs&|M+qpa0eIg*ZG z3yk;);hk~Xqb+RLuiv;O%QC+55Krw-xEQ{~AOAk!S$G3qZU|HBVr1&nF%a?sb`v2{=3sE<`Rd-k3n_id;SZ z07=s{48tH3e~EYB1A;)71ER$ki_K+TobDnZpnG)Wv`nUvArJ@cVETQ7#uy11dhhpI|>ox7)>CbWwFx(RG7tE{m$FI2}$TugAlYJA zH8<^cn|JpwvzAKX9~vT?IHXiAGp{X@%jXe?M~2xfKjmcQgy2Y!X(a)cMWlU>@S9;K zUQQ5D12mR(4h{}@uXz!d%ZM}tQ tnvCb8jEoJl@gl{<$P^K8lH#i({{z!=aE!(9Ah7@d002ovPDHLkV1o5zySe}X diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_diamond1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_emerald1_diamond1.png deleted file mode 100644 index f7fac588bf3a75d22263a2e6bc25f04bfff36c49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1017 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 diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis1.png deleted file mode 100644 index 44ea2bdebe26633f05266de7956da57746095cce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 927 zcmV;Q17Q4#P)(hO8`zfsFwP2Gj|O zN}Ui3e*zK;Lh68kh)Pv)O6rEQVmlY-nuPdwPV771lYz(g5BLn<#GN}|#-?ckF{RQB z`CJa8-R7l6gD8%XB#HC$bGp4Adg(faLXl>354~JMN=QhS)dwOpEyKdX0@IlcFE$$d za6gY}9y1VvjHWS}Oh_ao0QTG400d!(luDlf0`=du_(>wJ0$FvQD zFbJ5fR2VxB052?kgQ}>=vW%o>o_Ez`+_hCIXpb%w+9b+{KsP|#e1x-u5uwR0Py(ae?%FNMl3BY z(Q37*)t=|s>1XWj_ED820M%-hZnsMm$GDCQfH?h-d_KoO2qazCF-?=B{uZ9+(eIzI zxw*;h+pn_U-llWdp;oK0vb;<-m!;X_u?>$uq+GPwpm+S!}C0Z z5WqhVE{B%@%+1f?x(@BmE4;SV=jp)#QVg7(o?+WIjYb0@1h#E+d3nibG)7K+PBxb% zo6B<4J0hLFMz#D4&E_5}%ge}(#><}yA=o#znV$L?-}i~5m}F9=SS%1uek6`!q9`P( zs+^sjlg}4OrBV!Rfx^GN`TF-vUn?QYGQJ;>N==c==ZT{T-}kXBi-8#62R=vU5tT}X zbSjOaWirfFs{oA0V;(kZq?6zM=i+$pP@egTn>QB`LZHYpdHpL+`X5leaRbE<0$kT6 zkx20L;DB3eA&RnsH}UB8dT7%-L{W-gcXwG|UuWz%4FCFw+1U!_@iEfO^%=q_V*kk# ziiHAKS62|nL~%rQuFA^FGUZB{t*tF~?!U$2;v$NoaQf_&sbmsG3 BsHOk_ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis2.png deleted file mode 100644 index 1ea5708d3d70ff2e7923b84c0ef2074e27299fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmV;%13CPOP)k{6Hs7Vw{FX>0g3xZY7z>9vIyxd6okiqBlF4n#r81Uj5ekLK<#OEL9;4Z40$?1! zgK3)73rpC|Szcb|`t?=z4mZgDlO-CBvc6hI@hhZKyTs#*)M^Ij z-7YRkl5l%GOoo%BGj%e#H(6Nt8C@^3{>%Zro{v;&mqzc6P?F`Z*`1x0o0o$7Na;-EJ3$!@)s1&DG0&T&{U~=RNZI zJo3;MgMpXrWRh4cM!VCY@%TN$;W6}L5n=S=DAmT>>^*wKNFYG7*#z5WFCAlIa)SB! zIYMJ0R#sNny7xRYGc&kcE{^{_#^ZM5GHM2c?)w19vWzS%oYqc>%>2%v@1)gg1E6Iz oUU<%6e?N;F3^Fw}MWtNfKS_jeO&%~rv;Y7A07*qoM6N<$f>vp&$N&HU diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_lapis3.png deleted file mode 100644 index 99ce2fe6be8d93f19bb7c6f1dc26a1f18d82f247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 979 zcmV;^11$WBP)4OSzVEKpQHs!LTSMY!M$sW1=RLXyVT-AsS|{!`BK|7 zO`wgcdU3m4=&2ObkqF1_Hi95fEEX{`8GLFV9#1c^*eX81ieM8E@_CC`@=av<1jEC_ z}EHU!>FN zB$hmnuIs2iA47pC>2#W@snf*QCviv;LaW)r>2#9Vcmu;Qa7YpplM`tD7LQF&bNRL@rChFXSg&J0ckZRnB}u|=OJG?R$<22N4e8`^Ifk_aq9~HhWchb9!r;Iz9UTtR z=^9Tw-bK!`5Zb^_VTWq9N+c3te(oyOYL%AoDYe=@_RcR+TndAMDA`OFr?U&qf0I~j zm9f!L1k180l}p6+MK)3?YPA~8MiX1(GkiXko3~c5VdMC?#qR!dWQ+`5UEO%SUjB>* zc(@iYKldxDs?zWG`!S=ATEiEm#6-B`; zyo;yj5-V$?I2~91cR4tE5x@5jLZKjrVX(KihuilZJJ$PX0|N++W|MloPA2^e$@O(6 zPu^#2Y>ZGagk7*>ZUu1kEO9Fu#qIH67e#g-d_*A7kD1FMc>BB*cR#@CxI(YT!`0vC zq1`6FK7lr(3Aj1`$P(!ghfUhXdP%rRDZ+waSB1iBK?zEGv}C zC0eZ}4L+f#<0}9P+XebmFPocbe5y*X*GqmY&wpwBXXgrTDSiL|002ovPDHLkV1hv4 BzRCaq diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone1.png deleted file mode 100644 index 2ba46e8e6633eaeeb0f0bdab72b2c30a928a0dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmV;T16}-yP)r}6ub)JNv{fm2e;s5ox*PHrd@2NyF(M{Oxq+g$$UJBi|_t!?+II5UnaI~0|~|A zv*dK0_TeGVH=D#sf+&jgdOiL+KE^0clFt{gtbL495m68k9p^D$o&12RW|^IxWg?rU z(QNYg$rJqD9nM^rtf~?O0fHd%f5Iq2Or=x2Kl3WJT9r6SI6pt7Mqe*O&S8-~cfJ-u?6=JkO)qY~s2up679K zal!h{x48YyE}E{P=^CBm4(W6TRn1~q`z)F!!iO81iRXC~CnxcJ9|QqW5D^4WHI@El zpD>Jw;*i@9zvms}6-uQNVHgs|A@YA=NU}t+SVWQ}u739|;p=ap=W--*%y>M;aU4FV zzQ)+~=-3^~1W+f=Sy zLmY=8zV8zR0qb|~P_0&3TwG*+ZXQXLP!xsQZ@+SPZ;xC)k0i^ScDqbXm9bAw5bk`v zoAfXH92^`_$mfw21zpqdg8+bR_8Ed;L?)BLvMfx~#I|h$-~aao_sr$*UJn3ORVf)I z2E!ra@rXEz==TSNVMzO7o7veJTCElnnG6f2NhUMFKdwG)f7O)12LJ#707*qoM6N<$ EfXyN zt(Ah{X7NE0rWA%RKIvW*QKyrt(>0)unvR+!x5Xy6Y1pzhNs}~bZyFzpf516#;7D_G zAJ$CM1ZsFZM{zlw7^|xcghCwDYRIxoCX-=3kwEu6hTGjtB(jX|^&m?!ayp&jqm8c+ z!a-+eCyfpVPliJLu;8LR{|VdKEDj-Pbbf#&$pEaZjsaj*tH||gJ(oIOBoOd({qtkw z^LhSWT0%75BoaEws$o#IEb8U=DDCb7@Pz*}6uW}WW$o)|!W~T7yI#tVJ;>S6H!G270gE~b)u3A-8RVBLi3e)2ks8bYCH`!INrzUSmKCc5Rb>n zJj&4SGthONR651*&@NkrH`y(Gi{J0ZUMd#x`~5_tQ38P;F8tKXc&K9rfHH)onmiqkMZW`7#tkr^ywj1R>z2h1_=ZL3=eIh zIW;C`rU(Z6XrV(}R9^>GS?BKKo47VeJV5Dp@dWo|FFAcSCc z@-==7`(Sj8Tt1In173f3mRv4JC=}w{@b~0$IjZtITpk_c>h*avr$)OkOfr!~RU2sY z-XRiMrmwdb>8+`mS}vDk#Tet%zzvWjWJyMnKxl$up@?NwsUBEdjep6c{sLaF7t69( zOPu6zE#TbncX&J=TD)F5e!j);f4)R(Ya2a1Jp=-NG@&uwA7kIzCut@@I^?7)SLSM( zrU6hYl~}shi(2>1|6X?Y&f`6Lo9^x|*4NkB+1bIRf6T+wMcP_hk@qc&a=A>UQsMIA zHBKD+hrYf(y1Tlu$u>meO#*j*WicGa<#uDU+sQw=gwNN4xv_zC?bG?1nSParsf#qb z-Pjccr>3!Vub0PrmT@?ms8sf7XlUTZ*H3ePCH6%0X$Gw@lSh)fB*mh07*qoM6N<$ Ef=;T+7ytkO diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2.png deleted file mode 100644 index a95646210ee3d2ed56ae23d6e38695c2e760d034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmV;w13>(VP)(Qg(9+reYUrrxpRHzBGhicL#IBrUk35;S>&(!O9W;`4a?;kv2X=&NhG!5{G$Dg4u z5~1|)Av1*nUC%=lMJkmFd;9w&;>U7RqoX5i$Du!+Mpd^M80g1wT|_0U;Mg|7Q*)f0f1gsRgzWQ?NF?wF0(83`vx^JF z6A4_$VfL3La(8Z{X@~UqdRr2`)_aEG+V_8h+vdEGQo=2x+v-@b5dc96E zkt7lcqw6}!WD-@~LbNQ4SS&`X-J;!UF`dogIxesLw8-zbZgKbCUC!OV!os@M3Y5)ul4bpD6C?8eG<+A)yEFyZq zd*{wznkI!p0mCpbO_N%!#{9`Q`24#ya(8YMj)XbbKOhhYq9`F$b&KB}bZ?o6p> z;^p#`%m3ZHu18Ogk60|q&-oduLnCy%E?@0m<9jDgUtbiz-%r&vkO9=07f8tx@pv3b zl6dNetIY1~aAo--Ubl;F+vvK^>Cu<54U+@yfK)0)z#l+XLLmkR1^{R_n>^UwhUq+{ z%B-)i0}xiijEp>sVHn7gL@JfyK+_oL??<#9hjzP-Wm(K`Tw-)|l=1O#K70NhBvHcW z^D%bw1{<53^hKjcvdrSeWzy*s+TkI>rORtxqu!ucEE0=Gk$pZQ;V^B>0w5H68q4Ys z3` diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2_lapis1.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone2_lapis1.png deleted file mode 100644 index b16bdd4ee343a5d71b90856db3edd33e17e0c671..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 981 zcmV;`11kK9P)nz_hvK12TYdei$&v5 z5~AV*Z=4Z97GIbwYD|pDjBoHE$T9~RQ%RY?N{PUZaT-E@M=A8~dUw9?^B;Vq;o*zE zuIqqLDs_l>EJk5vh5NEuJl{u_Wwy4qSX*C5OVyJ|B+2FG(b6eoNk%q|yL`NH1yzmE z)YL>c5}_-b<;Tf5l}lq3g&?A;SeAt($@C5Mv#`<&K-G0o9(nY!!5>1$IC||@F5iBR zqfIL;EiMvJ^8Ay|U<$#ZWD;4Hv22_C)6d{J6U1XN0Aw|)Qgs|cFP~%bj~)tz0)b!< zP1C5YtHbkr`Ud(*X&P>|O5abzbk5yG*EgsM29bu|`_LD~B3)fs78VzjbcO*jGJ*SaIM#g;C^Dqnp(==&sZ^yQ6gb=(vHo_avzeH)L1i<0O!&EB! ztgN2op$G4BJD*4Pfmhxc#57H^*(^c`Ow*)PDsld7FG}sZbk5x*8jEsg{SI|?A?`_E zCzqS2wWS3mo4tRqP%@b;ze)JOZ#a&F@A=f!1W6_nxYo}U8;{_5E+4I5;p=LOcsxOE zZ7oGpAYJGm@J-VslSvZ}g;5lR1K)f_-|{kFUi<{#^Kcvo!!Rg{B0`t|WHK3o!6334 ziO_NUILSm3&-0l5^9a9pbit_@Q&Uq+{1RnhVUcJwiiAW!QK)YiWpi^A&vlWVYL!Z* zf@N8ppB|;7eUaAIR^C7PB8se_h9_vgewFE&8RCfqN+7_{rzsj5GUyu{NTZ)!^2@tr z^7%Z;M1nvtNGuwqVp#x0A_uW7n@}jkx8Fa&Q$17Yx{g(;pePCfQ55W$|G!jKMOCA0 z7q@ZUDvGR7F7E+QST6AR!-A!yRkT!!#>PgBO@sdcIi-i>JA5Em00000NkvXXu0mjf Dkp;ex diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone3.png b/kfc/src/main/resources/assets/forgecraft/textures/items/wootz_ingot_redstone3.png deleted file mode 100644 index 2144a8cfea18ce7b2a015cfd42d014ef6e93d0d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmV<310wv1P)8wCKs@&8?WjF0qMXz2&zqXeO#^kb43eDOu25+8h0qti`|+L)pHV6yR#sKQRh7oyFH<&6c6N4{o1NvD zw~uHd!E!Q5$uMZ}`Pg{kDJF(T0FbN_7K;T@w#&Tx!b?PbTO8?spJXzLRg&;{JoF!V zjdIx}IyivaA)Frh*i1-e5)tQISnCdH!8 zos~Oevst_zFAj$tMN#m2y~JYkh=oD{r_)I;pCg~k(H#s@GD;l&Wsn;)Gc5eI!0_Vt zbar;Kt!@MG;TNBwC<>ua5bOTl9t~H1QySmEA z*I&V74kqr^qdeJ%Fg7-Bmda%mMM2Xvy1Ke37K?oF#~3FcI!v*sv%9kkKvQ!Q`FxJ8 z%`~AzHMeiV6v*vyRK*Lu8s;DVIxpvNp*NhMRM1lict> zN=8!=P7Dm1nx^6Nd8w(c!D6v+;L=5+i3Ahv?bN*e4!W+RC<+-hgQ{u(_aTf7Pp*XxONS@Y^Sx=kE*KlEX=X_^fRodQZybsh^QL|;&h>Ka!=tu?x>0?3kgz>00000 LNkvXXu0mjf7(mP} diff --git a/kfc/src/main/resources/assets/forgecraft/textures/lapisLayer4.png b/kfc/src/main/resources/assets/forgecraft/textures/lapisLayer4.png new file mode 100644 index 0000000000000000000000000000000000000000..afc4616e76c0fbd4ebc576e5bc5b2b4d24d92c82 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmPdr!2n=m+4Wy6rhl7W=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6rbwp;uvCadTo%QP=f-`>B~1F?#9T}unW)sB>U&U`Xejj zbk`Ql(+SX1;nn4tn>F#O$Rnl7e3)vG*4h3Zk qUU&OqsAdlpRWTat1LFnb=RnWwt$a4Hgw4`Mklh5S9H#PS4)(2)!Uc!6-=>o1L`^8gz z=Pyq3yk(%3Bg~+1I$A9CtWN$*?uWr8(ViQK z>(g}pab#@B7hZe8zB-uupyF4yKu}c-T@*Z^z~dCFq+HUu z=Hk;kW_356ozC4_J%7cArfuJjcm3vCTKe7f{X4<5iM(enJzOat_<+^KC3d1|>#vpF zs-jg7`z~cf@F^D+cJ|#}eKT;f?Vf{S=XEEGEq>Hl%zkLD{yAe+PH}VIKD#UHVl2;1 q4q31?aK;L!Bl|b<-d-C1n>pTo0>`>fev5%FV(@hJb6Mw<&;$UEZC;1~ literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index 09cb7b9c..b281dbae 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.14", + "version": "1.6.15", "mcversion": "1.12.2", "url": "", "updateUrl": "", diff --git a/~$exampleModifiers.xlsx b/~$exampleModifiers.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..bef664bb75daf0ee5d9b73c84bb307475f3a3cbb GIT binary patch literal 165 zcmd=0&Cf{8%}q>E@XgFi%uH1v4)8PhGUPL4FeEbM0%0OU3WEYrB$FWz$j)R)1@fo~ E0m$za4FCWD literal 0 HcmV?d00001 From 2f0c56c0eb100e10f527b81f069a4a4a839c804b Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 1 Oct 2018 06:44:43 -0400 Subject: [PATCH 05/34] update todos --- kfc/To-Dos.md | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 0bff0723..2c369508 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -3,33 +3,10 @@ ## Bugs ## Current Feature -- [x] Forge Light Level -- [x] Check Forge Textures for lit -- [x] Forge not cooling down -- [x] Steel Chunk stop reading upgrades -- [x] Casting Form broken -- [x] Anvil cool down items -- [x] Longbow Fire Speed -- [x] More Crafting for buckets -- [x] Copper Tools -- [x] Copper Tool Assets -- [x] Copper Ingots -- [x] Copper Tool Recipes -- [x] Tool Class Refactor into 1 with value for modifiers -- [x] Copper and Bronze have 1 upgrades -- [x] Wrought has 2 upgrades -- [x] Clean has 3 upgrades -- [x] Steel has 4 upgrades -- [x] Wootz has 5 upgrades -- [x] NBTCrucible Molten Crucible moved -- [x] Modifiers Print out for tool part -- [x] Copper Tools and Parts need names -- [x] When upgrading past max item dissapears -- [x] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers -- [x] Tongs Rendering +- [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron - [ ] Copper Gladius - [ ] Craft Tweaker Support - +- [ ] oreDict support for Forge Recipes ## Feature Musket - [ ] Create powder charge item (copper, charcoal, gunpowder) From 369e02712d756b001e8c60cf19fea145ebf0ddef Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 1 Oct 2018 18:19:27 -0400 Subject: [PATCH 06/34] push fixes and version updates --- kfc/To-Dos.md | 3 ++- kfc/gradle.properties | 2 +- .../main/java/nmd/primal/forgecraft/ModInfo.java | 2 +- .../compat/JEI/anvil/AnvilRecipeCategory.java | 7 ++++++- .../nmd/primal/forgecraft/util/AnvilHandler.java | 5 +++++ .../resources/assets/forgecraft/textures/logo.png | Bin 0 -> 376 bytes kfc/src/main/resources/mcmod.info | 2 +- 7 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 kfc/src/main/resources/assets/forgecraft/textures/logo.png diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index 2c369508..9322b9bb 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -3,10 +3,11 @@ ## Bugs ## Current Feature +- [ ] Craft Tweaker Support - [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron - [ ] Copper Gladius -- [ ] Craft Tweaker Support - [ ] oreDict support for Forge Recipes +- [ ] drop a tool handle when crafting ## Feature Musket - [ ] Create powder charge item (copper, charcoal, gunpowder) diff --git a/kfc/gradle.properties b/kfc/gradle.properties index c28b72ec..ca197ae9 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.15 +mod_version=1.6.17 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 7923ccb9..759fe8ff 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -18,7 +18,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.15"; + public static final String MOD_VERSION = "1.6.17"; 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/compat/JEI/anvil/AnvilRecipeCategory.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeCategory.java index 9bf0c8ba..1ec7e1a5 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeCategory.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeCategory.java @@ -13,6 +13,7 @@ import nmd.primal.core.common.helper.CommonUtils; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.compat.JEI.AbstractCategory; import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.items.parts.ToolPart; import javax.annotation.Nonnull; @@ -98,7 +99,11 @@ public class AnvilRecipeCategory extends AbstractCategory //items.set(0, recipe.getIngredient(0)); for(int i =0; i < 25; i++){ - items.set(i, recipe.getIngredient(i)); + if(recipe.getIngredient(i).getItem() instanceof ToolPart) { + items.set(i, new ItemStack(recipe.getIngredient(i).getItem(), 1)); + } else { + items.set(i, recipe.getIngredient(i)); + } } /***OUTPUTS***/ 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 a98e07c1..640d8cc3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -101,6 +101,11 @@ public interface AnvilHandler extends ToolMaterialMap { if (recipe.getUpgrade() == "repair") { CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); + for (int i = 0; i < tile.getSlotListSize(); i++) { + if (!tile.getSlotStack(i).isEmpty()) { + tile.setSlotStack(i, ItemStack.EMPTY); + } + } return true; } diff --git a/kfc/src/main/resources/assets/forgecraft/textures/logo.png b/kfc/src/main/resources/assets/forgecraft/textures/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..50848f8676d98cc4fbb5c349c87cf5a5ae61fbd5 GIT binary patch literal 376 zcmV-;0f+vHP)pC?}liIe8*!TNQ z!!V?6+tPjC>3N;&nW|v8nXeQYbhur5+ezpI48Pf zz5qc9fa-Q#7e&;B7*>uO45$o<0H>7cK$5~5w*eLm_#xGGUDG&@p*jgB$p&n>2O%N> z5}Y5O7|fuqMi_oMR$!b5I)a&#lQHZB3wMD;h0cI@BA<{1E`LRH*)Z5L-m)wy1F(yt zm9z!(LT+oxG^?gSRR<&+%6+>Q literal 0 HcmV?d00001 diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index b281dbae..31ebf5ec 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.15", + "version": "1.6.17", "mcversion": "1.12.2", "url": "", "updateUrl": "", From 93b7f9f82cd86b05e3d838e6a526b05de1d7e362 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 1 Oct 2018 23:00:30 -0400 Subject: [PATCH 07/34] working CT redoing all recipe handlers, woo.... --- .../java/nmd/primal/forgecraft/ModInfo.java | 7 +- .../forgecraft/compat/CT/CTCrucible.java | 157 +++++ .../CrucibleCraftingRegister.java | 665 ++++++++++++++++++ .../forgecraft/crafting/CrucibleCrafting.java | 31 +- 4 files changed, 843 insertions(+), 17 deletions(-) create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/compat/CT/CTCrucible.java create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 759fe8ff..cb16c7ca 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -4,7 +4,10 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; +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; /** @@ -46,12 +49,12 @@ public class ModInfo { }; // ***************************************************************************** // - // PrimalAPI.Registries + // ForgeCraft.Registries // ***************************************************************************** // public static class Registries { // In-World Recipes - //public static final IForgeRegistry CRUCIBLE_CRAFTINGS = GameRegistry.findRegistry(CrucibleCrafting.class); + public static final IForgeRegistry CRUCIBLE_CRAFTINGS = GameRegistry.findRegistry(CrucibleCrafting.class); } 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 new file mode 100644 index 00000000..c6c7809e --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/CT/CTCrucible.java @@ -0,0 +1,157 @@ +package nmd.primal.forgecraft.compat.CT; + + +import crafttweaker.CraftTweakerAPI; +import crafttweaker.IAction; +import crafttweaker.annotations.ModOnly; +import crafttweaker.annotations.ZenRegister; +import crafttweaker.api.item.IIngredient; +import crafttweaker.api.item.IItemStack; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import nmd.primal.core.common.PrimalCore; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.crafting.CrucibleCrafting; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; + +import java.util.List; + +@ZenClass("mods.primal.NBTCrucible") +@ModOnly(ModInfo.MOD_ID) +@ZenRegister +public class CTCrucible { + + static + { + PrimalCore.LOGGER.info("Registering CraftTweaker: " + CrucibleCrafting.RECIPE_PREFIX); + } + + @ZenMethod + public static void addRecipe(String recipe_name, + int cookTemp, + int cookTime, + int coolTime, + Ingredient ing0, + Ingredient ing1, + Ingredient ing2, + Ingredient ing3, + Ingredient ing4, + ItemStack dropsCooked, + ItemStack dropsRaw) + { + CraftTweakerAPI.apply(new Add(recipe_name, cookTemp, cookTime, coolTime, ing0, ing1, ing2, ing3, ing4, dropsCooked, dropsRaw) ); + } + + @ZenMethod + public static void removeRecipe(String recipe_name) + { + CraftTweakerAPI.apply(new Remove(recipe_name)); + } + + @ZenMethod + public static void removeAll() + { + CraftTweakerAPI.apply(new RemoveAll()); + } + + private static class Add implements IAction + { + + + + private final String recipe_name; + private final int cookTemp; + private final int cookTime; + private final int coolTime; + private final Ingredient ing0, ing1, ing2, ing3, ing4; + private final ItemStack dropsCooked; + private final ItemStack dropsRaw; + private boolean isDisabled, isHidden; + + //private final List ingredients; + //private final ItemStack output; + //private final int cook_time; + //private boolean is_disabled, is_hidden; + + public Add(String recipe_name, int cookTemp, int cookTime, int coolTime, Ingredient ing0, Ingredient ing1, Ingredient ing2, Ingredient ing3, Ingredient ing4,ItemStack dropsCooked, ItemStack dropsRaw) + { + this.recipe_name = recipe_name; + this.cookTemp = cookTemp; + this.cookTime = cookTime; + this.coolTime = coolTime; + this.ing0 = ing0; + this.ing1 = ing1; + this.ing2 = ing2; + this.ing3 = ing3; + this.ing4 =ing4; + this.dropsCooked = dropsCooked + this.dropsRaw = dropsRaw; + this.isDisabled = false; + this.isHidden = false; + } + + @Override + public void apply() + { + PrimalCore.LOGGER.info("Add CraftTweaker Recipe: " + this.recipe_name); + CrucibleCrafting.REGISTRY.register(new CrucibleCrafting(this.cook_time, this.ingredients, this.output).setRecipeName(this.recipe_name)); + } + + @Override + public String describe() + { + return "[" + ModInfo.MOD_NAME + "] Adding Crafting Tweaker recipe for: " + CrucibleCrafting.RECIPE_PREFIX; + } + } + + private static class Remove implements IAction + { + private String recipe_name; + + public Remove(String recipe_name) + { + this.recipe_name = recipe_name; + } + + @Override + public void apply() + { + CrucibleCrafting recipe = CrucibleCrafting.getRecipe(recipe_name); + if (recipe != null && !recipe.isHidden()) + { + PrimalCore.LOGGER.info("Remove CraftTweaker Recipe: " + recipe_name); + recipe.setDisabled(true); + } + } + + @Override + public String describe() + { + return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + CrucibleCrafting.RECIPE_PREFIX; + } + } + + private static class RemoveAll implements IAction + { + public RemoveAll() { } + + @Override + public void apply() + { + for (HibachiRecipe recipe : HibachiRecipe.RECIPES) + { + if (!recipe.isHidden()) + recipe.setDisabled(true); + } + } + + @Override + public String describe() + { + return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + HibachiRecipe.RECIPE_PREFIX; + } + } +} + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java new file mode 100644 index 00000000..6337b37c --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java @@ -0,0 +1,665 @@ +package nmd.primal.forgecraft.crafting.CraftingRegistery; + +import net.minecraft.block.BlockPlanks; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.oredict.OreIngredient; +import net.minecraftforge.registries.IForgeRegistry; +import nmd.primal.core.api.PrimalAPI; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.crafting.CrucibleCrafting; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.util.ToolNBT; + +@GameRegistry.ObjectHolder(ModInfo.MOD_ID) +@Mod.EventBusSubscriber +public final class CrucibleCraftingRegister{ + @SubscribeEvent + public static void registerRecipes(RegistryEvent.Register event) { + PrimalAPI.logger(7, "Registering Recipes: " + CrucibleCrafting.RECIPE_PREFIX); + final IForgeRegistry recipes = event.getRegistry(); + +/* + ItemStack emptyAir = ItemStack.EMPTY; + + NBTTagCompound newTag = new NBTTagCompound(); + + NBTTagCompound setHot = new NBTTagCompound(); + setHot.setBoolean("hot", true); + + ItemStack hotBronzeIngot = new ItemStack(ModItems.bronzeingotball, 1); + hotBronzeIngot.setTagCompound(setHot); + ItemStack hotIronIngot = new ItemStack(ModItems.ironingotball, 1); + hotIronIngot.setTagCompound(setHot); + ItemStack hotCleanIronIngot = new ItemStack(ModItems.ironcleaningotball, 1); + hotCleanIronIngot.setTagCompound(setHot); + ItemStack hotSteelIngot = new ItemStack(ModItems.steelingotball, 1); + hotSteelIngot.setTagCompound(setHot); + ItemStack hotWootzIngot = new ItemStack(ModItems.wootzingotball, 1); + hotWootzIngot.setTagCompound(setHot); + + ItemStack hotBronzeChunk = new ItemStack( ModItems.bronzechunk, 1); + hotBronzeChunk.setTagCompound(setHot); + ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1); + hotChunk.setTagCompound(setHot); + ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1); + hotCleanChunk.setTagCompound(setHot); + ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1); + hotSteelChunk.setTagCompound(setHot); + ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1); + hotWootzChunk.setTagCompound(setHot); + + ItemStack diamond = new ItemStack(Items.DIAMOND, 1); + ItemStack emerald = new ItemStack(Items.EMERALD, 1); + + ItemStack emeraldShard = new ItemStack(PrimalAPI.Items.EMERALD_KNAPP, 1); + ItemStack diamondShard = new ItemStack(PrimalAPI.Items.DIAMOND_KNAPP, 1); + ItemStack redstone = new ItemStack(Items.REDSTONE, 1); + ItemStack lapis = new ItemStack(Items.DYE, 1, 4); + + + + ItemStack[] toolArray = new ItemStack[24]; + ItemStack[] hotToolArray = new ItemStack[16]; + + ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1); + bronzepickaxehead.setTagCompound(newTag); + toolArray[0] = bronzepickaxehead; + ItemStack bronzeaxehead = new ItemStack(ModItems.bronzeaxehead, 1); + bronzeaxehead.setTagCompound(newTag); + toolArray[1] = bronzeaxehead; + ItemStack bronzeshovelhead = new ItemStack(ModItems.bronzeshovelhead, 1); + bronzeshovelhead.setTagCompound(newTag); + toolArray[2] = bronzeshovelhead; + ItemStack bronzehoehead = new ItemStack(ModItems.bronzehoehead, 1); + bronzehoehead.setTagCompound(newTag); + toolArray[3] = bronzehoehead; + + ItemStack pickaxehead = new ItemStack(ModItems.pickaxehead, 1); + pickaxehead.setTagCompound(newTag); + toolArray[4] = pickaxehead; + ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1); + ironaxehead.setTagCompound(newTag); + toolArray[5] = ironaxehead; + ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1); + ironshovelhead.setTagCompound(newTag); + toolArray[6] = ironshovelhead; + ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1); + ironhoehead.setTagCompound(newTag); + toolArray[7] = ironhoehead; + + ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1); + cleanpickaxehead.setTagCompound(newTag); + toolArray[8] = cleanpickaxehead; + ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1); + cleanaxehead.setTagCompound(newTag); + toolArray[9] = cleanaxehead; + ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1); + cleanshovelhead.setTagCompound(newTag); + toolArray[10] = cleanshovelhead; + ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1); + cleanhoehead.setTagCompound(newTag); + toolArray[11] =cleanhoehead ; + + ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1); + steelpickaxehead.setTagCompound(newTag); + toolArray[12] = steelpickaxehead; + ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1); + steelaxehead.setTagCompound(newTag); + toolArray[13] =steelaxehead ; + ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1); + steelshovelhead.setTagCompound(newTag); + toolArray[14] = steelshovelhead; + ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1); + steelhoehead.setTagCompound(newTag); + toolArray[15] =steelhoehead ; + + ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1); + wootzpickaxehead.setTagCompound(newTag); + toolArray[16] = wootzpickaxehead; + ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1); + wootzaxehead.setTagCompound(newTag); + toolArray[17] = wootzaxehead; + ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1); + wootzshovelhead.setTagCompound(newTag); + toolArray[18] =wootzshovelhead ; + ItemStack wootzhoehead = new ItemStack(ModItems.wootzhoehead, 1); + wootzhoehead.setTagCompound(newTag); + toolArray[19] = wootzhoehead; + + ItemStack copperpickaxehead = new ItemStack(ModItems.copperpickaxehead, 1); + copperpickaxehead.setTagCompound(newTag); + toolArray[20] = copperpickaxehead; + ItemStack copperaxehead = new ItemStack(ModItems.copperaxehead, 1); + copperaxehead.setTagCompound(newTag); + toolArray[21] = copperaxehead; + ItemStack coppershovelhead = new ItemStack(ModItems.coppershovelhead, 1); + coppershovelhead.setTagCompound(newTag); + toolArray[22] =coppershovelhead ; + ItemStack copperhoehead = new ItemStack(ModItems.copperhoehead, 1); + copperhoehead.setTagCompound(newTag); + toolArray[23] = copperhoehead; + + ItemStack hotpickaxehead = pickaxehead.copy(); + hotToolArray[0] =hotpickaxehead; + ItemStack hotironaxehead = ironaxehead.copy(); + hotToolArray[1] =hotironaxehead; + ItemStack hotironshovelhead = ironshovelhead.copy(); + hotToolArray[2] =hotironshovelhead; + ItemStack hotironhoehead = ironhoehead.copy(); + hotToolArray[3] =hotironhoehead; + + ItemStack hotcleanpickaxehead = cleanpickaxehead.copy(); + hotToolArray[4] = hotcleanpickaxehead; + ItemStack hotcleanaxehead = cleanaxehead.copy(); + hotToolArray[5] = hotcleanaxehead; + ItemStack hotcleanshovelhead = cleanshovelhead.copy(); + hotToolArray[6] = hotcleanshovelhead; + ItemStack hotcleanhoehead = cleanhoehead.copy(); + hotToolArray[7] = hotcleanhoehead; + + ItemStack hotsteelpickaxehead = steelpickaxehead.copy(); + hotToolArray[8] = hotsteelpickaxehead; + ItemStack hotsteelaxehead = steelaxehead.copy(); + hotToolArray[9] = hotsteelaxehead; + ItemStack hotsteelshovelhead = steelshovelhead.copy(); + hotToolArray[10] = hotsteelshovelhead; + ItemStack hotsteelhoehead = steelhoehead.copy(); + hotToolArray[11] = hotsteelhoehead; + + ItemStack hotwootzpickaxehead = wootzpickaxehead.copy(); + hotToolArray[12] = hotwootzpickaxehead; + ItemStack hotwootzaxehead = wootzaxehead.copy(); + hotToolArray[13] = hotwootzaxehead; + ItemStack hotwootzshovelhead = wootzshovelhead.copy(); + hotToolArray[14] = hotwootzshovelhead; + ItemStack hotwootzhoehead = wootzhoehead.copy(); + hotToolArray[15] = hotwootzhoehead; + + + + for(ItemStack temp : toolArray) { + NBTTagCompound tags = temp.getTagCompound(); + tags.setTag("tags", tags); + + tags.getCompoundTag("tags").setBoolean("hot", false); + tags.getCompoundTag("tags").setBoolean("emerald", false); + tags.getCompoundTag("tags").setInteger("diamond", 0); + tags.getCompoundTag("tags").setInteger("redstone", 0); + tags.getCompoundTag("tags").setInteger("lapis", 0); + tags.getCompoundTag("tags").setInteger("modifiers", 0); + temp.setTagCompound(tags); + } + + bronzepickaxehead = toolArray[0]; + bronzeaxehead = toolArray[1]; + bronzeshovelhead = toolArray[2]; + bronzehoehead = toolArray[3]; + + pickaxehead = toolArray[4]; + ironaxehead = toolArray[5]; + ironshovelhead = toolArray[6]; + ironhoehead = toolArray[7]; + + cleanpickaxehead = toolArray[8]; + cleanaxehead = toolArray[9]; + cleanshovelhead = toolArray[10]; + cleanhoehead = toolArray[11]; + + steelpickaxehead = toolArray[12] ; + steelaxehead = toolArray[13] ; + steelshovelhead = toolArray[14]; + steelhoehead = toolArray[15] ; + + wootzpickaxehead = toolArray[16]; + wootzaxehead = toolArray[17]; + wootzshovelhead = toolArray[18] ; + wootzhoehead = toolArray[19]; + + copperpickaxehead = toolArray[20]; + copperaxehead = toolArray[21]; + coppershovelhead = toolArray[22]; + copperhoehead = toolArray[23]; + + for(ItemStack temp : hotToolArray) { + //NBTTagCompound newTag = new NBTTagCompound(); + NBTTagCompound tags = new NBTTagCompound(); + + //temp.setTagCompound(newTag); + temp.getTagCompound().setTag("tags", tags); + + temp.getTagCompound().setTag("tags", tags); + temp.getSubCompound("tags").setBoolean("hot", true); + temp.getSubCompound("tags").setBoolean("emerald", false); + temp.getSubCompound("tags").setInteger("diamond", 0); + temp.getSubCompound("tags").setInteger("redstone", 0); + temp.getSubCompound("tags").setInteger("lapis", 0); + temp.getSubCompound("tags").setInteger("modifiers", 0); + } + + hotpickaxehead = hotToolArray[0]; + hotironaxehead = hotToolArray[1]; + hotironshovelhead = hotToolArray[2]; + hotironhoehead = hotToolArray[3]; + + hotcleanpickaxehead = hotToolArray[4]; + hotcleanaxehead = hotToolArray[5]; + hotcleanshovelhead = hotToolArray[6]; + hotcleanhoehead = hotToolArray[7]; + + hotsteelpickaxehead = hotToolArray[8] ; + hotsteelaxehead = hotToolArray[9] ; + hotsteelshovelhead = hotToolArray[10]; + hotsteelhoehead = hotToolArray[11] ; + + hotwootzpickaxehead = hotToolArray[12]; + hotwootzaxehead = hotToolArray[13]; + hotwootzshovelhead = hotToolArray[14] ; + hotwootzhoehead = hotToolArray[15]; +*/ + //RecipeHandler.addSmelting(ModItems.softcrucible, new ItemStack(ModBlocks.nbtCrucible, 1)); + + /***********************/ + /***CRUCIBLE CRAFTING***/ + /***********************/ + + recipes.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), + 1400, + 1200, + 800).setRecipeName("wroughtIron")); + + recipes.register (new CrucibleCrafting( + new OreIngredient("dustIron"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(Blocks.IRON_ORE, 1), + new ItemStack(ModItems.ironingotball, 1), + 1250, + 1100, + 800).setRecipeName("wroughtIron")); + + CrucibleCrafting.addRecipe( + Ingredient.fromStacks(new ItemStack(ModItems.brokenwroughtirontool, 1)), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + new ItemStack(ModItems.ironingotball, 1), + 1250, + 1100, + 800); + + CrucibleCrafting.addRecipe( + 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), + 1550, + 1200, + 800); + + CrucibleCrafting.addRecipe( + Ingredient.fromStacks(new ItemStack(ModItems.brokencleanirontool, 1)), + new OreIngredient("nuggetIron"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + new ItemStack(ModItems.ironcleaningotball, 1), + 1550, + 1200, + 800); + + CrucibleCrafting.addRecipe( + 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), + 2100, + 1500, + 1000); + + CrucibleCrafting.addRecipe( + Ingredient.fromStacks(new ItemStack(ModItems.brokensteeltool, 1)), + new OreIngredient("nuggetSteel"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + new ItemStack(ModItems.steelingotball, 1), + 2100, + 1500, + 1000); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustMagnetite"), + Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1,BlockPlanks.EnumType.JUNGLE.getMetadata())), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), + Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, BlockPlanks.EnumType.JUNGLE.getMetadata())), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), + new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), + new ItemStack(ModItems.wootzingotball, 1), + 2100, + 1800, + 1500); + + CrucibleCrafting.addRecipe( + new OreIngredient("magnetite"), + Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, BlockPlanks.EnumType.JUNGLE.getMetadata())), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), + Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, BlockPlanks.EnumType.JUNGLE.getMetadata())), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), + new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), + new ItemStack(ModItems.wootzingotball, 1), + 2100, + 1800, + 1500); + + CrucibleCrafting.addRecipe( + Ingredient.fromStacks(new ItemStack(ModItems.brokenwootztool, 1)), + new OreIngredient("nuggetWootz"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + new ItemStack(ModItems.wootzingotball, 1), + 2100, + 1800, + 1500); + + /***BRONZE***/ + NBTTagCompound tagBronzeDefault = new NBTTagCompound(); + tagBronzeDefault.setString("upgrades", ""); + tagBronzeDefault.setBoolean("hot", false); + ItemStack defaultBronze = new ItemStack(ModItems.bronzeingotball, 1); + defaultBronze.setTagCompound(tagBronzeDefault.copy()); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustTin"), + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultBronze, + 1100, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("ingotBronze"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultBronze, + 1100, + 800, + 600); + + ItemStack redBronze = defaultBronze.copy(); + redBronze.getTagCompound().setString("upgrades", "redstone"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotBronze"), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redBronze, + 1100, + 800, + 600); + + ItemStack diamondBronze = defaultBronze.copy(); + diamondBronze.getTagCompound().setString("upgrades", "diamond"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotBronze"), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondBronze, + 1100, + 800, + 600); + + ItemStack emeraldBronze = defaultBronze.copy(); + emeraldBronze.getTagCompound().setString("upgrades", "emerald"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotBronze"), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldBronze, + 1100, + 800, + 600); + + ItemStack lapisBronze = defaultBronze.copy(); + lapisBronze.getTagCompound().setString("upgrades", "lapis"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotBronze"), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisBronze, + 1100, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustTin"), + new OreIngredient("dustRedstone"), + new ItemStack(PrimalAPI.Items.SLAG, 1), + redBronze, + 1100, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustTin"), + new OreIngredient("flakeDiamond"), + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondBronze, + 1100, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustTin"), + new OreIngredient("flakeEmerald"), + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldBronze, + 1100, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustCopper"), + new OreIngredient("dustTin"), + new OreIngredient("gemLapis"), + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisBronze, + 1100, + 800, + 600); + + + /***COPPER***/ + NBTTagCompound tagCopperDefault = new NBTTagCompound(); + tagCopperDefault.setString("upgrades", ""); + tagCopperDefault.setBoolean("hot", false); + ItemStack defaultCopper = new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1); + defaultCopper.setTagCompound(tagCopperDefault.copy()); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 750, + 550); + + ItemStack redCopper = defaultCopper.copy(); + redCopper.getTagCompound().setString("upgrades", "redstone"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + ItemStack diamondCopper = defaultCopper.copy(); + diamondCopper.getTagCompound().setString("upgrades", "diamond"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + ItemStack emeraldCopper = defaultCopper.copy(); + emeraldCopper.getTagCompound().setString("upgrades", "emerald"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + ItemStack lapisCopper = defaultCopper.copy(); + lapisCopper.getTagCompound().setString("upgrades", "lapis"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + +} \ No newline at end of file diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java index 9c39accd..607054c2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java @@ -2,22 +2,27 @@ package nmd.primal.forgecraft.crafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; +import net.minecraftforge.registries.IForgeRegistry; +import nmd.primal.core.common.recipes.AbstractRecipe; +import nmd.primal.forgecraft.ModInfo; +import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.Collection; import java.util.List; /** * Created by mminaie on 11/11/17. */ -public class CrucibleCrafting { //extends AbstractCrafting { +public class CrucibleCrafting extends AbstractRecipe { //extends AbstractCrafting { // ***************************************************************************** // // Recipe Handler CrucibleHandler // ***************************************************************************** // - //public static final String RECIPE_PREFIX = "crucible"; - //public static final IForgeRegistry REGISTRY = ModInfo.Registries.CRUCIBLE_CRAFTINGS; - //public static final Collection RECIPES = REGISTRY.getValuesCollection(); + public static final String RECIPE_PREFIX = "crucible"; + public static final IForgeRegistry REGISTRY = ModInfo.Registries.CRUCIBLE_CRAFTINGS; + public static final Collection RECIPES = REGISTRY.getValuesCollection(); public static ArrayList getCrucibleCrafting() { return crucibleCrafting; @@ -91,7 +96,7 @@ public class CrucibleCrafting { //extends AbstractCrafting { public CrucibleCrafting(Ingredient i0, Ingredient i1, Ingredient i2, Ingredient i3, Ingredient i4, ItemStack outputRaw, ItemStack outputCooked, Integer temp, Integer cookTime, Integer coolTime){ - //super(); + super(); this.ing0 = i0; this.ing1 = i1; this.ing2 = i2; @@ -168,18 +173,16 @@ public class CrucibleCrafting { //extends AbstractCrafting { } -/* - /// forge registries require a unique REGISTRY_NAME /// + + @Override - public String getRecipePrefix() - { - return RECIPE_PREFIX; + public Collection getRecipes() { + return RECIPES; } @Override - public Collection getRecipes() - { - return RECIPES; + public String getRecipePrefix() { + return RECIPE_PREFIX; } /** @@ -187,11 +190,9 @@ public class CrucibleCrafting { //extends AbstractCrafting { * @param recipe_name basic recipe name, no prefix or mod id * @return Recipe object */ -/* @Nullable public static CrucibleCrafting getRecipe(String recipe_name) { return REGISTRY.getValue(getFullRecipeName(RECIPE_PREFIX, recipe_name)); } -*/ } From 3c9d80b1395f0fb5ba9cdce197b56e7bc587918d Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Mon, 1 Oct 2018 23:07:38 -0400 Subject: [PATCH 08/34] version bump --- kfc/gradle.properties | 2 +- kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java | 2 +- kfc/src/main/resources/mcmod.info | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kfc/gradle.properties b/kfc/gradle.properties index ca197ae9..1cb0e64f 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.17 +mod_version=1.6.18 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 759fe8ff..06a909fe 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -18,7 +18,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.17"; + public static final String MOD_VERSION = "1.6.18"; 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/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index 31ebf5ec..db04f13b 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.17", + "version": "1.6.18", "mcversion": "1.12.2", "url": "", "updateUrl": "", From 1a9b83059a33e8ac3c440c5f53b43bf64ac62465 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Tue, 2 Oct 2018 00:27:23 -0400 Subject: [PATCH 09/34] checking these damn recipes --- .../forgecraft/compat/CT/CTCrucible.java | 36 ++--- .../CrucibleCraftingRegister.java | 124 +++++++++--------- .../primal/forgecraft/init/ModCrafting.java | 10 +- .../primal/forgecraft/init/ModRegistries.java | 26 +++- .../init/recipes/CauldronRecipes.java | 17 --- 5 files changed, 109 insertions(+), 104 deletions(-) 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 c6c7809e..ffac02a1 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 @@ -29,18 +29,18 @@ public class CTCrucible { @ZenMethod public static void addRecipe(String recipe_name, - int cookTemp, - int cookTime, - int coolTime, Ingredient ing0, Ingredient ing1, Ingredient ing2, Ingredient ing3, Ingredient ing4, - ItemStack dropsCooked, - ItemStack dropsRaw) + int cookTemp, + int cookTime, + int coolTime, + ItemStack dropsRaw, + ItemStack dropsCooked) { - CraftTweakerAPI.apply(new Add(recipe_name, cookTemp, cookTime, coolTime, ing0, ing1, ing2, ing3, ing4, dropsCooked, dropsRaw) ); + CraftTweakerAPI.apply(new Add(recipe_name, ing0, ing1, ing2, ing3, ing4, dropsRaw, dropsCooked, cookTemp, cookTime, coolTime) ); } @ZenMethod @@ -57,9 +57,6 @@ public class CTCrucible { private static class Add implements IAction { - - - private final String recipe_name; private final int cookTemp; private final int cookTime; @@ -74,7 +71,7 @@ public class CTCrucible { //private final int cook_time; //private boolean is_disabled, is_hidden; - public Add(String recipe_name, int cookTemp, int cookTime, int coolTime, Ingredient ing0, Ingredient ing1, Ingredient ing2, Ingredient ing3, Ingredient ing4,ItemStack dropsCooked, ItemStack dropsRaw) + public Add(String recipe_name, Ingredient ing0, Ingredient ing1, Ingredient ing2, Ingredient ing3, Ingredient ing4, ItemStack dropsRaw, ItemStack dropsCooked, int cookTemp, int cookTime, int coolTime) { this.recipe_name = recipe_name; this.cookTemp = cookTemp; @@ -85,7 +82,7 @@ public class CTCrucible { this.ing2 = ing2; this.ing3 = ing3; this.ing4 =ing4; - this.dropsCooked = dropsCooked + this.dropsCooked = dropsCooked; this.dropsRaw = dropsRaw; this.isDisabled = false; this.isHidden = false; @@ -95,7 +92,17 @@ public class CTCrucible { public void apply() { PrimalCore.LOGGER.info("Add CraftTweaker Recipe: " + this.recipe_name); - CrucibleCrafting.REGISTRY.register(new CrucibleCrafting(this.cook_time, this.ingredients, this.output).setRecipeName(this.recipe_name)); + CrucibleCrafting.REGISTRY.register(new CrucibleCrafting( + this.ing0, + this.ing1, + this.ing2, + this.ing3, + this.ing4, + this.dropsRaw, + this.dropsCooked, + this.cookTemp, + this.cookTime, + this.coolTime).setRecipeName(this.recipe_name)); } @Override @@ -139,7 +146,7 @@ public class CTCrucible { @Override public void apply() { - for (HibachiRecipe recipe : HibachiRecipe.RECIPES) + for (CrucibleCrafting recipe : CrucibleCrafting.RECIPES) { if (!recipe.isHidden()) recipe.setDisabled(true); @@ -149,9 +156,8 @@ public class CTCrucible { @Override public String describe() { - return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + HibachiRecipe.RECIPE_PREFIX; + return "[" + ModInfo.MOD_NAME + "] Removing Crafting Tweaker recipe for:" + CrucibleCrafting.RECIPE_PREFIX; } } } -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java index 6337b37c..297a3139 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java @@ -2,7 +2,6 @@ package nmd.primal.forgecraft.crafting.CraftingRegistery; import net.minecraft.block.BlockPlanks; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.nbt.NBTTagCompound; @@ -16,7 +15,6 @@ import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModItems; -import nmd.primal.forgecraft.util.ToolNBT; @GameRegistry.ObjectHolder(ModInfo.MOD_ID) @Mod.EventBusSubscriber @@ -280,10 +278,10 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.ironingotball, 1), 1400, 1200, - 800).setRecipeName("wroughtIron")); + 800).setRecipeName("wroughtIron1")); - recipes.register (new CrucibleCrafting( - new OreIngredient("dustIron"), + recipes.register (new CrucibleCrafting( + new OreIngredient("dustIron"), Ingredient.EMPTY, Ingredient.EMPTY, Ingredient.EMPTY, @@ -292,9 +290,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.ironingotball, 1), 1250, 1100, - 800).setRecipeName("wroughtIron")); + 800).setRecipeName("wroughtIron2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( Ingredient.fromStacks(new ItemStack(ModItems.brokenwroughtirontool, 1)), Ingredient.EMPTY, Ingredient.EMPTY, @@ -304,9 +302,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.ironingotball, 1), 1250, 1100, - 800); + 800).setRecipeName("wroughtIron3")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustIron"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), Ingredient.EMPTY, @@ -316,9 +314,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.ironcleaningotball, 1), 1550, 1200, - 800); + 800).setRecipeName("cleanIron1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( Ingredient.fromStacks(new ItemStack(ModItems.brokencleanirontool, 1)), new OreIngredient("nuggetIron"), Ingredient.EMPTY, @@ -328,9 +326,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.ironcleaningotball, 1), 1550, 1200, - 800); + 800).setRecipeName("cleanIron2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_HIGH, 1)), Ingredient.EMPTY, @@ -340,9 +338,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.steelingotball, 1), 2100, 1500, - 1000); + 1000).setRecipeName("steel1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( Ingredient.fromStacks(new ItemStack(ModItems.brokensteeltool, 1)), new OreIngredient("nuggetSteel"), Ingredient.EMPTY, @@ -352,9 +350,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.steelingotball, 1), 2100, 1500, - 1000); + 1000).setRecipeName("steel2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustMagnetite"), Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1,BlockPlanks.EnumType.JUNGLE.getMetadata())), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), @@ -364,9 +362,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.wootzingotball, 1), 2100, 1800, - 1500); + 1500).setRecipeName("wootz1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("magnetite"), Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, BlockPlanks.EnumType.JUNGLE.getMetadata())), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), @@ -376,9 +374,9 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.wootzingotball, 1), 2100, 1800, - 1500); + 1500).setRecipeName("wootz2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( Ingredient.fromStacks(new ItemStack(ModItems.brokenwootztool, 1)), new OreIngredient("nuggetWootz"), Ingredient.EMPTY, @@ -388,7 +386,7 @@ public final class CrucibleCraftingRegister{ new ItemStack(ModItems.wootzingotball, 1), 2100, 1800, - 1500); + 1500).setRecipeName("wootz3")); /***BRONZE***/ NBTTagCompound tagBronzeDefault = new NBTTagCompound(); @@ -397,7 +395,7 @@ public final class CrucibleCraftingRegister{ ItemStack defaultBronze = new ItemStack(ModItems.bronzeingotball, 1); defaultBronze.setTagCompound(tagBronzeDefault.copy()); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), @@ -407,9 +405,9 @@ public final class CrucibleCraftingRegister{ defaultBronze, 1100, 800, - 600); + 600).setRecipeName("bronze1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotBronze"), Ingredient.EMPTY, Ingredient.EMPTY, @@ -419,11 +417,11 @@ public final class CrucibleCraftingRegister{ defaultBronze, 1100, 800, - 600); + 600).setRecipeName("bronze2")); ItemStack redBronze = defaultBronze.copy(); redBronze.getTagCompound().setString("upgrades", "redstone"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotBronze"), new OreIngredient("dustRedstone"), Ingredient.EMPTY, @@ -433,11 +431,11 @@ public final class CrucibleCraftingRegister{ redBronze, 1100, 800, - 600); + 600).setRecipeName("redBronze1")); ItemStack diamondBronze = defaultBronze.copy(); diamondBronze.getTagCompound().setString("upgrades", "diamond"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotBronze"), new OreIngredient("flakeDiamond"), Ingredient.EMPTY, @@ -447,11 +445,11 @@ public final class CrucibleCraftingRegister{ diamondBronze, 1100, 800, - 600); + 600).setRecipeName("diamondBronze1")); ItemStack emeraldBronze = defaultBronze.copy(); emeraldBronze.getTagCompound().setString("upgrades", "emerald"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotBronze"), new OreIngredient("flakeEmerald"), Ingredient.EMPTY, @@ -461,11 +459,11 @@ public final class CrucibleCraftingRegister{ emeraldBronze, 1100, 800, - 600); + 600).setRecipeName("emeraldBronze1")); ItemStack lapisBronze = defaultBronze.copy(); lapisBronze.getTagCompound().setString("upgrades", "lapis"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotBronze"), new OreIngredient("gemLapis"), Ingredient.EMPTY, @@ -475,9 +473,9 @@ public final class CrucibleCraftingRegister{ lapisBronze, 1100, 800, - 600); + 600).setRecipeName("lapisBronze1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), @@ -487,9 +485,9 @@ public final class CrucibleCraftingRegister{ redBronze, 1100, 800, - 600); + 600).setRecipeName("redBronze2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), @@ -499,9 +497,9 @@ public final class CrucibleCraftingRegister{ diamondBronze, 1100, 800, - 600); + 600).setRecipeName("diamondBronze2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), @@ -511,9 +509,9 @@ public final class CrucibleCraftingRegister{ emeraldBronze, 1100, 800, - 600); + 600).setRecipeName("emeraldBronze2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), @@ -523,7 +521,7 @@ public final class CrucibleCraftingRegister{ lapisBronze, 1100, 800, - 600); + 600).setRecipeName("lapisBronze2")); /***COPPER***/ @@ -533,7 +531,7 @@ public final class CrucibleCraftingRegister{ ItemStack defaultCopper = new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1); defaultCopper.setTagCompound(tagCopperDefault.copy()); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), Ingredient.EMPTY, @@ -543,9 +541,9 @@ public final class CrucibleCraftingRegister{ defaultCopper, 900, 800, - 600); + 600).setRecipeName("copper1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotCopper"), Ingredient.EMPTY, Ingredient.EMPTY, @@ -555,11 +553,11 @@ public final class CrucibleCraftingRegister{ defaultCopper, 900, 750, - 550); + 550).setRecipeName("copper2")); ItemStack redCopper = defaultCopper.copy(); redCopper.getTagCompound().setString("upgrades", "redstone"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotCopper"), new OreIngredient("dustRedstone"), Ingredient.EMPTY, @@ -569,11 +567,11 @@ public final class CrucibleCraftingRegister{ redCopper, 900, 750, - 550); + 550).setRecipeName("redCopper1")); ItemStack diamondCopper = defaultCopper.copy(); diamondCopper.getTagCompound().setString("upgrades", "diamond"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotCopper"), new OreIngredient("flakeDiamond"), Ingredient.EMPTY, @@ -583,11 +581,11 @@ public final class CrucibleCraftingRegister{ diamondCopper, 900, 750, - 550); + 550).setRecipeName("diamondCopper1")); ItemStack emeraldCopper = defaultCopper.copy(); emeraldCopper.getTagCompound().setString("upgrades", "emerald"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotCopper"), new OreIngredient("flakeEmerald"), Ingredient.EMPTY, @@ -597,11 +595,11 @@ public final class CrucibleCraftingRegister{ emeraldCopper, 900, 750, - 550); + 550).setRecipeName("emeraldCopper1")); ItemStack lapisCopper = defaultCopper.copy(); lapisCopper.getTagCompound().setString("upgrades", "lapis"); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("ingotCopper"), new OreIngredient("gemLapis"), Ingredient.EMPTY, @@ -611,9 +609,9 @@ public final class CrucibleCraftingRegister{ lapisCopper, 900, 750, - 550); + 550).setRecipeName("lapisCopper1")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), new OreIngredient("dustRedstone"), @@ -623,9 +621,9 @@ public final class CrucibleCraftingRegister{ redCopper, 900, 750, - 550); + 550).setRecipeName("redCopper2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), new OreIngredient("flakeDiamond"), @@ -635,9 +633,9 @@ public final class CrucibleCraftingRegister{ diamondCopper, 900, 750, - 550); + 550).setRecipeName("diamondCopper2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), new OreIngredient("flakeEmerald"), @@ -647,9 +645,9 @@ public final class CrucibleCraftingRegister{ emeraldCopper, 900, 750, - 550); + 550).setRecipeName("emeraldCopper2")); - CrucibleCrafting.addRecipe( + recipes.register (new CrucibleCrafting( new OreIngredient("oreCopper"), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), new OreIngredient("gemLapis"), @@ -659,7 +657,7 @@ public final class CrucibleCraftingRegister{ lapisCopper, 900, 750, - 550); - + 550).setRecipeName("lapisCopper2")); + } } \ No newline at end of file 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 2ab9f802..02f3ba8f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -269,7 +269,7 @@ public class ModCrafting{ /***********************/ /***CRUCIBLE CRAFTING***/ /***********************/ - +/* CrucibleCrafting.addRecipe( new OreIngredient("oreIron"), Ingredient.EMPTY, @@ -389,8 +389,9 @@ public class ModCrafting{ 2100, 1800, 1500); - +*/ /***BRONZE***/ +/* NBTTagCompound tagBronzeDefault = new NBTTagCompound(); tagBronzeDefault.setString("upgrades", ""); tagBronzeDefault.setBoolean("hot", false); @@ -525,8 +526,9 @@ public class ModCrafting{ 800, 600); - +*/ /***COPPER***/ + /* NBTTagCompound tagCopperDefault = new NBTTagCompound(); tagCopperDefault.setString("upgrades", ""); tagCopperDefault.setBoolean("hot", false); @@ -660,7 +662,7 @@ public class ModCrafting{ 900, 750, 550); - +*/ /***CASTING FORM***/ diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModRegistries.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModRegistries.java index 34c3f219..ce815e3f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModRegistries.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModRegistries.java @@ -1,14 +1,30 @@ package nmd.primal.forgecraft.init; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.registries.RegistryBuilder; +import nmd.primal.core.api.PrimalAPI; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.crafting.CrucibleCrafting; + /** * Created by kitsu on 12/3/2016. */ + +@GameRegistry.ObjectHolder(ModInfo.MOD_ID) +@Mod.EventBusSubscriber public class ModRegistries { - public static void registerFuels() - { - //if (ModConfig.FEATURE_ENABLE_FUELS) - //{ - + @SubscribeEvent + public static void customRegistries(RegistryEvent.NewRegistry event) { + PrimalAPI.logger(1, "Custom Registry", CrucibleCrafting.RECIPE_PREFIX); + RegistryBuilder registryCrucible = new RegistryBuilder(); + registryCrucible.setType(CrucibleCrafting.class); + registryCrucible.setName(new ResourceLocation(ModInfo.MOD_ID, "recipes_" + CrucibleCrafting.RECIPE_PREFIX)); + registryCrucible.setIDRange(0, 1000); + registryCrucible.create(); } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java index ac62dfd7..396d62a2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java @@ -33,22 +33,5 @@ public class CauldronRecipes lapisBronze.getSubCompound("tags").setInteger("lapis", 1); lapisBronze.getSubCompound("tags").setBoolean("modified", true); - - - - -/* - recipes.register(new CauldronRecipe( - 5, - FluidRegistry.getFluidStack("water", 1000), - FluidRegistry.getFluidStack("water", 1000), - new ItemStack(ModItems.rawbronzegladius, 1), - new ItemStack(Items.DYE, 1, 4), - ItemStack.EMPTY, - ItemStack.EMPTY, - lapisBronze, - ItemStack.EMPTY).setRecipeName("finishedGladius") - ); - */ } } From 725186d1a648b7d925bfd326667345743c718821 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Tue, 2 Oct 2018 00:31:48 -0400 Subject: [PATCH 10/34] renamed crap --- kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java | 2 +- .../{CrucibleCraftingRegister.java => RecipesCrucible.java} | 2 +- .../java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/{CrucibleCraftingRegister.java => RecipesCrucible.java} (99%) diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index cb16c7ca..25922047 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -54,7 +54,7 @@ public class ModInfo { public static class Registries { // In-World Recipes - public static final IForgeRegistry CRUCIBLE_CRAFTINGS = GameRegistry.findRegistry(CrucibleCrafting.class); + public static final IForgeRegistry CRUCIBLE_CRAFTING = GameRegistry.findRegistry(CrucibleCrafting.class); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java similarity index 99% rename from kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java rename to kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java index 297a3139..3094f2cd 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/CrucibleCraftingRegister.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CraftingRegistery/RecipesCrucible.java @@ -18,7 +18,7 @@ import nmd.primal.forgecraft.init.ModItems; @GameRegistry.ObjectHolder(ModInfo.MOD_ID) @Mod.EventBusSubscriber -public final class CrucibleCraftingRegister{ +public final class RecipesCrucible { @SubscribeEvent public static void registerRecipes(RegistryEvent.Register event) { PrimalAPI.logger(7, "Registering Recipes: " + CrucibleCrafting.RECIPE_PREFIX); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java index 607054c2..39f6cb6a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java @@ -21,7 +21,7 @@ public class CrucibleCrafting extends AbstractRecipe { //exten // ***************************************************************************** // public static final String RECIPE_PREFIX = "crucible"; - public static final IForgeRegistry REGISTRY = ModInfo.Registries.CRUCIBLE_CRAFTINGS; + public static final IForgeRegistry REGISTRY = ModInfo.Registries.CRUCIBLE_CRAFTING; public static final Collection RECIPES = REGISTRY.getValuesCollection(); public static ArrayList getCrucibleCrafting() { From eff6124c2aa68c2c1580d001d60c6829f5e9859f Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Tue, 2 Oct 2018 01:04:11 -0400 Subject: [PATCH 11/34] fking lang file --- kfc/gradle.properties | 2 +- kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java | 2 +- .../main/java/nmd/primal/forgecraft/util/AnvilHandler.java | 7 ++++++- kfc/src/main/resources/assets/forgecraft/lang/en_us.lang | 7 ++++++- kfc/src/main/resources/mcmod.info | 2 +- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/kfc/gradle.properties b/kfc/gradle.properties index 1cb0e64f..0b259c15 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.18 +mod_version=1.6.19 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 06a909fe..0e8086ba 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -18,7 +18,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.18"; + public static final String MOD_VERSION = "1.6.19"; 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/util/AnvilHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java index 640d8cc3..eac72fc8 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -60,7 +60,7 @@ public interface AnvilHandler extends ToolMaterialMap { AnvilCrafting recipe = AnvilCrafting.getRecipe(tempArray); if (recipe != null) { if (pItem.getItem() instanceof Gallagher) { - pItem.damageItem(15, player); + pItem.damageItem(10, player); } if (pItem.getItem() instanceof ForgeHammer) { pItem.damageItem(1, player); @@ -87,6 +87,11 @@ public interface AnvilHandler extends ToolMaterialMap { tempStack.getSubCompound("tags").setInteger("modifiers", 0); CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack); + for (int i = 0; i < tile.getSlotListSize(); i++) { + if (!tile.getSlotStack(i).isEmpty()) { + tile.setSlotStack(i, ItemStack.EMPTY); + } + } return true; } 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 8741bef7..5d609e76 100644 --- a/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang +++ b/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang @@ -143,4 +143,9 @@ forgecraft.compatibility.tooltip=Compatibility Features jei.category.forgecraft.crucible=Crucible Crafting jei.category.forgecraft.anvil=Anvil Crafting jei.category.forgecraft.casting=Casting -jei.category.forgecraft.forging=Forging \ No newline at end of file +jei.category.forgecraft.forging=Forging + +jei.info.forgecraft.crucible=Crucible Crafting +jei.info.forgecraft.anvil=Anvil Crafting +jei.info.forgecraft.casting=Casting +jei.info.forgecraft.forging=Forging \ No newline at end of file diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index db04f13b..b8ff005d 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.18", + "version": "1.6.19", "mcversion": "1.12.2", "url": "", "updateUrl": "", From 1b2ca345ce046f4bcd5d32b19a8b9048ab60c54d Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Tue, 2 Oct 2018 03:27:30 -0400 Subject: [PATCH 12/34] CT is working except add recipes --- .idea/workspace.xml | 472 +++++------------- .../blocks/machine/BloomeryBase.java | 33 +- .../compat/{CT => ct}/CTCrucible.java | 8 +- .../compat/{JEI => jei}/AbstractCategory.java | 2 +- .../compat/{JEI => jei}/ModJEI.java | 26 +- .../anvil/AnvilRecipeCategory.java | 4 +- .../anvil/AnvilRecipeChecker.java | 2 +- .../anvil/AnvilRecipeHandler.java | 2 +- .../anvil/AnvilRecipeWrapper.java | 2 +- .../casting/CastingRecipeCategory.java | 4 +- .../casting/CastingRecipeChecker.java | 2 +- .../casting/CastingRecipeHandler.java | 2 +- .../casting/CastingRecipeWrapper.java | 2 +- .../crucible/CrucibleRecipeCategory.java | 4 +- .../crucible/CrucibleRecipeChecker.java | 10 +- .../crucible/CrucibleRecipeHandler.java | 2 +- .../crucible/CrucibleRecipeWrapper.java | 2 +- .../forge/ForgeRecipeCategory.java | 4 +- .../forge/ForgeRecipeChecker.java | 2 +- .../forge/ForgeRecipeHandler.java | 2 +- .../forge/ForgeRecipeWrapper.java | 2 +- .../forgecraft/crafting/CrucibleCrafting.java | 26 +- .../primal/forgecraft/tiles/TileBloomery.java | 50 +- .../lang/{en_us.lang => en_US.lang} | 0 24 files changed, 227 insertions(+), 438 deletions(-) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{CT => ct}/CTCrucible.java (96%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/AbstractCategory.java (94%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/ModJEI.java (84%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/anvil/AnvilRecipeCategory.java (97%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/anvil/AnvilRecipeChecker.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/anvil/AnvilRecipeHandler.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/anvil/AnvilRecipeWrapper.java (96%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/casting/CastingRecipeCategory.java (96%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/casting/CastingRecipeChecker.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/casting/CastingRecipeHandler.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/casting/CastingRecipeWrapper.java (97%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/crucible/CrucibleRecipeCategory.java (96%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/crucible/CrucibleRecipeChecker.java (55%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/crucible/CrucibleRecipeHandler.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/crucible/CrucibleRecipeWrapper.java (98%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/forge/ForgeRecipeCategory.java (95%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/forge/ForgeRecipeChecker.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/forge/ForgeRecipeHandler.java (90%) rename kfc/src/main/java/nmd/primal/forgecraft/compat/{JEI => jei}/forge/ForgeRecipeWrapper.java (97%) rename kfc/src/main/resources/assets/forgecraft/lang/{en_us.lang => en_US.lang} (100%) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 90d0abbb..0fe1bf2b 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,29 +2,9 @@ - - - - - - - - - - - - - - - - - - - - +