diff options
| author | Lance5057 <Lance5057@gmail.com> | 2017-12-07 01:34:36 -0600 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2017-12-07 01:34:36 -0600 |
| commit | 22472901b62567436b7ff17f1163bf63316b6088 (patch) | |
| tree | c5c98a7bae60c451c9606834e0bb1cb67bf93971 /src | |
| parent | 5886d8ec3827085ad0e539214dd20ccbc186da2d (diff) | |
Worked on armor. Straps eat items placed in them...
Diffstat (limited to 'src')
67 files changed, 874 insertions, 1050 deletions
diff --git a/src/main/java/lance5057/tDefense/TD_Config.java b/src/main/java/lance5057/tDefense/TD_Config.java index 4c6745a..43a511a 100644 --- a/src/main/java/lance5057/tDefense/TD_Config.java +++ b/src/main/java/lance5057/tDefense/TD_Config.java @@ -16,208 +16,180 @@ public class TD_Config { @Config.Comment("Enable Debug Features") public static boolean debug = false; -// public boolean ArmorAddon; -// public boolean transparency; -// public boolean mossEnabled; -// public boolean mossHard; - + // public boolean ArmorAddon; + // public boolean transparency; + // public boolean mossEnabled; + // public boolean mossHard; + @Config.Name("Shields") - public static final Shields shields = new Shields(); + public static Shields shields = new Shields(); @Config.Name("Tools") - public static final Tools tools = new Tools(); + public static Tools tools = new Tools(); @Config.Name("Materials") - public static final Materials materials = new Materials(); + public static Materials materials = new Materials(); @Config.Name("Addons") - public static final Addons addons = new Addons(); - + public static Addons addons = new Addons(); + public static class Shields { @Config.RequiresMcRestart() @Config.Comment("Enable Shields") - public static boolean enableShields= true; - + public static boolean enableShields = true; + @Config.RequiresMcRestart() - public static boolean enableHeaterShield= true; - + public static boolean enableHeaterShield = true; + @Config.RequiresMcRestart() - public static boolean enableBuckler= true; - + public static boolean enableBuckler = true; + @Config.Comment("How much damage should a shield block percentage wise if the material has no shield data built in?") public static int defaultShieldBlockPercentage = 33; } - + public static class Tools { @Config.RequiresMcRestart() - public static boolean enableZweihander= true; - - @Config.RequiresMcRestart() - public static boolean enableShears= true; - - @Config.RequiresMcRestart() - public static boolean enableFishingRod= true; - } - - public static class Materials - { - @Config.RequiresMcRestart() - public static boolean enableCustomMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableBaseMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableJokeMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableHolidayMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableGemMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableBloodMagicMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableTwilightForestMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableHarvestCraftMaterials= true; + public boolean enableZweihander = true; @Config.RequiresMcRestart() - public static boolean enableCornucopiaMaterials= true; - - @Config.RequiresMcRestart() - public static boolean enableAeonsteel= true; + public boolean enableShears = true; @Config.RequiresMcRestart() - public static boolean enableQueensGold= true; - - @Config.RequiresMcRestart() - public static boolean enableDogbearium= true; - - @Config.RequiresMcRestart() - public static boolean enableRedCandy= true; - - @Config.RequiresMcRestart() - public static boolean enableGreenCandy= true; + public boolean enableFishingRod = true; + } + public static class Materials + { @Config.RequiresMcRestart() - public static boolean enableSinisterium= true; + public boolean enableCustomMaterials = true; @Config.RequiresMcRestart() - public static boolean enableNihilite= true; + public boolean enableBaseMaterials = true; @Config.RequiresMcRestart() - public static boolean enableVibrant= true; + public boolean enableJokeMaterials = true; @Config.RequiresMcRestart() - public static boolean enableOrichalcum= true; + public boolean enableHolidayMaterials = true; @Config.RequiresMcRestart() - public static boolean enablePandorium= true; + public boolean enableGemMaterials = true; @Config.RequiresMcRestart() - public static boolean enableRoseGold= true; + public boolean enableBloodMagicMaterials = true; @Config.RequiresMcRestart() - public static boolean enablePlatinum= true; + public boolean enableTwilightForestMaterials = true; @Config.RequiresMcRestart() - public static boolean enableBrass= true; + public boolean enableHarvestCraftMaterials = true; @Config.RequiresMcRestart() - public static boolean enableSilver= true; + public boolean enableCornucopiaMaterials = true; @Config.RequiresMcRestart() - public static boolean enableCheese= true; + public String[] materialBlacklist = { - @Config.RequiresMcRestart() - public static boolean enableGold= true; + }; + + public boolean isBlacklisted(String s) + { + for(String str: materialBlacklist) + { + if(str.equals(s)) + return true; + } + return false; + } } - + public static class Addons { - + } - - public int SoulBoundID; - public int DazeID; - public int RainbowID; - public int XPBoostID; - public int ShearFortuneID; - - public int[] CrestFeathersID; - public int[] CrestMirrorsID; - public int[] CrestLegendsID; - public int[] CrestBladesID; - public int[] CrestGluttonyID; - public int[] CrestPitchID; - public int[] CrestThornsID; - public int[] CrestSanguisugaID; - public int[] CrestWindsID; - public int[] CrestRetributionID; - public int[] CrestLightID; - - //public int JokeInsultID; - //public int JokePyrotechID; - //public int JokeCompensateID; - - public int SoulSteveID; - - public int ArmorProtectionID; - public int ArmorFireProtectionID; - public int ArmorBlastProtectionID; - public int ArmorProjectileProtectionID; - public int ArmorFeatherfallID; - public int ArmorGlowstepID; - public int ArmorFrostwalkerID; - public int ArmorFirewalkerID; - public int ArmorDepthstriderID; - public int ArmorRebreatherID; - public int ArmorNightvisionID; - public int ArmorAntiBlindnessID; - public int ArmorPumpkinID; - public int ArmorDodgeID; - public int ArmorThornsID; - public int ArmorAbsorptionID; - public int ArmorJumpboostID; - public int ArmorSpeedID; - public int ArmorHighstepID; - public int ArmorKnockbackResistID; - - public boolean BotaniaAddon; - public int CorpseIvyModID; - public int ManaRepairModID; - public int TerraCoreModID; - public int ArmorPixieCoreModID; - public int ArmorManaDiscountModID; - -// public boolean ThaumcraftAddon; -// public int RevealingModID; -// public int VisDiscountModID; -// public int CapsModID; - //public int SpellbindModID; - - public boolean BloodMagicAddon; - public int SuppingModID; - public int BloodOathModID; - public int ScabbingModID; - public int DivinationModID; + + // public int SoulBoundID; + // public int DazeID; + // public int RainbowID; + // public int XPBoostID; + // public int ShearFortuneID; + // + // public int[] CrestFeathersID; + // public int[] CrestMirrorsID; + // public int[] CrestLegendsID; + // public int[] CrestBladesID; + // public int[] CrestGluttonyID; + // public int[] CrestPitchID; + // public int[] CrestThornsID; + // public int[] CrestSanguisugaID; + // public int[] CrestWindsID; + // public int[] CrestRetributionID; + // public int[] CrestLightID; + // + // //public int JokeInsultID; + // //public int JokePyrotechID; + // //public int JokeCompensateID; + // + // public int SoulSteveID; + // + // public int ArmorProtectionID; + // public int ArmorFireProtectionID; + // public int ArmorBlastProtectionID; + // public int ArmorProjectileProtectionID; + // public int ArmorFeatherfallID; + // public int ArmorGlowstepID; + // public int ArmorFrostwalkerID; + // public int ArmorFirewalkerID; + // public int ArmorDepthstriderID; + // public int ArmorRebreatherID; + // public int ArmorNightvisionID; + // public int ArmorAntiBlindnessID; + // public int ArmorPumpkinID; + // public int ArmorDodgeID; + // public int ArmorThornsID; + // public int ArmorAbsorptionID; + // public int ArmorJumpboostID; + // public int ArmorSpeedID; + // public int ArmorHighstepID; + // public int ArmorKnockbackResistID; + // + // public boolean BotaniaAddon; + // public int CorpseIvyModID; + // public int ManaRepairModID; + // public int TerraCoreModID; + // public int ArmorPixieCoreModID; + // public int ArmorManaDiscountModID; + + // public boolean ThaumcraftAddon; + // public int RevealingModID; + // public int VisDiscountModID; + // public int CapsModID; + // public int SpellbindModID; + + // public boolean BloodMagicAddon; + // public int SuppingModID; + // public int BloodOathModID; + // public int ScabbingModID; + // public int DivinationModID; @Mod.EventBusSubscriber(modid = Reference.MOD_ID) - private static class EventHandler { + private static class EventHandler + { /** - * Inject the new values and save to the config file when the config has been changed from the GUI. + * Inject the new values and save to the config file when the config has + * been changed from the GUI. * - * @param event The event + * @param event + * The event */ @SubscribeEvent - public static void onConfigChanged(final ConfigChangedEvent.OnConfigChangedEvent event) { - if (event.getModID().equals(Reference.MOD_ID)) { + public static void onConfigChanged(final ConfigChangedEvent.OnConfigChangedEvent event) + { + if (event.getModID().equals(Reference.MOD_ID)) + { ConfigManager.sync(Reference.MOD_ID, Config.Type.INSTANCE); } } -} + } } diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java index 68615e4..78b09c5 100644 --- a/src/main/java/lance5057/tDefense/TinkersDefense.java +++ b/src/main/java/lance5057/tDefense/TinkersDefense.java @@ -1,6 +1,5 @@ package lance5057.tDefense; -import lance5057.tDefense.core.CoreBase; import lance5057.tDefense.core.materials.TDMaterials; import lance5057.tDefense.core.parts.TDParts; import lance5057.tDefense.core.tools.TDTools; @@ -8,16 +7,8 @@ import lance5057.tDefense.holiday.HolidayBase; import lance5057.tDefense.proxy.CommonProxy; import lance5057.tDefense.util.ModuleBase; import lance5057.tDefense.util.RegEvents; -import net.minecraft.world.storage.loot.LootEntry; -import net.minecraft.world.storage.loot.LootEntryItem; -import net.minecraft.world.storage.loot.LootTable; -import net.minecraft.world.storage.loot.RandomValueRange; -import net.minecraft.world.storage.loot.conditions.LootCondition; -import net.minecraft.world.storage.loot.conditions.RandomChance; -import net.minecraft.world.storage.loot.functions.LootFunction; -import net.minecraft.world.storage.loot.functions.SetMetadata; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.LootTableLoadEvent; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; @@ -25,31 +16,30 @@ import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; import scala.reflect.internal.Trees.Modifiers; +import slimeknights.mantle.client.CreativeTab; @Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME) public class TinkersDefense { private static int modGuiIndex = 0; - public static final int GUI_CREST_INV = modGuiIndex++; + //public static final int GUI_CREST_INV = modGuiIndex++; //public static final int GUI_ANVIL_INV = modGuiIndex++; //public static final int GUI_GUIDEBOOK = modGuiIndex++; public static final int GUI_STRAPS_INV = modGuiIndex++; - @Instance(Reference.MOD_ID) + @Mod.Instance(Reference.MOD_ID) public static TinkersDefense instance = new TinkersDefense(); PacketHandler phandler = new PacketHandler(); + public static CreativeTab tab = new CreativeTab("TinkersDefense", new ItemStack(Items.SHIELD)); + public static HolidayBase holiday; - public static ModuleBase core; - //ModuleBase armor; - - // public static TDEventHandler TDevents; + //public static ModuleBase core; public static TD_Config config; @@ -60,253 +50,38 @@ public class TinkersDefense { public static Modifiers mods; - // public static Item item_Guidebook; public static TDParts parts; public static TDTools tools; public static TDMaterials mats; @SidedProxy(clientSide = "lance5057.tDefense.proxy.ClientProxy", serverSide = "lance5057.tDefense.proxy.CommonProxy") public static CommonProxy proxy; - public static int month; - - // public TDArmorAddon ArmorAddon = new TDArmorAddon(); - - @EventHandler + + @Mod.EventHandler public void preInit(FMLPreInitializationEvent e) { - NetworkRegistry.INSTANCE.registerGuiHandler(TinkersDefense.instance, new CommonProxy()); - //reg = new RegEvents(); + NetworkRegistry.INSTANCE.registerGuiHandler(TinkersDefense.instance, new CommonProxy()); - core = new CoreBase(); holiday = new HolidayBase(); - //armor = new ArmorBase(); mats = new TDMaterials(); parts = new TDParts(); tools = new TDTools(); - //config = new TD_Config(e); - // mods = new Modifiers(); - - // Blocks - // block_CrestMount = new - // CrestMount().setHardness(4.0F).setStepSound(Block.soundTypeStone).setBlockName("crestmount").setCreativeTab(tabName); - // block_ArmorAnvil = new - // FinishingAnvil().setHardness(4.0F).setStepSound(Block.soundTypeAnvil).setBlockName("armoranvil").setCreativeTab(tabName); - // block_JewelersBench = new - // JewelersBench().setHardness(4.0F).setStepSound(Block.soundTypeWood).setBlockName("jewelersbench").setCreativeTab(tabName); - // - // block_aeonsteelBlock = new - // AeonSteelBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("aeonsteelblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID - // + ":aeonsteelblock"); - // block_queensgoldBlock = new - // QueensGoldBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("queensgoldblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID - // + ":queensgoldblock"); - // block_dogbeariumBlock = new - // DogbeariumBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("dogbeariumblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID - // + ":dogbeariumblock"); - // block_redmintBlock = new - // RedMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("redmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID - // + ":redmintblock"); - // block_greenmintBlock = new - // GreenMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("greenmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID - // + ":greenmintblock"); - - // Items - // item_Guidebook = new GuideBook(); - - // Fluids - // moltenaeonsteel = new - // Fluid("moltenaeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - // moltenqueensgold = new - // Fluid("moltenqueensgold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - // moltendogbearium = new - // Fluid("moltendogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - // moltenredmint = new - // Fluid("moltenredmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - // moltengreenmint = new - // Fluid("moltengreenmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - - // Tools - // tool_roundShield = new RoundShield(); - // tool_heaterShield = new HeaterShield(); - // tool_shears = new Shears(); - // tool_wrench = new TinkerWrench(); - // tool_zweihander = new TinkerZweihander(0); - // tool_hookshot = new TinkersHookshot(); - - // Patterns - // woodPattern = new TD_Patterns("pattern_", "Pattern"); - // metalPattern = new TD_Patterns("cast_", "MetalPattern"); - - // Minecraft Registrations - // Blocks - // GameRegistry.registerBlock(block_CrestMount, "block_crestmount"); - // GameRegistry.registerBlock(block_ArmorAnvil, "block_armoranvil"); - // GameRegistry.registerBlock(block_JewelersBench, - // "block_jewelersbench"); - // GameRegistry.registerBlock(block_aeonsteelBlock, "aeonsteelblock"); - // GameRegistry.registerBlock(block_queensgoldBlock, "queensgoldblock"); - // GameRegistry.registerBlock(block_dogbeariumBlock, "dogbeariumblock"); - // GameRegistry.registerBlock(block_redmintBlock, "redmintblock"); - // GameRegistry.registerBlock(block_greenmintBlock, "greenmintblock"); - - // Items - // GameRegistry.registerItem(item_Guidebook, "guidebook"); - - // GameRegistry.registerItem(item_aeonsteelIngot, "aeonsteelingot"); - // GameRegistry.registerItem(item_queensgoldIngot, "queensgoldingot"); - // GameRegistry.registerItem(item_dogbeariumIngot, "dogbeariumingot"); - // - // GameRegistry.registerItem(item_redmintcane, "redmintcane"); - // GameRegistry.registerItem(item_redmintIngot, "redmintingot"); - // GameRegistry.registerItem(item_greenmintcane, "greenmintcane"); - // GameRegistry.registerItem(item_greenmintIngot, "greenmintingot"); - - // Tools - // GameRegistry.registerItem(tool_roundShield, "Round Shield"); - // GameRegistry.registerItem(tool_heaterShield, "Heater Shield"); - // - // GameRegistry.registerItem(tool_shears, "Tinker Shears"); - // GameRegistry.registerItem(tool_wrench, "Tinker Wrench"); - // GameRegistry.registerItem(tool_zweihander, "Zweihander"); - // //GameRegistry.registerItem(tool_hookshot, "Hookshot"); - - // Patterns - // GameRegistry.registerItem(woodPattern, "Pattern"); - // GameRegistry.registerItem(metalPattern, "Cast"); - - // TileEntities - // GameRegistry.registerTileEntity(TileEntity_CrestMount.class, - // "tile_crestmount"); - // GameRegistry.registerTileEntity(TileEntity_FinishingAnvil.class, - // "tile_armoranvil"); - // GameRegistry.registerTileEntity(TileEntity_JewelersBench.class, - // "tile_jewelersbench"); - - // Fluids - // FluidRegistry.registerFluid(moltenaeonsteel); - // FluidRegistry.registerFluid(moltenqueensgold); - // FluidRegistry.registerFluid(moltendogbearium); - // FluidRegistry.registerFluid(moltenredmint); - // FluidRegistry.registerFluid(moltengreenmint); - - // FluidBlocks - // moltenaeonsteelBlock = new MoltenFluid(moltenaeonsteel, "aeonsteel"); - // moltenqueensgoldBlock = new MoltenFluid(moltenqueensgold, - // "queensgold"); - // moltendogbeariumBlock = new MoltenFluid(moltendogbearium, - // "dogbearium"); - // moltenredmintBlock = new MoltenFluid(moltenredmint, "redmint"); - // moltengreenmintBlock = new MoltenFluid(moltengreenmint, "greenmint"); - - // GameRegistry.registerBlock(moltenaeonsteelBlock, "moltenaeonsteel"); - // GameRegistry.registerBlock(moltenqueensgoldBlock, - // "moltenqueensgold"); - // GameRegistry.registerBlock(moltendogbeariumBlock, - // "moltendogbearium"); - // GameRegistry.registerBlock(moltenredmintBlock, "moltenredmint"); - // GameRegistry.registerBlock(moltengreenmintBlock, "moltengreenmint"); - - // Recipes - // GameRegistry.addShapedRecipe(new ItemStack(block_CrestMount), new - // Object[] {"xxx", "-i-", "---", 'x', new ItemStack( - // TinkerTools.toughRod, 1, 1), 'i', new ItemStack( - // TinkerTools.toolRod, 1, 1)}); - // GameRegistry.addShapedRecipe(new ItemStack(block_ArmorAnvil), new - // Object[] {"ai-", "lr-", "---", 'r', new ItemStack( - // TinkerTools.toughRod, 1, 0), 'a', Blocks.anvil, 'i', - // Items.iron_ingot, 'l', Blocks.log}); - // GameRegistry.addShapedRecipe(new ItemStack(block_aeonsteelBlock), new - // Object[] {"xxx", "xxx", "xxx", 'x', item_aeonsteelIngot}); - // GameRegistry.addShapelessRecipe(new ItemStack(item_aeonsteelIngot, - // 9), new Object[] {new ItemStack( - // block_aeonsteelBlock)}); - // GameRegistry.addShapedRecipe(new ItemStack(block_queensgoldBlock), - // new Object[] {"xxx", "xxx", "xxx", 'x', item_queensgoldIngot}); - // GameRegistry.addShapelessRecipe(new ItemStack(item_queensgoldIngot, - // 9), new Object[] {new ItemStack( - // block_queensgoldBlock)}); - // GameRegistry.addShapedRecipe(new ItemStack(block_dogbeariumBlock), - // new Object[] {"xxx", "xxx", "xxx", 'x', item_dogbeariumIngot}); - // GameRegistry.addShapelessRecipe(new ItemStack(item_dogbeariumIngot, - // 9), new Object[] {new ItemStack( - // block_dogbeariumBlock)}); - // GameRegistry.addShapedRecipe(new ItemStack(block_redmintBlock), new - // Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack( - // item_redmintcane, 1, 2)}); - // GameRegistry.addShapelessRecipe(new ItemStack(item_redmintcane, 9, - // 2), new Object[] {new ItemStack( - // block_redmintBlock)}); - // GameRegistry.addShapedRecipe(new ItemStack(block_greenmintBlock), new - // Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack( - // item_greenmintcane, 1, 3)}); - // GameRegistry.addShapelessRecipe(new ItemStack(item_greenmintcane, 9, - // 3), new Object[] {new ItemStack( - // block_greenmintBlock)}); - - // TinkersConstruct Registrations - // Tools - // TConstructRegistry.addItemToDirectory("Round Shield", - // tool_roundShield); - // TConstructRegistry.addItemToDirectory("Heater Shield", - // tool_heaterShield); - // - // TConstructRegistry.addItemToDirectory("Tinker Shears", tool_shears); - // TConstructRegistry.addItemToDirectory("Tinker Wrench", tool_wrench); - // TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander); - // TConstructRegistry.addItemToDirectory("Hookshot", tool_hookshot); - - // Patterns - // TConstructRegistry.addItemStackToDirectory("rivets Pattern", new - // ItemStack( - // woodPattern, 1, 0)); - // TConstructRegistry.addItemStackToDirectory("clasp Pattern", new - // ItemStack( - // woodPattern, 1, 1)); - // TConstructRegistry.addItemStackToDirectory("armorplate Pattern", new - // ItemStack( - // woodPattern, 1, 2)); - // - // //Entities - // // EntityRegistry.registerModEntity(EntityHookshotHook.class, - // "EntityHookshotHook", 0, this, 64, 10, true); - // - // if(config.ArmorAddon) - // { - // ArmorAddon.preInit(e); - // } - // - // TDIntegration.Integrate(); - // mods.preInit(); - // proxy.registerRenderers(); + config = new TD_Config(); - - core.preInit(e); - //armor.preInit(e); + //core.preInit(e); holiday.preInit(e); mats.preInit(e); parts.preInit(e); tools.preInit(e); proxy.preInit(); - - } - @EventHandler + @Mod.EventHandler public void init(FMLInitializationEvent e) { - -// // I reject your moss and substitute my own! -// if (config.mossEnabled || config.mossHard) { -// -// final List<IRecipe> recipes = CraftingManager.class -// .getRecipeList(); -// final Iterator<IRecipe> recipe = recipes.iterator(); -// } - - core.init(e); - //armor.init(e); + //core.init(e); holiday.init(e); mats.init(e); parts.init(e); @@ -318,16 +93,12 @@ public class TinkersDefense { mats.integrate(mats.materials, mats.materialIntegrations, mats.deferredMaterials); } - @EventHandler + @Mod.EventHandler public void postInit(FMLPostInitializationEvent e) { - // - // if(config.ArmorAddon) - // { - // ArmorAddon.postInit(e); - // } mats.postInit(e); parts.postInit(e); - //armor.postInit(e); tools.postInit(e); } + + } diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java deleted file mode 100644 index 0af81d8..0000000 --- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java +++ /dev/null @@ -1,77 +0,0 @@ -package lance5057.tDefense.armor; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.IntStream; - -import javax.annotation.Nonnull; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; - -import gnu.trove.set.hash.THashSet; -import lance5057.tDefense.armor.events.ArmorBaseEvents; -import lance5057.tDefense.armor.materials.MaterialArmor; -import lance5057.tDefense.armor.materials.MaterialCloth; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.EntityEquipmentSlot; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.nbt.NBTTagString; -import net.minecraft.util.DamageSource; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.util.text.translation.I18n; -import net.minecraft.world.World; -import net.minecraftforge.common.ISpecialArmor; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import slimeknights.mantle.util.RecipeMatch; -import slimeknights.tconstruct.common.ClientProxy; -import slimeknights.tconstruct.common.config.Config; -import slimeknights.tconstruct.library.Util; -import slimeknights.tconstruct.library.materials.HeadMaterialStats; -import slimeknights.tconstruct.library.materials.Material; -import slimeknights.tconstruct.library.materials.MaterialTypes; -import slimeknights.tconstruct.library.modifiers.TinkerGuiException; -import slimeknights.tconstruct.library.tinkering.Category; -import slimeknights.tconstruct.library.tinkering.IModifyable; -import slimeknights.tconstruct.library.tinkering.IRepairable; -import slimeknights.tconstruct.library.tinkering.ITinkerable; -import slimeknights.tconstruct.library.tinkering.IToolStationDisplay; -import slimeknights.tconstruct.library.tinkering.IndestructibleEntityItem; -import slimeknights.tconstruct.library.tinkering.PartMaterialType; -import slimeknights.tconstruct.library.tools.ToolCore; -import slimeknights.tconstruct.library.tools.ToolNBT; -import slimeknights.tconstruct.library.traits.ITrait; -import slimeknights.tconstruct.library.utils.TagUtil; -import slimeknights.tconstruct.library.utils.Tags; -import slimeknights.tconstruct.library.utils.TinkerUtil; -import slimeknights.tconstruct.library.utils.ToolBuilder; -import slimeknights.tconstruct.library.utils.ToolHelper; -import slimeknights.tconstruct.library.utils.TooltipBuilder; - -public abstract class ArmorCore extends ToolCore -{ - public float reductionPercent = 0f; - public int maxReduction = 100; - - public ArmorCore(PartMaterialType... rc) { - super(rc); - } - - @Override - public NBTTagCompound buildTag(List<Material> materials) { - ToolNBT data = buildDefaultTag(materials); - data.durability *= 1; - return data.get(); - } -} diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorBaseEvents.java b/src/main/java/lance5057/tDefense/armor/events/ArmorBaseEvents.java index d35a37a..4f00ee9 100644 --- a/src/main/java/lance5057/tDefense/armor/events/ArmorBaseEvents.java +++ b/src/main/java/lance5057/tDefense/armor/events/ArmorBaseEvents.java @@ -2,13 +2,11 @@ package lance5057.tDefense.armor.events; import com.google.common.collect.ImmutableList; -import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.core.tools.bases.ArmorCore; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.eventhandler.Event; -import slimeknights.tconstruct.library.events.TinkerEvent.OnItemBuilding; import slimeknights.tconstruct.library.materials.Material; -import slimeknights.tconstruct.library.tinkering.TinkersItem; public abstract class ArmorBaseEvents extends Event { public static class OnArmorBuilding extends ArmorBaseEvents { diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java deleted file mode 100644 index a236fc0..0000000 --- a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java +++ /dev/null @@ -1,44 +0,0 @@ -package lance5057.tDefense.armor.items.straps; - -import lance5057.tDefense.TinkersDefense; -import lance5057.tDefense.core.CoreBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.EntityEquipmentSlot; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.world.World; - -public class ItemStraps extends ItemArmor -{ - public ItemStraps() - { - super(ArmorMaterial.LEATHER, 0, EntityEquipmentSlot.HEAD); - // ItemStacks that store an NBT Tag Compound are limited to stack size of 1 - setMaxStackSize(1); - // you'll want to set a creative tab as well, so you can get your item - setCreativeTab(CoreBase.tab); - } - - // Without this method, your inventory will NOT work!!! - @Override - public int getMaxItemUseDuration(ItemStack stack) { - return 1; // return any value greater than zero - } - - @Override - public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) - { - if (!worldIn.isRemote) - { - // If player not sneaking, open the inventory gui - if (!playerIn.isSneaking()) { - playerIn.openGui(TinkersDefense.instance, TinkersDefense.GUI_STRAPS_INV, worldIn, 0, 0, 0); - } - } - - return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); - } -}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java b/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java deleted file mode 100644 index 95b8036..0000000 --- a/src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java +++ /dev/null @@ -1,212 +0,0 @@ -package lance5057.tDefense.armor.items.straps; - -import lance5057.tDefense.armor.ArmorCore; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.EntityEquipmentSlot; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemArmor.ArmorMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.DamageSource; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TextComponentString; -import net.minecraftforge.common.ISpecialArmor.ArmorProperties; - -public class ItemStrapsInv implements IInventory { - - private final ItemStack invItem; - public static final int INVSIZE = 1; - private final String name = "ArmorHolder"; - - private ItemStack[] inventory = new ItemStack[INVSIZE]; - - public ItemStrapsInv(ItemStack stack) { - invItem = stack; - - if (!stack.hasTagCompound()) { - stack.setTagCompound(new NBTTagCompound()); - } - - readFromNBT(stack.getTagCompound()); - } - - /** - * A custom method to read our inventory from an ItemStack's NBT compound - */ - public void readFromNBT(NBTTagCompound compound) { - // Gets the custom taglist we wrote to this compound, if any - // 1.7.2+ change to compound.getTagList("ItemInventory", - // Constants.NBT.TAG_COMPOUND); - NBTTagList items = compound.getTagList("ItemInventory", 9); - - for (int i = 0; i < items.tagCount(); ++i) { - // 1.7.2+ change to items.getCompoundTagAt(i) - NBTTagCompound item = (NBTTagCompound) items.getCompoundTagAt(i); - int slot = item.getInteger("Slot"); - - // Just double-checking that the saved slot index is within our - // inventory array bounds - if (slot >= 0 && slot < getSizeInventory()) { - inventory[slot] = new ItemStack(item); - } - } - } - - /** - * A custom method to write our inventory to an ItemStack's NBT compound - */ - public void writeToNBT(NBTTagCompound tagcompound) { - // Create a new NBT Tag List to store itemstacks as NBT Tags - NBTTagList items = new NBTTagList(); - - for (int i = 0; i < getSizeInventory(); ++i) { - // Only write stacks that contain items - if (getStackInSlot(i) != null) { - // Make a new NBT Tag Compound to write the itemstack and slot - // index to - NBTTagCompound item = new NBTTagCompound(); - item.setInteger("Slot", i); - // Writes the itemstack in slot(i) to the Tag Compound we just - // made - getStackInSlot(i).writeToNBT(item); - - // add the tag compound to our tag list - items.appendTag(item); - } - } - // Add the TagList to the ItemStack's Tag Compound with the name - // "ItemInventory" - tagcompound.setTag("ItemInventory", items); - } - - @Override - public String getName() { - return name; - } - - @Override - public boolean hasCustomName() { - return true; - } - - @Override - public ITextComponent getDisplayName() { - return new TextComponentString(name); - } - - @Override - public int getSizeInventory() { - // TODO Auto-generated method stub - return INVSIZE; - } - - @Override - public ItemStack getStackInSlot(int index) { - return inventory[index]; - } - - @Override - public ItemStack decrStackSize(int index, int count) { - ItemStack stack = getStackInSlot(index); - if (stack != null) { - if (stack.getCount() > count) { - stack = stack.splitStack(count); - // Don't forget this line or your inventory will not be saved! - markDirty(); - } else { - // this method also calls onInventoryChanged, so we don't need - // to call it again - setInventorySlotContents(index, null); - } - } - return stack; - } - - @Override - public ItemStack removeStackFromSlot(int index) { - ItemStack stack = getStackInSlot(index); - setInventorySlotContents(index, null); - return stack; - } - - @Override - public void setInventorySlotContents(int index, ItemStack stack) { - inventory[index] = stack; - - if (stack != null && stack.getCount() > getInventoryStackLimit()) { - stack.setCount(getInventoryStackLimit()); - } - - // Don't forget this line or your inventory will not be saved! - markDirty(); - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public void markDirty() { - for (int i = 0; i < getSizeInventory(); ++i) { - if (getStackInSlot(i) != null && getStackInSlot(i).getCount() == 0) { - inventory[i] = null; - } - } - - // This line here does the work: - writeToNBT(invItem.getTagCompound()); - } - - @Override - public boolean isUsableByPlayer(EntityPlayer player) { - return true; - } - - @Override - public void openInventory(EntityPlayer player) { - - } - - @Override - public void closeInventory(EntityPlayer player) { - - } - - @Override - public boolean isItemValidForSlot(int index, ItemStack stack) { - return (stack.getItem() instanceof ArmorCore); - } - - @Override - public int getField(int id) { - // TODO Auto-generated method stub - return 0; - } - - @Override - public void setField(int id, int value) { - // TODO Auto-generated method stub - - } - - @Override - public int getFieldCount() { - // TODO Auto-generated method stub - return 0; - } - - @Override - public void clear() { - // TODO Auto-generated method stub - - } - - @Override - public boolean isEmpty() { - // TODO Auto-generated method stub - return false; - } -} diff --git a/src/main/java/lance5057/tDefense/core/CoreBase.java b/src/main/java/lance5057/tDefense/core/CoreBase.java deleted file mode 100644 index d04c248..0000000 --- a/src/main/java/lance5057/tDefense/core/CoreBase.java +++ /dev/null @@ -1,49 +0,0 @@ -package lance5057.tDefense.core; - -import lance5057.tDefense.util.BlocksBase; -import lance5057.tDefense.util.ItemsBase; -import lance5057.tDefense.util.ModuleBase; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import slimeknights.mantle.client.CreativeTab; - -public class CoreBase extends ModuleBase -{ - public static CreativeTabs tab; - - public ItemsBase items; - public BlocksBase blocks; - - public CoreBase() - { - items = new CoreItems(); - blocks = new CoreBlocks(); - } - - @Override - public void preInit(FMLPreInitializationEvent e) { - tab = new CreativeTab("TDefense_Core", new ItemStack(Items.SHIELD)); - - // TODO Auto-generated method stub - items.preInit(e); - blocks.preInit(e); - } - - @Override - public void init(FMLInitializationEvent e) { - // TODO Auto-generated method stub - items.init(e); - blocks.init(e); - } - - @Override - public void postInit(FMLPostInitializationEvent e) { - // TODO Auto-generated method stub - items.postInit(e); - blocks.postInit(e); - } -} diff --git a/src/main/java/lance5057/tDefense/core/CoreBlocks.java b/src/main/java/lance5057/tDefense/core/CoreBlocks.java deleted file mode 100644 index 6ae204d..0000000 --- a/src/main/java/lance5057/tDefense/core/CoreBlocks.java +++ /dev/null @@ -1,72 +0,0 @@ -package lance5057.tDefense.core; - -import lance5057.tDefense.TinkersDefense; -import lance5057.tDefense.core.blocks.TDMetalBlock; -import lance5057.tDefense.core.blocks.TDMetalItemBlock; -import lance5057.tDefense.util.BlocksBase; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; - -public class CoreBlocks extends BlocksBase { - public static TDMetalBlock metalBlocks; - public static TDMetalItemBlock metalItemBlock; - - //public static CrestMount crestMount; - - @Override - public void preInit(FMLPreInitializationEvent e) { - // aeonsteelBlock = register("aeonsteelblock", CoreBase.tab, 5); - // dogbeariumBlock = register("dogbeariumblock", CoreBase.tab, 5); - // queensgoldBlock = register("queensgoldblock", CoreBase.tab, 5); - // greencandyBlock = register("greencandyblock", CoreBase.tab, 5); - // redcandyBlock = register("redcandyblock", CoreBase.tab, 5); - - //crestMount = new CrestMount(); - //crestMount.setCreativeTab(CoreBase.tab); - - metalBlocks = (TDMetalBlock) (new TDMetalBlock().setUnlocalizedName("metalblock")); - metalBlocks.setRegistryName("metalblock"); - blockList.add(metalBlocks); - - // We also need to create and register an ItemBlock for this block - // otherwise it won't appear in the inventory - metalItemBlock = new TDMetalItemBlock(metalBlocks); - metalItemBlock.setRegistryName(metalBlocks.getRegistryName()); - itemList.add(metalItemBlock); - - - - // aeonsteelItemBlock = register("aeonsteelblock", 64, CoreBase.tab, - // aeonsteelBlock); - // dogbeariumItemBlock = register("dogbeariumblock", 64, CoreBase.tab, - // dogbeariumBlock); - // queensgoldItemBlock = register("queensgoldblock", 64, CoreBase.tab, - // queensgoldBlock); - // greencandyItemBlock = register("greencandyblock", 64, CoreBase.tab, - // greencandyBlock); - // redcandyItemBlock = register("redcandyblock", 64, CoreBase.tab, - // redcandyBlock); - // - // GameRegistry.register(aeonsteelBlock); - // GameRegistry.register(dogbeariumBlock); - // GameRegistry.register(queensgoldBlock); - // GameRegistry.register(greencandyBlock); - // GameRegistry.register(redcandyBlock); - } - - @Override - public void init(FMLInitializationEvent e) { - // TODO Auto-generated method stub - TinkersDefense.proxy.registerItemBlockRenderer(metalBlocks, 0, "aeonsteel"); - TinkersDefense.proxy.registerItemBlockRenderer(metalBlocks, 1, "queensgold"); - TinkersDefense.proxy.registerItemBlockRenderer(metalBlocks, 2, "dogbearium"); - } - - @Override - public void postInit(FMLPostInitializationEvent e) { - // TODO Auto-generated method stub - - } - -} diff --git a/src/main/java/lance5057/tDefense/core/CoreClientProxy.java b/src/main/java/lance5057/tDefense/core/CoreClientProxy.java deleted file mode 100644 index 4876427..0000000 --- a/src/main/java/lance5057/tDefense/core/CoreClientProxy.java +++ /dev/null @@ -1,25 +0,0 @@ -package lance5057.tDefense.core; - -import lance5057.tDefense.util.ModuleBase; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; - -public class CoreClientProxy -{ - - public void preInit() { - //CoreBlocks.crestMount.initModel(); - } - - public void init() { - // TODO Auto-generated method stub - - } - - public void postInit() { - // TODO Auto-generated method stub - - } - -} diff --git a/src/main/java/lance5057/tDefense/core/CoreCommonProxy.java b/src/main/java/lance5057/tDefense/core/CoreCommonProxy.java deleted file mode 100644 index bdbc5a9..0000000 --- a/src/main/java/lance5057/tDefense/core/CoreCommonProxy.java +++ /dev/null @@ -1,5 +0,0 @@ -package lance5057.tDefense.core; - -public class CoreCommonProxy { - -} diff --git a/src/main/java/lance5057/tDefense/core/CoreItems.java b/src/main/java/lance5057/tDefense/core/CoreItems.java deleted file mode 100644 index 615b037..0000000 --- a/src/main/java/lance5057/tDefense/core/CoreItems.java +++ /dev/null @@ -1,40 +0,0 @@ -package lance5057.tDefense.core; - -import lance5057.tDefense.Reference; -import lance5057.tDefense.armor.items.straps.ItemStraps; -import lance5057.tDefense.util.ItemsBase; -import net.minecraft.item.Item; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; - -public class CoreItems extends ItemsBase -{ - public static Item item_straps; - - public CoreItems() - { - - } - - @Override - public void preInit(FMLPreInitializationEvent e) - { - } - - @Override - public void init(FMLInitializationEvent e) - { - - item_straps = new ItemStraps().setMaxStackSize(1).setUnlocalizedName("straps").setRegistryName(Reference.MOD_ID, "straps"); - itemList.add(item_straps); - } - - @Override - public void postInit(FMLPostInitializationEvent e) { - // TODO Auto-generated method stub - - } - -} diff --git a/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java b/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java index 7c54892..89856c3 100644 --- a/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java +++ b/src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java @@ -1,8 +1,6 @@ package lance5057.tDefense.core.blocks; -import java.util.List; - -import lance5057.tDefense.core.CoreBase; +import lance5057.tDefense.TinkersDefense; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; @@ -10,7 +8,6 @@ import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IStringSerializable; import net.minecraft.util.NonNullList; @@ -20,7 +17,7 @@ public class TDMetalBlock extends Block { public TDMetalBlock() { super(Material.IRON); - this.setCreativeTab(CoreBase.tab); + this.setCreativeTab(TinkersDefense.tab); this.setHardness(5); this.setResistance(30); this.setDefaultState(this.blockState.getBaseState().withProperty(METAL, EnumMetal.AEONSTEEL)); diff --git a/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java b/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java index 7aa80e9..ff08df2 100644 --- a/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java +++ b/src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java @@ -1,10 +1,9 @@ package lance5057.tDefense.core.items; -import java.awt.Color; import java.util.ArrayList; import java.util.List; -import lance5057.tDefense.core.CoreBase; +import lance5057.tDefense.TinkersDefense; import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -25,7 +24,7 @@ public class TDOreDictItem extends Item { prefix = pre; mats = materials_master; colors = materials_colors; - this.setCreativeTab(CoreBase.tab); + this.setCreativeTab(TinkersDefense.tab); this.hasSubtypes = true; } diff --git a/src/main/java/lance5057/tDefense/core/materials/BaubleMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/BaubleMaterialStats.java new file mode 100644 index 0000000..aa28dc1 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/materials/BaubleMaterialStats.java @@ -0,0 +1,65 @@ +package lance5057.tDefense.core.materials; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.Util; +import slimeknights.tconstruct.library.client.CustomFontColor; +import slimeknights.tconstruct.library.materials.AbstractMaterialStats; + +public class BaubleMaterialStats extends AbstractMaterialStats +{ + public final static String TYPE = "bauble"; + + public final static String LOC_Durability = "stat.boots.armor.durability.name"; + + public final static String LOC_DurabilityDesc = "stat.boots.armor.durability.desc"; + + public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f); + + public final int durability; // usually between 1 and 1000 + + public BaubleMaterialStats(int durability) + { + super(TYPE); + this.durability = durability; + } + + @Override + public List<String> getLocalizedInfo() + { + List<String> info = Lists.newArrayList(); + + info.add(formatDurability(durability)); + + return info; + } + + public static String formatDurability(int durability) + { + return formatNumber(LOC_Durability, COLOR_Durability, durability); + } + + public static String formatDurability(int durability, int ref) + { + return String.format("%s: %s%s%s/%s%s", + Util.translate(LOC_Durability), + CustomFontColor.valueToColorCode((float) durability / (float) ref), + Util.df.format(durability), + TextFormatting.GRAY.toString(), + COLOR_Durability, + Util.df.format(ref)) + TextFormatting.RESET; + } + + @Override + public List<String> getLocalizedDesc() + { + List<String> info = Lists.newArrayList(); + + info.add(Util.translate(LOC_DurabilityDesc)); + + return info; + } +} diff --git a/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java new file mode 100644 index 0000000..69d07bb --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java @@ -0,0 +1,89 @@ +package lance5057.tDefense.core.materials; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.Util; +import slimeknights.tconstruct.library.client.CustomFontColor; +import slimeknights.tconstruct.library.materials.AbstractMaterialStats; + +public class BootsMaterialStats extends AbstractMaterialStats +{ + public final static String TYPE = "boots"; + + public final static String LOC_Durability = "stat.boots.armor.durability.name"; + public final static String LOC_ArmorRating = "stat.boots.armor.rating.name"; + public final static String LOC_ArmorToughness = "stat.boots.armor.toughness.name"; + + public final static String LOC_DurabilityDesc = "stat.boots.armor.durability.desc"; + public final static String LOC_ArmorRatingDesc = "stat.boots.armor.rating.desc"; + public final static String LOC_ArmorToughnessDesc = "stat.boots.armor.toughness.desc"; + + public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f); + public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100); + public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100); + + public final int durability; // usually between 1 and 1000 + public final int rating; // 1 - 20 + public final int toughness; + + public BootsMaterialStats(int durability, int rating, int toughness) + { + super(TYPE); + this.durability = durability; + this.rating = rating; + this.toughness = toughness; + } + + @Override + public List<String> getLocalizedInfo() + { + List<String> info = Lists.newArrayList(); + + info.add(formatDurability(durability)); + info.add(formatArmorRating(rating)); + info.add(formatArmorToughness(toughness)); + + return info; + } + + public static String formatDurability(int durability) + { + return formatNumber(LOC_Durability, COLOR_Durability, durability); + } + + public static String formatDurability(int durability, int ref) + { + return String.format("%s: %s%s%s/%s%s", + Util.translate(LOC_Durability), + CustomFontColor.valueToColorCode((float) durability / (float) ref), + Util.df.format(durability), + TextFormatting.GRAY.toString(), + COLOR_Durability, + Util.df.format(ref)) + TextFormatting.RESET; + } + + public static String formatArmorRating(int percent) + { + return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent); + } + + public static String formatArmorToughness(int percent) + { + return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent); + } + + @Override + public List<String> getLocalizedDesc() + { + List<String> info = Lists.newArrayList(); + + info.add(Util.translate(LOC_DurabilityDesc)); + info.add(Util.translate(LOC_ArmorRatingDesc)); + info.add(Util.translate(LOC_ArmorToughnessDesc)); + + return info; + } +} diff --git a/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java new file mode 100644 index 0000000..e1fe811 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java @@ -0,0 +1,89 @@ +package lance5057.tDefense.core.materials; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.Util; +import slimeknights.tconstruct.library.client.CustomFontColor; +import slimeknights.tconstruct.library.materials.AbstractMaterialStats; + +public class ChestMaterialStats extends AbstractMaterialStats +{ + public final static String TYPE = "chest"; + + public final static String LOC_Durability = "stat.chest.armor.durability.name"; + public final static String LOC_ArmorRating = "stat.chest.armor.rating.name"; + public final static String LOC_ArmorToughness = "stat.chest.armor.toughness.name"; + + public final static String LOC_DurabilityDesc = "stat.chest.armor.durability.desc"; + public final static String LOC_ArmorRatingDesc = "stat.chest.armor.rating.desc"; + public final static String LOC_ArmorToughnessDesc = "stat.chest.armor.toughness.desc"; + + public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f); + public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100); + public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100); + + public final int durability; // usually between 1 and 1000 + public final int rating; // 1 - 20 + public final int toughness; + + public ChestMaterialStats(int durability, int rating, int toughness) + { + super(TYPE); + this.durability = durability; + this.rating = rating; + this.toughness = toughness; + } + + @Override + public List<String> getLocalizedInfo() + { + List<String> info = Lists.newArrayList(); + + info.add(formatDurability(durability)); + info.add(formatArmorRating(rating)); + info.add(formatArmorToughness(toughness)); + + return info; + } + + public static String formatDurability(int durability) + { + return formatNumber(LOC_Durability, COLOR_Durability, durability); + } + + public static String formatDurability(int durability, int ref) + { + return String.format("%s: %s%s%s/%s%s", + Util.translate(LOC_Durability), + CustomFontColor.valueToColorCode((float) durability / (float) ref), + Util.df.format(durability), + TextFormatting.GRAY.toString(), + COLOR_Durability, + Util.df.format(ref)) + TextFormatting.RESET; + } + + public static String formatArmorRating(int percent) + { + return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent); + } + + public static String formatArmorToughness(int percent) + { + return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent); + } + + @Override + public List<String> getLocalizedDesc() + { + List<String> info = Lists.newArrayList(); + + info.add(Util.translate(LOC_DurabilityDesc)); + info.add(Util.translate(LOC_ArmorRatingDesc)); + info.add(Util.translate(LOC_ArmorToughnessDesc)); + + return info; + } +} diff --git a/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java new file mode 100644 index 0000000..c094aca --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java @@ -0,0 +1,89 @@ +package lance5057.tDefense.core.materials; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.Util; +import slimeknights.tconstruct.library.client.CustomFontColor; +import slimeknights.tconstruct.library.materials.AbstractMaterialStats; + +public class HelmMaterialStats extends AbstractMaterialStats +{ + public final static String TYPE = "helm"; + + public final static String LOC_Durability = "stat.helm.armor.durability.name"; + public final static String LOC_ArmorRating = "stat.helm.armor.rating.name"; + public final static String LOC_ArmorToughness = "stat.helm.armor.toughness.name"; + + public final static String LOC_DurabilityDesc = "stat.helm.armor.durability.desc"; + public final static String LOC_ArmorRatingDesc = "stat.helm.armor.rating.desc"; + public final static String LOC_ArmorToughnessDesc = "stat.helm.armor.toughness.desc"; + + public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f); + public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100); + public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100); + + public final int durability; // usually between 1 and 1000 + public final int rating; // 1 - 20 + public final int toughness; + + public HelmMaterialStats(int durability, int rating, int toughness) + { + super(TYPE); + this.durability = durability; + this.rating = rating; + this.toughness = toughness; + } + + @Override + public List<String> getLocalizedInfo() + { + List<String> info = Lists.newArrayList(); + + info.add(formatDurability(durability)); + info.add(formatArmorRating(rating)); + info.add(formatArmorToughness(toughness)); + + return info; + } + + public static String formatDurability(int durability) + { + return formatNumber(LOC_Durability, COLOR_Durability, durability); + } + + public static String formatDurability(int durability, int ref) + { + return String.format("%s: %s%s%s/%s%s", + Util.translate(LOC_Durability), + CustomFontColor.valueToColorCode((float) durability / (float) ref), + Util.df.format(durability), + TextFormatting.GRAY.toString(), + COLOR_Durability, + Util.df.format(ref)) + TextFormatting.RESET; + } + + public static String formatArmorRating(int percent) + { + return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent); + } + + public static String formatArmorToughness(int percent) + { + return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent); + } + + @Override + public List<String> getLocalizedDesc() + { + List<String> info = Lists.newArrayList(); + + info.add(Util.translate(LOC_DurabilityDesc)); + info.add(Util.translate(LOC_ArmorRatingDesc)); + info.add(Util.translate(LOC_ArmorToughnessDesc)); + + return info; + } +} diff --git a/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java new file mode 100644 index 0000000..e59545e --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java @@ -0,0 +1,89 @@ +package lance5057.tDefense.core.materials; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.Util; +import slimeknights.tconstruct.library.client.CustomFontColor; +import slimeknights.tconstruct.library.materials.AbstractMaterialStats; + +public class LegsMaterialStats extends AbstractMaterialStats +{ + public final static String TYPE = "legs"; + + public final static String LOC_Durability = "stat.legs.armor.durability.name"; + public final static String LOC_ArmorRating = "stat.legs.armor.rating.name"; + public final static String LOC_ArmorToughness = "stat.legs.armor.toughness.name"; + + public final static String LOC_DurabilityDesc = "stat.legs.armor.durability.desc"; + public final static String LOC_ArmorRatingDesc = "stat.legs.armor.rating.desc"; + public final static String LOC_ArmorToughnessDesc = "stat.legs.armor.toughness.desc"; + + public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f); + public final static String COLOR_ArmorRating = CustomFontColor.encodeColor(215, 100, 100); + public final static String COLOR_ArmorToughness = CustomFontColor.encodeColor(215, 100, 100); + + public final int durability; // usually between 1 and 1000 + public final int rating; // 1 - 20 + public final int toughness; + + public LegsMaterialStats(int durability, int rating, int toughness) + { + super(TYPE); + this.durability = durability; + this.rating = rating; + this.toughness = toughness; + } + + @Override + public List<String> getLocalizedInfo() + { + List<String> info = Lists.newArrayList(); + + info.add(formatDurability(durability)); + info.add(formatArmorRating(rating)); + info.add(formatArmorToughness(toughness)); + + return info; + } + + public static String formatDurability(int durability) + { + return formatNumber(LOC_Durability, COLOR_Durability, durability); + } + + public static String formatDurability(int durability, int ref) + { + return String.format("%s: %s%s%s/%s%s", + Util.translate(LOC_Durability), + CustomFontColor.valueToColorCode((float) durability / (float) ref), + Util.df.format(durability), + TextFormatting.GRAY.toString(), + COLOR_Durability, + Util.df.format(ref)) + TextFormatting.RESET; + } + + public static String formatArmorRating(int percent) + { + return formatNumber(LOC_ArmorRating, COLOR_ArmorRating, percent); + } + + public static String formatArmorToughness(int percent) + { + return formatNumber(LOC_ArmorToughness, COLOR_ArmorToughness, percent); + } + + @Override + public List<String> getLocalizedDesc() + { + List<String> info = Lists.newArrayList(); + + info.add(Util.translate(LOC_DurabilityDesc)); + info.add(Util.translate(LOC_ArmorRatingDesc)); + info.add(Util.translate(LOC_ArmorToughnessDesc)); + + return info; + } +} diff --git a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java index 9fa528d..9126163 100644 --- a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java +++ b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java @@ -62,6 +62,11 @@ public class TDMaterials // public static final List<Material> materials = Lists.newArrayList(); String SHIELD = ShieldMaterialStats.TYPE; + String HELM = HelmMaterialStats.TYPE; + String CHEST = ChestMaterialStats.TYPE; + String LEGS = LegsMaterialStats.TYPE; + String BOOTS = BootsMaterialStats.TYPE; + String BAUBLE = BaubleMaterialStats.TYPE; public static final Map<String, Material> materials = new THashMap<>(); public static final Map<String, MaterialIntegration> materialIntegrations = new THashMap<>(); @@ -345,6 +350,11 @@ public class TDMaterials ingot = new TDOreDictItem("ingot", getMatNames(ingotMaster), getMatColors(ingotMaster)); Material.UNKNOWN.addStats(new ShieldMaterialStats(35, 33)); + Material.UNKNOWN.addStats(new HelmMaterialStats(35, 1, 0)); + Material.UNKNOWN.addStats(new ChestMaterialStats(35, 1, 0)); + Material.UNKNOWN.addStats(new LegsMaterialStats(35, 1, 0)); + Material.UNKNOWN.addStats(new BootsMaterialStats(35, 1, 0)); + Material.UNKNOWN.addStats(new BaubleMaterialStats(35)); // TinkerRegistry.addMaterialStats(Material.UNKNOWN, // new ShieldMaterialStats(35, 33)); @@ -352,6 +362,7 @@ public class TDMaterials // TinkerRegistry.addMaterialStats(Material.UNKNOWN, // new ShieldMaterialStats(35, 33)); TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new ShieldMaterialStats(35, 33)); + TinkerRegistry.addMaterialStats(TinkerMaterials.wood, new HelmMaterialStats(35, 0, 0)); // TinkerMaterials.wood.addTrait(axelover, SHIELD); TinkerRegistry.addMaterialStats(TinkerMaterials.stone, new ShieldMaterialStats(120, 33)); @@ -417,7 +428,8 @@ public class TDMaterials for (TDMatHelper m : materials_master) { - if (m.createMat) + Material test = TinkerRegistry.getMaterial(m.name); + if (m.createMat && test.getIdentifier() == "unknown" && !TinkersDefense.config.materials.isBlacklisted(m.name)) createMaterial(m); } @@ -632,11 +644,7 @@ public class TDMaterials @Subscribe public void postInit(FMLPostInitializationEvent event) { - TinkersDefense.proxy.registerItemColorHandler(new TDOreDictItem.ColorHandler(), ingot); - TinkersDefense.proxy.registerItemColorHandler(new TDOreDictItem.ColorHandler(), gem); - TinkersDefense.proxy.registerItemColorHandler(new TDOreDictItem.ColorHandler(), dust); - TinkersDefense.proxy.registerItemColorHandler(new TDOreDictItem.ColorHandler(), nugget); - TinkersDefense.proxy.registerItemColorHandler(new TDOreDictItem.ColorHandler(), grain); + } @SideOnly(Side.CLIENT) diff --git a/src/main/java/lance5057/tDefense/core/tools/TDTools.java b/src/main/java/lance5057/tDefense/core/tools/TDTools.java index f03c108..7d546fb 100644 --- a/src/main/java/lance5057/tDefense/core/tools/TDTools.java +++ b/src/main/java/lance5057/tDefense/core/tools/TDTools.java @@ -6,10 +6,11 @@ import com.google.common.eventbus.Subscribe; import lance5057.tDefense.Reference; import lance5057.tDefense.TinkersDefense; -import lance5057.tDefense.armor.items.cloth.TinkersHood; -import lance5057.tDefense.armor.items.cloth.TinkersRobe; -import lance5057.tDefense.armor.items.cloth.TinkersShawl; -import lance5057.tDefense.armor.items.cloth.TinkersShoes; +import lance5057.tDefense.core.tools.armor.cloth.TinkersHood; +import lance5057.tDefense.core.tools.armor.cloth.TinkersRobe; +import lance5057.tDefense.core.tools.armor.cloth.TinkersShawl; +import lance5057.tDefense.core.tools.armor.cloth.TinkersShoes; +import lance5057.tDefense.core.tools.armor.straps.ItemStraps; import lance5057.tDefense.core.tools.basic.FishingRod; import lance5057.tDefense.core.tools.basic.HeaterShield; import lance5057.tDefense.core.tools.basic.RoundShield; @@ -26,7 +27,6 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.registries.IForgeRegistry; import slimeknights.tconstruct.library.TinkerRegistry; import slimeknights.tconstruct.library.tools.ToolCore; @@ -45,6 +45,8 @@ public class TDTools { public static ToolCore fishingRod; //armor + public static ItemStraps straps; + public static ToolCore hood; public static ToolCore shawl; public static ToolCore robe; @@ -82,7 +84,8 @@ public class TDTools { // PRE-INITIALIZATION @Subscribe public void preInit(FMLPreInitializationEvent event) { - + straps = new ItemStraps(); + itemList.add(straps); } private void regTools() { @@ -96,12 +99,13 @@ public class TDTools { public void registerItems(final RegistryEvent.Register<Item> event) { + roundshield = new RoundShield(); heatershield = new HeaterShield(); zweihander = new Zweihander(); shears = new Shears(); fishingRod = new FishingRod(); - + hood = new TinkersHood(); shawl = new TinkersShawl(); robe = new TinkersRobe(); @@ -126,10 +130,10 @@ public class TDTools { regTool(ring, "ring", event); regTool(amulet, "amulet", event); -// final IForgeRegistry registry = event.getRegistry(); -// for (Item i : itemList) { -// event.getRegistry().register(i); -// } + final IForgeRegistry registry = event.getRegistry(); + for (Item i : itemList) { + registry.register(i); + } } private static void regTool(ToolCore tool, String name, RegistryEvent.Register<Item> event) { diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java index 03f5202..61f3c88 100644 --- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java @@ -1,7 +1,7 @@ -package lance5057.tDefense.armor.items.cloth; +package lance5057.tDefense.core.tools.armor.cloth; -import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.core.parts.TDParts; +import lance5057.tDefense.core.tools.bases.ArmorCore; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java index 905e415..b2c43ff 100644 --- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java @@ -1,7 +1,7 @@ -package lance5057.tDefense.armor.items.cloth; +package lance5057.tDefense.core.tools.armor.cloth; -import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.core.parts.TDParts; +import lance5057.tDefense.core.tools.bases.ArmorCore; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java index 47bbd7c..4af7731 100644 --- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java @@ -1,7 +1,7 @@ -package lance5057.tDefense.armor.items.cloth; +package lance5057.tDefense.core.tools.armor.cloth; -import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.core.parts.TDParts; +import lance5057.tDefense.core.tools.bases.ArmorCore; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java index b0ff8e5..1f178cf 100644 --- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java @@ -1,7 +1,7 @@ -package lance5057.tDefense.armor.items.cloth; +package lance5057.tDefense.core.tools.armor.cloth; -import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.core.parts.TDParts; +import lance5057.tDefense.core.tools.bases.ArmorCore; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java index d738cac..d738cac 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java index e763ff8..e763ff8 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java index 8e47805..8e47805 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java index 47bcc77..47bcc77 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java index 9bc9a4f..9bc9a4f 100644 --- a/src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersChausses.java index 41b189c..41b189c 100644 --- a/src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersChausses.java diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersCoif.java index 26c6581..26c6581 100644 --- a/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersCoif.java diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersHauberk.java b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersHauberk.java index b6ca11c..b6ca11c 100644 --- a/src/main/java/lance5057/tDefense/armor/items/light/TinkersHauberk.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersHauberk.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ArmorRenderer.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java index f16df63..f16df63 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/ArmorRenderer.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersGauntlets.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersGauntlets.java index 5eac286..5eac286 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersGauntlets.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersGauntlets.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersTabard.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersTabard.java index f061b78..f061b78 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersTabard.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersTabard.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java index ba5db86..ba5db86 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java index 5494518..5494518 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java index 888843e..888843e 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShoes.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java index d751ded..d751ded 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShoes.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java index fded61d..fded61d 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java index bc76312..bc76312 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java index 5276f2e..5276f2e 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java index 702e7d1..702e7d1 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java index bc5dae3..bc5dae3 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersChausses.java index 7381d4e..7381d4e 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersChausses.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersCoif.java index d0af22d..d0af22d 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersCoif.java diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHauberk.java b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersHauberk.java index d30b478..d30b478 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHauberk.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersHauberk.java diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java new file mode 100644 index 0000000..ef71827 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java @@ -0,0 +1,124 @@ +package lance5057.tDefense.core.tools.armor.straps; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import baubles.api.IBauble; +import lance5057.tDefense.TinkersDefense; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ActionResult; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.world.World; +import net.minecraftforge.common.ISpecialArmor; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.capabilities.ICapabilityProvider; +import net.minecraftforge.common.capabilities.ICapabilitySerializable; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemStackHandler; + +public class ItemStraps extends ItemArmor implements ISpecialArmor +{ + public ItemStraps() + { + super(ArmorMaterial.LEATHER, 0, EntityEquipmentSlot.HEAD); + // ItemStacks that store an NBT Tag Compound are limited to stack size + // of 1 + setMaxStackSize(1); + // you'll want to set a creative tab as well, so you can get your item + setCreativeTab(TinkersDefense.tab); + this.setRegistryName("straps").setUnlocalizedName("straps"); + } + + @Nonnull + @Override + public ICapabilityProvider initCapabilities(ItemStack stack, NBTTagCompound oldCapNbt) + { + return new InvProvider(); + } + + private static class InvProvider implements ICapabilitySerializable + { + + private final IItemHandler inv = new ItemStackHandler(1); + + @Override + public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) + { + return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY; + } + + @Override + public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) + { + if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inv); + else + return null; + } + + @Override + public NBTBase serializeNBT() + { + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.writeNBT(inv, null); + } + + @Override + public void deserializeNBT(NBTBase nbt) + { + CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.readNBT(inv, null, nbt); + } + } + + // Without this method, your inventory will NOT work!!! + @Override + public int getMaxItemUseDuration(ItemStack stack) + { + return 1; // return any value greater than zero + } + + @Override + public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) + { + if (!worldIn.isRemote) + { + // If player not sneaking, open the inventory gui + if (!playerIn.isSneaking()) + { + playerIn.openGui(TinkersDefense.instance, TinkersDefense.GUI_STRAPS_INV, worldIn, 0, 0, 0); + } + } + + return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) + { + // TODO Auto-generated method stub + return null; + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) + { + // TODO Auto-generated method stub + + } +}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java new file mode 100644 index 0000000..4eb5e70 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java @@ -0,0 +1,24 @@ +package lance5057.tDefense.core.tools.armor.straps; + +import javax.annotation.Nonnull; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemStackHandler; + +public class ItemStrapsInv extends ItemStackHandler +{ + + private ItemStack invItem = ItemStack.EMPTY; + public static final int INVSIZE = 1; + private final String name = "ArmorHolder"; + + private final ItemStackHandler inventory; + + public ItemStrapsInv(ItemStack stack) + { + invItem = stack; + inventory = (ItemStackHandler) invItem.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java index e4c59c4..9e672d0 100644 --- a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java @@ -1,4 +1,4 @@ -package lance5057.tDefense.armor.items.straps; +package lance5057.tDefense.core.tools.armor.straps; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -7,6 +7,7 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; +import net.minecraftforge.items.SlotItemHandler; public class StrapsContainer extends Container { @@ -23,7 +24,7 @@ public class StrapsContainer extends Container // If you're planning to add armor slots, put those first like this: // ARMOR_START = InventoryItem.INV_SIZE, ARMOR_END = ARMOR_START+3, - // INV_START = ARMOR_END+1, and then carry on like above. + // INV_START = ARMOR_END+1, and then carry on like above. public StrapsContainer(EntityPlayer par1Player, InventoryPlayer inventoryPlayer, ItemStrapsInv inventoryItem) { @@ -33,7 +34,7 @@ public class StrapsContainer extends Container // ITEM INVENTORY - you'll need to adjust the slot locations to match your texture file // I have them set vertically in columns of 4 to the right of the player model - this.addSlotToContainer(new Slot(this.inventory, 0, 80, 8+23)); + this.addSlotToContainer(new SlotItemHandler(this.inventory, 0, 80, 8+23)); // If you want, you can add ARMOR SLOTS here as well, but you need to // make a public version of SlotArmor. I won't be doing that in this tutorial. @@ -64,9 +65,7 @@ public class StrapsContainer extends Container @Override public boolean canInteractWith(EntityPlayer entityplayer) { - // be sure to return the inventory's isUseableByPlayer method - // if you defined special behavior there: - return inventory.isUsableByPlayer(entityplayer); + return true; } /** @@ -74,7 +73,7 @@ public class StrapsContainer extends Container */ public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int index) { - ItemStack itemstack = null; + ItemStack itemstack = ItemStack.EMPTY; Slot slot = (Slot) this.inventorySlots.get(index); if (slot != null && slot.getHasStack()) @@ -88,7 +87,7 @@ public class StrapsContainer extends Container // try to place in player inventory / action bar if (!this.mergeItemStack(itemstack1, INV_START, HOTBAR_END+1, true)) { - return null; + return ItemStack.EMPTY; } slot.onSlotChange(itemstack1, itemstack); @@ -135,35 +134,35 @@ public class StrapsContainer extends Container // place in custom inventory if (!this.mergeItemStack(itemstack1, 0, INV_START, false)) { - return null; + return ItemStack.EMPTY; } } - /** - * Implementation number 2: Shift-click items between action bar and inventory - */ - // item is in player's inventory, but not in action bar - if (index >= INV_START && index < HOTBAR_START) - { - // place in action bar - if (!this.mergeItemStack(itemstack1, HOTBAR_START, HOTBAR_END+1, false)) - { - return null; - } - } - // item in action bar - place in player inventory - else if (index >= HOTBAR_START && index < HOTBAR_END+1) - { - if (!this.mergeItemStack(itemstack1, INV_START, INV_END+1, false)) - { - return null; - } - } +// /** +// * Implementation number 2: Shift-click items between action bar and inventory +// */ +// // item is in player's inventory, but not in action bar +// if (index >= INV_START && index < HOTBAR_START) +// { +// // place in action bar +// if (!this.mergeItemStack(itemstack1, HOTBAR_START, HOTBAR_END+1, false)) +// { +// return ItemStack.EMPTY; +// } +// } +// // item in action bar - place in player inventory +// else if (index >= HOTBAR_START && index < HOTBAR_END+1) +// { +// if (!this.mergeItemStack(itemstack1, INV_START, INV_END+1, false)) +// { +// return ItemStack.EMPTY; +// } +// } } if (itemstack1.getItemDamage() == 0) { - slot.putStack((ItemStack) null); + slot.putStack(ItemStack.EMPTY); } else { @@ -172,7 +171,7 @@ public class StrapsContainer extends Container if (itemstack1.getItemDamage() == itemstack.getItemDamage()) { - return null; + return ItemStack.EMPTY; } slot.onTake(par1EntityPlayer, itemstack1); @@ -180,18 +179,4 @@ public class StrapsContainer extends Container return itemstack; } - - /** - * You should override this method to prevent the player from moving the stack that - * opened the inventory, otherwise if the player moves it, the inventory will not - * be able to save properly - */ - @Override - public ItemStack slotClick(int slotId, int dragType, ClickType clickTypeIn, EntityPlayer player) { - // this will prevent the player from interacting with the item that opened the inventory: - if (slotId >= 0 && getSlot(slotId) != null && (getSlot(slotId).getStack() == player.getHeldItem(EnumHand.MAIN_HAND) || getSlot(slotId).getStack() == player.getHeldItem(EnumHand.OFF_HAND))) { - return null; - } - return super.slotClick(slotId, dragType, clickTypeIn, player); - } }
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsGui.java b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java index 5cd229e..292e037 100644 --- a/src/main/java/lance5057/tDefense/armor/items/straps/StrapsGui.java +++ b/src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java @@ -1,4 +1,4 @@ -package lance5057.tDefense.armor.items.straps; +package lance5057.tDefense.core.tools.armor.straps; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; diff --git a/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java b/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java new file mode 100644 index 0000000..05d0b3d --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java @@ -0,0 +1,56 @@ +package lance5057.tDefense.core.tools.bases; + +import java.util.List; + +import javax.annotation.Nullable; + +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +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 slimeknights.tconstruct.library.tinkering.PartMaterialType; +import slimeknights.tconstruct.library.tools.ToolCore; +import slimeknights.tconstruct.library.tools.ToolNBT; + +public class ArmorCore extends ToolCore +{ + public ArmorCore(PartMaterialType... requiredComponents) + { + super(requiredComponents); + } + + protected String getHarvestType() + { + return null; + } + + @Override + public float damagePotential() { + return 0.0f; + } + + @Override + public double attackSpeed() { + return 0; + } + + @Override + public NBTTagCompound buildTag( + List<slimeknights.tconstruct.library.materials.Material> materials) { + ToolNBT data = buildDefaultTag(materials); + return data.get(); + } +} diff --git a/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java b/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java index d14b31a..0779d0e 100644 --- a/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java +++ b/src/main/java/lance5057/tDefense/core/tools/bases/Shield.java @@ -43,28 +43,7 @@ public class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatc } }); } - - protected float baseSpeed() - { - return 1.5f; - } - - protected float effectiveSpeed() - { - return 15f; - } - - public float breakSpeedModifier() - { - return 1.0f; - } - -// @Override -// public float getDigSpeed(ItemStack stack, Block block, int meta) -// { -// return 0.0f; -// } - + /** * returns the action that specifies what animation to play when the items * is being used @@ -119,14 +98,12 @@ public class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatc @Override public float damagePotential() { - // TODO Auto-generated method stub - return 0.1f; + return 0.0f; } @Override public double attackSpeed() { - // TODO Auto-generated method stub - return 4; + return 0; } @Override diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java index e44377b..45109c2 100644 --- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java +++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java @@ -4,15 +4,17 @@ import java.util.Map; import javax.annotation.Nonnull; +import com.google.common.collect.ImmutableList; + import lance5057.tDefense.Reference; import lance5057.tDefense.TD_Commands; import lance5057.tDefense.TinkersDefense; -import lance5057.tDefense.core.CoreClientProxy; +import lance5057.tDefense.core.items.TDOreDictItem; +import lance5057.tDefense.core.materials.TDMaterials; import lance5057.tDefense.core.parts.TDParts; import lance5057.tDefense.core.renderers.BaubleRenderer; import lance5057.tDefense.core.renderers.SheatheModel; import lance5057.tDefense.core.tools.TDTools; -import lance5057.tDefense.holiday.HolidayClientProxy; import lance5057.tDefense.renderers.deserializers.AlphaColorTextureDeserializer; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; @@ -28,11 +30,10 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import slimeknights.tconstruct.common.ModelRegisterUtil; +import slimeknights.tconstruct.library.TinkerRegistry; import slimeknights.tconstruct.library.TinkerRegistryClient; import slimeknights.tconstruct.library.client.ToolBuildGuiInfo; import slimeknights.tconstruct.library.client.material.MaterialRenderInfoLoader; @@ -77,17 +78,12 @@ public class ClientProxy extends CommonProxy { public static SheatheModel sheathe; - public static CoreClientProxy coreProxy = new CoreClientProxy(); - public static HolidayClientProxy holiProxy = new HolidayClientProxy(); - // public static ArmorClientProxy armorProxy = new ArmorClientProxy(); - @Override public void preInit() { ClientCommandHandler.instance.registerCommand(new TD_Commands()); MaterialRenderInfoLoader.addRenderInfo("alpha_color", AlphaColorTextureDeserializer.class); - coreProxy.preInit(); } @Override @@ -104,17 +100,17 @@ public class ClientProxy extends CommonProxy { setToolGuis(); registerToolGuis(); createToolModels(); - - coreProxy.init(); - // armorProxy.init(); - holiProxy.Init(); } @Override public void postInit() { - // IReloadableResourceManager resourceManager = - // (IReloadableResourceManager) mc.getResourceManager(); - // resourceManager.registerReloadListener(TDMaterialRenderInfoLoader.INSTANCE); + registerItemColorHandler(new TDOreDictItem.ColorHandler(), TDMaterials.ingot); + registerItemColorHandler(new TDOreDictItem.ColorHandler(), TDMaterials.gem); + registerItemColorHandler(new TDOreDictItem.ColorHandler(), TDMaterials.dust); + registerItemColorHandler(new TDOreDictItem.ColorHandler(), TDMaterials.nugget); + registerItemColorHandler(new TDOreDictItem.ColorHandler(), TDMaterials.grain); + + TinkersDefense.tab.setDisplayIcon(TDTools.heatershield.buildItemForRendering(ImmutableList.of(TinkerRegistry.getMaterial("iron"),TinkerRegistry.getMaterial("cobalt"),TinkerRegistry.getMaterial("cobalt"),TinkerRegistry.getMaterial("iron")))); } @Override diff --git a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java index c424ac4..8082b43 100644 --- a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java +++ b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java @@ -2,13 +2,11 @@ package lance5057.tDefense.proxy; import lance5057.tDefense.Reference; import lance5057.tDefense.TinkersDefense; -import lance5057.tDefense.armor.items.straps.ItemStrapsInv; -import lance5057.tDefense.armor.items.straps.StrapsContainer; -import lance5057.tDefense.armor.items.straps.StrapsGui; +import lance5057.tDefense.core.tools.armor.straps.ItemStrapsInv; +import lance5057.tDefense.core.tools.armor.straps.StrapsContainer; +import lance5057.tDefense.core.tools.armor.straps.StrapsGui; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.client.renderer.color.ItemColors; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.util.EnumHand; @@ -69,7 +67,7 @@ public class CommonProxy implements IGuiHandler { if (ID == TinkersDefense.GUI_STRAPS_INV) return new StrapsContainer(player, player.inventory, new ItemStrapsInv(player.getHeldItem(EnumHand.MAIN_HAND))); - + return null; } diff --git a/src/main/resources/assets/tinkersdefense/materials/gallite.json b/src/main/resources/assets/tinkersdefense/materials/gallite.json new file mode 100644 index 0000000..7418efc --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/materials/gallite.json @@ -0,0 +1,6 @@ +{ + "type": "block", + "parameters": { + "texture": "tinkersdefense:materials/gall" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/tinkersdefense/materials/sundrop.json b/src/main/resources/assets/tinkersdefense/materials/sundrop.json new file mode 100644 index 0000000..ecb8609 --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/materials/sundrop.json @@ -0,0 +1,6 @@ +{ + "type": "block", + "parameters": { + "texture": "tinkersdefense:materials/sun" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/tinkersdefense/materials/voidite.json b/src/main/resources/assets/tinkersdefense/materials/voidite.json new file mode 100644 index 0000000..7272c95 --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/materials/voidite.json @@ -0,0 +1,6 @@ +{ + "type": "block", + "parameters": { + "texture": "tinkersdefense:materials/moon" + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png b/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png Binary files differindex 403e542..551c9b7 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png b/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png Binary files differindex 20ab87f..747ee3e 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png b/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png Binary files differindex 8fdc1e9..19a08ad 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png b/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png Binary files differindex 2791f93..13735ec 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_setting.png b/src/main/resources/assets/tinkersdefense/textures/items/_setting.png Binary files differindex 44cf52f..bfea8e3 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_setting.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_setting.png diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_wire.png b/src/main/resources/assets/tinkersdefense/textures/items/_wire.png Binary files differindex de3db86..e008ea1 100644 --- a/src/main/resources/assets/tinkersdefense/textures/items/_wire.png +++ b/src/main/resources/assets/tinkersdefense/textures/items/_wire.png diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/gall.png b/src/main/resources/assets/tinkersdefense/textures/materials/gall.png Binary files differnew file mode 100644 index 0000000..ce93f64 --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/textures/materials/gall.png diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/moon.png b/src/main/resources/assets/tinkersdefense/textures/materials/moon.png Binary files differnew file mode 100644 index 0000000..02c07aa --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/textures/materials/moon.png diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/sun.png b/src/main/resources/assets/tinkersdefense/textures/materials/sun.png Binary files differnew file mode 100644 index 0000000..f0ec240 --- /dev/null +++ b/src/main/resources/assets/tinkersdefense/textures/materials/sun.png |
