summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2017-12-07 01:34:36 -0600
committerLance5057 <Lance5057@gmail.com>2017-12-07 01:34:36 -0600
commit22472901b62567436b7ff17f1163bf63316b6088 (patch)
treec5c98a7bae60c451c9606834e0bb1cb67bf93971 /src
parent5886d8ec3827085ad0e539214dd20ccbc186da2d (diff)
Worked on armor. Straps eat items placed in them...
Diffstat (limited to 'src')
-rw-r--r--src/main/java/lance5057/tDefense/TD_Config.java270
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java265
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java77
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorBaseEvents.java4
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/straps/ItemStraps.java44
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/straps/ItemStrapsInv.java212
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreBase.java49
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreBlocks.java72
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreClientProxy.java25
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreCommonProxy.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreItems.java40
-rw-r--r--src/main/java/lance5057/tDefense/core/blocks/TDMetalBlock.java7
-rw-r--r--src/main/java/lance5057/tDefense/core/items/TDOreDictItem.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/BaubleMaterialStats.java65
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/BootsMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ChestMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/HelmMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/LegsMaterialStats.java89
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/TDMaterials.java20
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/TDTools.java26
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersHood.java (renamed from src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java)4
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersRobe.java (renamed from src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java)4
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShawl.java (renamed from src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java)4
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/cloth/TinkersShoes.java (renamed from src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java)4
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersBreastplate.java (renamed from src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersGrieves.java (renamed from src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersHelm.java (renamed from src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/heavy/TinkersSabatons.java (renamed from src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersBoots.java (renamed from src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersChausses.java (renamed from src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersCoif.java (renamed from src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/light/TinkersHauberk.java (renamed from src/main/java/lance5057/tDefense/armor/items/light/TinkersHauberk.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/ArmorRenderer.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/ArmorRenderer.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersGauntlets.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersGauntlets.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/ModelTinkersTabard.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/ModelTinkersTabard.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersHood.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersRobe.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShawl.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/cloth/ModelTinkersShoes.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShoes.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersBreastplate.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersGrieves.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersHelm.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/heavy/ModelTinkersSabatons.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersBoots.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersChausses.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersCoif.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/renderers/light/ModelTinkersHauberk.java (renamed from src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHauberk.java)0
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStraps.java124
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/ItemStrapsInv.java24
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsContainer.java (renamed from src/main/java/lance5057/tDefense/armor/items/straps/StrapsContainer.java)75
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/armor/straps/StrapsGui.java (renamed from src/main/java/lance5057/tDefense/armor/items/straps/StrapsGui.java)2
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/ArmorCore.java56
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/bases/Shield.java29
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java28
-rw-r--r--src/main/java/lance5057/tDefense/proxy/CommonProxy.java10
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/gallite.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/sundrop.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/materials/voidite.json6
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_chainmail.pngbin562 -> 550 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_clasp.pngbin426 -> 435 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_filigree.pngbin311 -> 280 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_rivets.pngbin269 -> 247 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_setting.pngbin354 -> 379 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/items/_wire.pngbin375 -> 341 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/gall.pngbin0 -> 843 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/moon.pngbin0 -> 581 bytes
-rw-r--r--src/main/resources/assets/tinkersdefense/textures/materials/sun.pngbin0 -> 895 bytes
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
index 403e542..551c9b7 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_chainmail.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png b/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png
index 20ab87f..747ee3e 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_clasp.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png b/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png
index 8fdc1e9..19a08ad 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_filigree.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png b/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png
index 2791f93..13735ec 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_rivets.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_setting.png b/src/main/resources/assets/tinkersdefense/textures/items/_setting.png
index 44cf52f..bfea8e3 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_setting.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_setting.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/items/_wire.png b/src/main/resources/assets/tinkersdefense/textures/items/_wire.png
index de3db86..e008ea1 100644
--- a/src/main/resources/assets/tinkersdefense/textures/items/_wire.png
+++ b/src/main/resources/assets/tinkersdefense/textures/items/_wire.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/gall.png b/src/main/resources/assets/tinkersdefense/textures/materials/gall.png
new file mode 100644
index 0000000..ce93f64
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/gall.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/moon.png b/src/main/resources/assets/tinkersdefense/textures/materials/moon.png
new file mode 100644
index 0000000..02c07aa
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/moon.png
Binary files differ
diff --git a/src/main/resources/assets/tinkersdefense/textures/materials/sun.png b/src/main/resources/assets/tinkersdefense/textures/materials/sun.png
new file mode 100644
index 0000000..f0ec240
--- /dev/null
+++ b/src/main/resources/assets/tinkersdefense/textures/materials/sun.png
Binary files differ