From 91e18f54e4733c695ac023d87adfcef9e8dbbb4a Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 14 Sep 2016 01:10:02 +1000 Subject: Attempting to Rewrite the entire material system for future use (Also makes life easier if I do something similar in 1.10) --- .../xmod/gregtech/common/Meta_GT_Proxy.java | 10 ++------- .../common/blocks/fluid/GregtechFluidHandler.java | 25 +++++++++++----------- 2 files changed, 14 insertions(+), 21 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java index 5777e8de03..15bd666b53 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/Meta_GT_Proxy.java @@ -12,7 +12,6 @@ import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.ToolDictNames; import gregtech.api.objects.ItemData; import gregtech.api.objects.MaterialStack; -import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; @@ -23,7 +22,6 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.objects.GregtechFluid; import gtPlusPlus.xmod.gregtech.api.util.GregtechOreDictUnificator; import gtPlusPlus.xmod.gregtech.api.util.GregtechRecipeRegistrator; import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems; @@ -38,10 +36,6 @@ import java.util.List; import net.minecraft.init.Blocks; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModContainer; @@ -108,7 +102,7 @@ public class Meta_GT_Proxy { } } - public static Fluid addFluid(String aName, String aLocalized, GT_Materials aMaterial, int aState, int aTemperatureK) { + /*public static Fluid addFluid(String aName, String aLocalized, GT_Materials aMaterial, int aState, int aTemperatureK) { return addFluid(aName, aLocalized, aMaterial, aState, aTemperatureK, null, null, 0); } @@ -173,7 +167,7 @@ public class Meta_GT_Proxy { GT_Values.RA.addFluidCannerRecipe(aFullContainer, GT_Utility.getContainerItem(aFullContainer, false), null, new FluidStack(rFluid, aFluidAmount)); } return rFluid; - } + }*/ @SubscribeEvent public static void registerOre2(OreDictionary.OreRegisterEvent aEvent) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java index cfb0e1d984..b30b0144bc 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java @@ -9,7 +9,6 @@ import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.fluid.FluidUtils; import gtPlusPlus.core.util.item.UtilsItems; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import net.minecraftforge.fluids.FluidStack; public class GregtechFluidHandler { @@ -40,32 +39,32 @@ public class GregtechFluidHandler { if (!LoadedMods.ThermalFoundation){ Utils.LOG_INFO("Adding in our own GT versions of Thermal Foundation Fluids"); - Meta_GT_Proxy.addFluid("cryotheum", "Gelid Cryotheum", GT_Materials.Cryotheum, 4, -1200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Cryotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("pyrotheum", "Blazing Pyrotheum", GT_Materials.Pyrotheum, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Pyrotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("cryotheum", "Gelid Cryotheum", GT_Materials.Cryotheum, 4, -1200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Cryotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("pyrotheum", "Blazing Pyrotheum", GT_Materials.Pyrotheum, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Pyrotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); } if (LoadedMods.IndustrialCraft2){ Utils.LOG_INFO("Adding in GT Fluids for various nuclear related content."); - Meta_GT_Proxy.addFluid("hydrofluoricAcid", "Hydrofluoric Acid", GT_Materials.HydrofluoricAcid, 1, 120, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrofluoricAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("hydrofluoricAcid", "Hydrofluoric Acid", GT_Materials.HydrofluoricAcid, 1, 120, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrofluoricAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("HydrofluoricAcid"); - Meta_GT_Proxy.addFluid("sulfurDioxide", "Sulfur Dioxide", GT_Materials.SulfurDioxide, 4, -100, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurDioxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfurDioxide", "Sulfur Dioxide", GT_Materials.SulfurDioxide, 4, -100, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurDioxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("SulfurDioxide"); - Meta_GT_Proxy.addFluid("sulfurousAcid", "Sulfurous Acid", GT_Materials.SulfurousAcid, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurousAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfurousAcid", "Sulfurous Acid", GT_Materials.SulfurousAcid, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurousAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("SulfurousAcid"); - Meta_GT_Proxy.addFluid("sulfuricApatite", "Sulfuric Apatite Mix", GT_Materials.SulfuricApatite, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfuricApatite", "Sulfuric Apatite Mix", GT_Materials.SulfuricApatite, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("SulfuricApatite"); - Meta_GT_Proxy.addFluid("uraniumHexafluoride", "Uranium Hexafluoride", GT_Materials.UraniumHexaFluoride, 4, 200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.UraniumHexaFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("uraniumHexafluoride", "Uranium Hexafluoride", GT_Materials.UraniumHexaFluoride, 4, 200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.UraniumHexaFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("UraniumHexaFluoride"); - Meta_GT_Proxy.addFluid("uraniumTetrafluoride", "Uranium Tetrafluoride", GT_Materials.UraniumTetraFluoride, 4, 950, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.UraniumTetraFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("uraniumTetrafluoride", "Uranium Tetrafluoride", GT_Materials.UraniumTetraFluoride, 4, 950, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.UraniumTetraFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("UraniumTetraFluoride"); - Meta_GT_Proxy.addFluid("thoriumTetrafluoride", "Thorium Tetrafluoride", GT_Materials.ThoriumTetraFluoride, 4, 1250, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.ThoriumTetraFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("thoriumTetrafluoride", "Thorium Tetrafluoride", GT_Materials.ThoriumTetraFluoride, 4, 1250, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.ThoriumTetraFluoride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("ThoriumTetraFluoride"); @@ -78,16 +77,16 @@ public class GregtechFluidHandler { else { Utils.LOG_INFO("No Suitable versions of Hydrogen Chloride available, adding our own."); } - Meta_GT_Proxy.addFluid("hydrogenChloride", "Hydrogen Chloride", GT_Materials.HydrogenChloride, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrogenChloride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("hydrogenChloride", "Hydrogen Chloride", GT_Materials.HydrogenChloride, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrogenChloride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("HydrogenChloride"); } } - Meta_GT_Proxy.addFluid("sulfuricLithium", "Sulfuric Lithium Mix", GT_Materials.SulfuricLithium, 4, 280, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricLithium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfuricLithium", "Sulfuric Lithium Mix", GT_Materials.SulfuricLithium, 4, 280, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricLithium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("SulfuricLithium"); - Meta_GT_Proxy.addFluid("lithiumHydroxide", "Lithium Hydroxide", GT_Materials.LithiumHydroxide, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.LithiumHydroxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("lithiumHydroxide", "Lithium Hydroxide", GT_Materials.LithiumHydroxide, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.LithiumHydroxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); generateIC2FluidCell("SulfuricApatite"); /*Meta_GT_Proxy.addFluid("sulfuricApatite", "Sulfuric Apatite", GT_Materials.SulfuricApatite, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); -- cgit From 2def9acccdf30a88947943673fcd695f1e59cb77 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Thu, 15 Sep 2016 14:12:33 +1000 Subject: $ Fixed the Skookum Choocher. $ Now it Renders properly and functions as a GT-esque type tool. - Removed static calls to excluded build classes. % Started changing things to final in all cases. (Apparently better Java practice) --- .../common/items/MetaGeneratedGregtechTools.java | 11 ++++---- .../gregtech/common/tools/TOOL_Gregtech_Base.java | 5 ++-- .../common/tools/TOOL_Gregtech_Choocher.java | 30 +++++++++++++++------- 3 files changed, 29 insertions(+), 17 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java index 2ee00f99d4..b63ea674ad 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java @@ -3,11 +3,12 @@ package gtPlusPlus.xmod.gregtech.common.items; import gregtech.api.GregTech_API; import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.ToolDictNames; +import gregtech.api.items.GT_MetaGenerated_Tool; +import gregtech.common.items.GT_MetaGenerated_Tool_01; import gtPlusPlus.xmod.gregtech.api.enums.GregtechToolDictNames; -import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_Choocher; -public class MetaGeneratedGregtechTools extends Gregtech_MetaTool { +public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool { public static final short TURBINE_SMALL = 10; public static final short TURBINE = 12; @@ -19,11 +20,11 @@ public class MetaGeneratedGregtechTools extends Gregtech_MetaTool { public static final short SOFTHAMMER = 22; public static final short WRENCH = 24; - public static MetaGeneratedGregtechTools INSTANCE; + public static GT_MetaGenerated_Tool_01 INSTANCE; public MetaGeneratedGregtechTools() { - super("MU-metaitem.02"); - INSTANCE = this; + super("GT++_metatool"); + INSTANCE = GT_MetaGenerated_Tool_01.INSTANCE; GregTech_API.registerTool(addTool(7734, "Skookum Choocher", "Can Really Chooch. Does a Skookum job at Hammering and Wrenching stuff.", new TOOL_Gregtech_Choocher(), new Object[]{GregtechToolDictNames.craftingToolSkookumChoocher, ToolDictNames.craftingToolHardHammer, ToolDictNames.craftingToolWrench, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), GregTech_API.sWrenchList); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java index 11e8a6b240..d46e777f47 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java @@ -2,7 +2,7 @@ package gtPlusPlus.xmod.gregtech.common.tools; import gregtech.api.GregTech_API; import gregtech.api.damagesources.GT_DamageSources; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats; +import gregtech.api.interfaces.IToolStats; import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; import java.util.List; @@ -20,7 +20,7 @@ import net.minecraft.util.IChatComponent; import net.minecraftforge.event.world.BlockEvent; public abstract class TOOL_Gregtech_Base -implements Interface_ToolStats { +implements IToolStats { public static final Enchantment[] FORTUNE_ENCHANTMENT = {Enchantment.fortune}; public static final Enchantment[] LOOTING_ENCHANTMENT = {Enchantment.looting}; public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0]; @@ -152,7 +152,6 @@ implements Interface_ToolStats { aPlayer.triggerAchievement(AchievementList.buildWorkBench); } - @Override public void onStatsAddedToTool(Gregtech_MetaTool aItem, int aID) { } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java index 42d8750f24..ce652bdda8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java @@ -2,14 +2,14 @@ package gtPlusPlus.xmod.gregtech.common.tools; import gregtech.GT_Mod; import gregtech.api.GregTech_API; -import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.IIconContainer; +import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import gtPlusPlus.xmod.gregtech.api.enums.CustomGtTextures; +import gregtech.common.items.behaviors.Behaviour_Prospecting; +import gregtech.common.items.behaviors.Behaviour_Wrench; import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; -import gtPlusPlus.xmod.gregtech.api.items.types.ToolType_HardHammer; -import gtPlusPlus.xmod.gregtech.api.items.types.ToolType_Wrench; +import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; import java.util.Arrays; import java.util.List; @@ -157,8 +157,10 @@ public class TOOL_Gregtech_Choocher return null; } - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? CustomGtTextures.ItemIcons.SKOOKUMCHOOCHER : Gregtech_MetaTool.getSecondaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.stick.mTextureIndex]; + @Override + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { + //Utils.LOG_INFO("Texture: "+TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile()); + return TexturesGtTools.SKOOKUM_CHOOCHER; } /* @Override @@ -176,13 +178,13 @@ public class TOOL_Gregtech_Choocher @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? Gregtech_MetaTool.getPrimaryMaterial(aStack).mRGBa : null; + return GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa; } @Override public void onStatsAddedToTool(Gregtech_MetaTool aItem, int aID) { - aItem.addItemBehavior(aID, new ToolType_Wrench(150)); - aItem.addItemBehavior(aID, new ToolType_HardHammer(1, 1250)); + aItem.addItemBehavior(aID, new Behaviour_Wrench(150)); + aItem.addItemBehavior(aID, new Behaviour_Prospecting(1, 1250)); } @Override @@ -200,4 +202,14 @@ public class TOOL_Gregtech_Choocher public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been Choochered by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } + + @Override + public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { + + } + + @Override + public boolean isGrafter() { + return false; + } } -- cgit From a3aa117da7b7daedff109f826ec1e95cafaaad03 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Thu, 15 Sep 2016 15:50:54 +1000 Subject: $ Fixed the Skookum Choocher, not it: > Behaves like a wrench unless you hold shift > While shift is held, it prospects like a Hard Hammer. > It functions as a wrench when mining machines and a Hard Hammer when mining anything else. > There are over 100 types available from GT's materials. + Added in the FluidItemBlock.class --- .../common/blocks/textures/TexturesGtTools.java | 59 +++++++++++++++++++++ .../common/items/MetaGeneratedGregtechTools.java | 45 +++++++--------- .../items/behaviours/Behaviour_Choocher.java | 61 ++++++++++++++++++++++ .../common/tools/TOOL_Gregtech_Choocher.java | 30 +++-------- 4 files changed, 145 insertions(+), 50 deletions(-) create mode 100644 src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java create mode 100644 src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java new file mode 100644 index 0000000000..1b3af3a842 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java @@ -0,0 +1,59 @@ +package gtPlusPlus.xmod.gregtech.common.blocks.textures; + +import gregtech.api.GregTech_API; +import gregtech.api.interfaces.IIconContainer; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +public final class TexturesGtTools { + + public final static CustomIcon SKOOKUM_CHOOCHER = new CustomIcon("iconsets/SKOOKUMCHOOCHER"); + + + + + + + + + + + + + public final static class CustomIcon implements IIconContainer, Runnable { + protected IIcon mIcon, mOverlay; + protected final String mIconName; + + public CustomIcon(final String aIconName) { + mIconName = aIconName; + Utils.LOG_INFO("Constructing a Custom Texture. " + mIconName); + GregTech_API.sGTItemIconload.add(this); + } + + @Override + public IIcon getIcon() { + return mIcon; + } + + @Override + public IIcon getOverlayIcon() { + return mOverlay; + } + + @Override + public void run() { + mIcon = GregTech_API.sItemIcons.registerIcon(CORE.MODID + ":" + mIconName); + //Utils.LOG_INFO("Registering a Custom Texture. "+mIcon.g); + mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.MODID + ":" + mIconName + "_OVERLAY"); + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationItemsTexture; + } + } + +} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java index b63ea674ad..55eb19f80f 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java @@ -4,37 +4,28 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.ToolDictNames; import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.common.items.GT_MetaGenerated_Tool_01; import gtPlusPlus.xmod.gregtech.api.enums.GregtechToolDictNames; import gtPlusPlus.xmod.gregtech.common.tools.TOOL_Gregtech_Choocher; public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool { - - public static final short TURBINE_SMALL = 10; - public static final short TURBINE = 12; - public static final short TURBINE_LARGE = 14; - public static final short HUGE_ITEM = 16; - public static final short TURBINE_BLADE = 18; - - public static final short HARDHAMMER = 20; - public static final short SOFTHAMMER = 22; - public static final short WRENCH = 24; - - public static GT_MetaGenerated_Tool_01 INSTANCE; - public MetaGeneratedGregtechTools() { - super("GT++_metatool"); - INSTANCE = GT_MetaGenerated_Tool_01.INSTANCE; - - GregTech_API.registerTool(addTool(7734, "Skookum Choocher", "Can Really Chooch. Does a Skookum job at Hammering and Wrenching stuff.", new TOOL_Gregtech_Choocher(), new Object[]{GregtechToolDictNames.craftingToolSkookumChoocher, ToolDictNames.craftingToolHardHammer, ToolDictNames.craftingToolWrench, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), GregTech_API.sWrenchList); - - - //GregTech_API.registerTool(addTool(WRENCH, "Wrench", "Hold Leftclick to dismantle Machines", (Interface_ToolStats) new GT_Tool_Wrench(), new Object[]{ToolDictNames.craftingToolWrench, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), GregTech_API.sWrenchList); - - //addTool(TURBINE_SMALL, "Small Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Small(), new Object[]{}); - //addTool(TURBINE, "Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Normal(), new Object[]{}); - //addTool(TURBINE_LARGE, "Large Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Large(), new Object[]{}); - //addTool(HUGE_ITEM, "Huge Item", "Item 4 for your power station", new TOOL_Gregtech_MaxEfficiencyMultiBlockItem(), new Object[]{}); + public static final short SKOOKUM_CHOOCHER = 7734; + public static MetaGeneratedGregtechTools INSTANCE; - } + public MetaGeneratedGregtechTools() { + super("++.metatool.01"); + INSTANCE = this; + GregTech_API.registerTool( + addTool( + SKOOKUM_CHOOCHER, "Skookum Choocher", + "Can Really Chooch. Does a Skookum job at Hammering and Wrenching stuff.", + new TOOL_Gregtech_Choocher(), + new Object[]{GregtechToolDictNames.craftingToolSkookumChoocher, + ToolDictNames.craftingToolHardHammer, + ToolDictNames.craftingToolWrench, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)}), + GregTech_API.sWrenchList); + } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java new file mode 100644 index 0000000000..93bf8f4a65 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java @@ -0,0 +1,61 @@ +package gtPlusPlus.xmod.gregtech.common.items.behaviours; + +import gregtech.api.items.GT_MetaBase_Item; +import gregtech.api.util.GT_LanguageManager; +import gregtech.common.items.behaviors.Behaviour_None; +import gregtech.common.items.behaviors.Behaviour_Prospecting; +import gregtech.common.items.behaviors.Behaviour_Wrench; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class Behaviour_Choocher + extends Behaviour_None { + private final Behaviour_Wrench wrench = new Behaviour_Wrench(150); + private final Behaviour_Prospecting prospecting = new Behaviour_Prospecting(1, 1250); + private final String mTooltip = GT_LanguageManager.addStringLocalization("gt.behaviour.choochering", "Wrench by default, Hold shift & Right click to prospect."); + + public Behaviour_Choocher() { + + } + + @Override + public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + if (!aPlayer.isSneaking()){ + //Utils.LOG_INFO("Using Choocher as a wrench."); + wrench.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aSide, aSide, aSide, aSide, hitZ, hitZ, hitZ); + return false; + } + //Utils.LOG_INFO("Using Choocher as a hard hammer."); + prospecting.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aSide, hitX, hitY, hitZ); + + return false; + } + + /*@Override + public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + if (!aPlayer.isSneaking()){ + Utils.LOG_INFO("Using Choocher as a wrench."); + wrench.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aSide, aSide, aSide, aSide, hitZ, hitZ, hitZ); + return false; + } + Utils.LOG_INFO("Using Choocher as a hard hammer."); + prospecting.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aSide, hitX, hitY, hitZ); + + return false; + }*/ + + public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java index ce652bdda8..d2338c264e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java @@ -6,10 +6,8 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import gregtech.common.items.behaviors.Behaviour_Prospecting; -import gregtech.common.items.behaviors.Behaviour_Wrench; -import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; +import gtPlusPlus.xmod.gregtech.common.items.behaviours.Behaviour_Choocher; import java.util.Arrays; import java.util.List; @@ -83,12 +81,12 @@ public class TOOL_Gregtech_Choocher @Override public String getCraftingSound() { - return null; + return (String) GregTech_API.sSoundList.get(Integer.valueOf(1)); } @Override public String getEntityHitSound() { - return null; + return (String) GregTech_API.sSoundList.get(Integer.valueOf(2)); } @Override @@ -163,29 +161,15 @@ public class TOOL_Gregtech_Choocher return TexturesGtTools.SKOOKUM_CHOOCHER; } - /* @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? Textures.ItemIcons.WIRE_CUTTER : Textures.ItemIcons.VOID; - }*/ - - -/* @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? Textures.class..ItemIcons.SKOOKUMCHOOCHER : null; - } -*/ - // - @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa; } - @Override + /*@Override public void onStatsAddedToTool(Gregtech_MetaTool aItem, int aID) { - aItem.addItemBehavior(aID, new Behaviour_Wrench(150)); - aItem.addItemBehavior(aID, new Behaviour_Prospecting(1, 1250)); - } + aItem.addItemBehavior(aID, new Behaviour_Choocher()); + }*/ @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { @@ -205,7 +189,7 @@ public class TOOL_Gregtech_Choocher @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { - + aItem.addItemBehavior(aID, new Behaviour_Choocher()); } @Override -- cgit From 91853a0b54c1ad8f1cee031def51c3d8b96e0ad6 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Thu, 15 Sep 2016 16:07:18 +1000 Subject: % Changed the Skookum Choocher texture to be mirrored, so that the hammer head is now the side you swing with. (Makes more sense) % Changed logging for tool generation. % Made Choocher behaviour simpler and more efficient. --- .../common/items/behaviours/Behaviour_Choocher.java | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java index 93bf8f4a65..1c4b4bc6c9 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java @@ -38,22 +38,6 @@ public class Behaviour_Choocher return false; } - /*@Override - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - if (!aPlayer.isSneaking()){ - Utils.LOG_INFO("Using Choocher as a wrench."); - wrench.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aSide, aSide, aSide, aSide, hitZ, hitZ, hitZ); - return false; - } - Utils.LOG_INFO("Using Choocher as a hard hammer."); - prospecting.onItemUseFirst(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aSide, hitX, hitY, hitZ); - - return false; - }*/ - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { aList.add(this.mTooltip); return aList; -- cgit From 478492d458f293f12544969c472b64e12dcd4e52 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sat, 17 Sep 2016 17:29:24 +1000 Subject: [1.4.8-prerelease] % Changed a few instances of ++ to plusplus. --- .../xmod/gregtech/common/items/MetaGeneratedGregtechTools.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java index 55eb19f80f..d5bd4c134c 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java @@ -13,7 +13,7 @@ public class MetaGeneratedGregtechTools extends GT_MetaGenerated_Tool { public static MetaGeneratedGregtechTools INSTANCE; public MetaGeneratedGregtechTools() { - super("++.metatool.01"); + super("plusplus.metatool.01"); INSTANCE = this; GregTech_API.registerTool( addTool( -- cgit From 96b958e8f7435e071310a7b7607e9eb6552145ef Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sat, 17 Sep 2016 17:39:59 +1000 Subject: % Had to remove some overrides as the methods I use probably are renamed in GT 5.9 (ToDo) - Removed two unused classes. --- .../gregtech/common/tools/TOOL_Gregtech_Base.java | 11 ++++- .../tools/TOOL_Gregtech_BaseMultiblockItem.java | 49 ---------------------- .../TOOL_Gregtech_MaxEfficiencyMultiBlockItem.java | 27 ------------ 3 files changed, 10 insertions(+), 77 deletions(-) delete mode 100644 src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_BaseMultiblockItem.java delete mode 100644 src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_MaxEfficiencyMultiBlockItem.java (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java index d46e777f47..5a2e1dd522 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Base.java @@ -115,8 +115,17 @@ implements IToolStats { public boolean isMiningTool() { return true; } - + + public boolean isChainsaw(){ + return false; + } + @Override + public boolean isGrafter(){ + return false; + } + + public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) { return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_BaseMultiblockItem.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_BaseMultiblockItem.java deleted file mode 100644 index d4f566dcd4..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_BaseMultiblockItem.java +++ /dev/null @@ -1,49 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tools; - -import gregtech.api.interfaces.IIconContainer; -import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; - -public abstract class TOOL_Gregtech_BaseMultiblockItem extends TOOL_Gregtech_Base { - @Override - public abstract float getBaseDamage(); - - @Override - public boolean isMinableBlock(Block aBlock, byte aMetaData) { - return false; - } - - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? getTurbineIcon() : null; - } - - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { - return aIsToolHead ? Gregtech_MetaTool.getPrimaryMaterial(aStack).mRGBa : null; - } - - @Override - public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { - return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " put " + EnumChatFormatting.RED + - aEntity.getCommandSenderName() + "s" + EnumChatFormatting.WHITE + " head into a turbine"); - } - - public abstract IIconContainer getTurbineIcon(); - - @Override - public abstract float getSpeedMultiplier(); - - @Override - public abstract float getMaxDurabilityMultiplier(); - - @Override - public ItemStack getBrokenItem(ItemStack aStack) { - return null; - } -} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_MaxEfficiencyMultiBlockItem.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_MaxEfficiencyMultiBlockItem.java deleted file mode 100644 index a9a43a9444..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_MaxEfficiencyMultiBlockItem.java +++ /dev/null @@ -1,27 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.tools; - -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; - -public class TOOL_Gregtech_MaxEfficiencyMultiBlockItem extends TOOL_Gregtech_BaseMultiblockItem { - @Override - public float getSpeedMultiplier() { - return 4.0F; - } - - @Override - public float getMaxDurabilityMultiplier() { - return 4.0F; - } - - @Override - public float getBaseDamage() { - return 3.0F; - } - - @Override - public IIconContainer getTurbineIcon() { - return Textures.ItemIcons.TURBINE_HUGE; - } - -} -- cgit From 2c4e3716a4b72f67be3bde170096394a39c80480 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Mon, 19 Sep 2016 18:09:29 +1000 Subject: + Added Fluid Tank Logging. + Re-added recipes for the Rocket Engines. --- .../storage/GT_MetaTileEntity_TieredTank.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java index ef7a3b77c8..113e475ac4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java @@ -5,14 +5,20 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; import gregtech.api.objects.GT_RenderedTexture; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GregtechMetaBasicTank; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; public class GT_MetaTileEntity_TieredTank - extends GT_MetaTileEntity_BasicTank { + extends GregtechMetaBasicTank { + + protected FluidStack internalTank = getInternalStack(); + protected String fluidName = internalTank.getFluid().getName(); + protected int fluidAmount = internalTank.amount; + public GT_MetaTileEntity_TieredTank(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 3, "Stores " + ((int) (Math.pow(2, aTier) * 32000)) + "L of fluid"); } @@ -43,12 +49,20 @@ public class GT_MetaTileEntity_TieredTank @Override public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + Utils.LOG_INFO("Dumping Fluid data. Name: "+mFluid.getFluid().getName()+" Amount: "+mFluid.amount+"L"); if (mFluid != null) aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); } @Override public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); mFluid = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mFluid")); + if (getInternalStack() != null){ + Utils.LOG_INFO("Dumping Fluid data. Name: "+mFluid.getFluid().getName()+" Amount: "+mFluid.amount+"L");} + else{ + //Utils.LOG_INFO("Loaded FluidStack was NULL"); + } } @Override -- cgit