aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java78
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java59
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java45
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/items/behaviours/Behaviour_Choocher.java61
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java30
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java36
7 files changed, 256 insertions, 56 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index e08952b77c..05f119d586 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -23,6 +23,7 @@ import gtPlusPlus.core.util.item.UtilsItems;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -120,7 +121,7 @@ implements ActionListener
public void preInit(FMLPreInitializationEvent event)
{
Utils.LOG_INFO("Loading "+CORE.name+" V"+CORE.VERSION);
- //Utils.LOG_INFO("Test String for Debug: "+TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile().getResourcePath());
+ Utils.LOG_INFO("Test String for Debug: "+TexturesGtTools.SKOOKUM_CHOOCHER.getTextureFile().getResourcePath());
Utils.LOG_INFO("Latest is V"+CORE.MASTER_VERSION+". Updated? "+Utils.isModUpToDate());
FirstCall();
FMLCommonHandler.instance().bus().register(new LoginEventHandler());
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java
new file mode 100644
index 0000000000..77af69f809
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockFluid.java
@@ -0,0 +1,78 @@
+package gtPlusPlus.core.item.base.itemblock;
+
+import gtPlusPlus.core.fluids.BlockFluidBase;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.math.MathUtils;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class ItemBlockFluid extends ItemBlock{
+
+ protected final int blockColour;
+ protected final int sRadiation;
+ protected Material thisFluid;
+ final BlockFluidBase baseBlock;
+ String name;
+
+ public ItemBlockFluid(Block block) {
+ super(block);
+ this.baseBlock = (BlockFluidBase) block;
+ this.blockColour = baseBlock.getRenderColor(1);
+ this.thisFluid = baseBlock.getFluidMaterial();
+ this.sRadiation=UtilsItems.getRadioactivityLevel(baseBlock.getUnlocalizedName());
+ this.name = baseBlock.getLocalizedName().replace("tile", "").replace("fluid", "").replace("name", "").replace("block", "").replace(".", "");
+ //GT_OreDictUnificator.registerOre("frameGt"+block.getUnlocalizedName().replace("tile.", "").replace("tile.BlockGtFrame", "").replace("-", "").replace("_", "").replace(" ", "").replace("FrameBox", ""), UtilsItems.getSimpleStack(this));
+ }
+
+ public final Material setFluidMaterial(Material M){
+ return thisFluid=M;
+ }
+
+ public int getRenderColor(int aMeta) {
+ return blockColour;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack iStack) {
+ if (thisFluid != null){
+ this.name = "Molten "+thisFluid.getLocalizedName();
+ return name;
+ }
+ this.name = "Molten "+baseBlock.getLocalizedName().replace("tile", "").replace("fluid", "").replace("name", "").replace("block", "").replace(".", "");
+ return name;
+ }
+
+ @Override
+ public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) {
+ if (blockColour == 0){
+ return MathUtils.generateSingularRandomHexValue();
+ }
+ return blockColour;
+
+ }
+
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) {
+ list.add("Temperature: "+MathUtils.celsiusToKelvin(thisFluid.getMeltingPoint_C())+"K");
+ if (sRadiation > 0){
+ list.add(CORE.GT_Tooltip_Radioactive);
+ }
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+
+ public String GetProperName() {
+ String tempIngot;
+
+ tempIngot = "Molten "+baseBlock.getLocalizedName();
+
+ return tempIngot;
+ }
+
+}
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<String> getAdditionalToolTips(GT_MetaBase_Item aItem, List<String> 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
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
index 5b4d7be601..2e50a919c3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java
@@ -4,7 +4,9 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.recipe.UtilsRecipe;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
@@ -37,20 +39,44 @@ public class ProcessingToolHeadChoocher implements Interface_OreRecipeRegistrato
public void materialsLoops(){
Materials[] i = Materials.values();
int size = i.length;
+ Utils.LOG_INFO("Materials to attempt tool gen. with: "+size);
+ int used = 0;
Materials aMaterial = null;
for (int r=0;r<size;r++){
aMaterial = i[r];
- if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
- if (aMaterial != Materials.Rubber)
- if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) && (!aMaterial.contains(SubTag.NO_SMASHING))) {
- GT_ModHandler.addCraftingRecipe(MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(7734, 1, aMaterial, aMaterial, null), GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ", Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)});
+ if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint) && (aMaterial != Materials.Rubber) && (aMaterial != Materials._NULL)) {
+ if ((!aMaterial.contains(SubTag.WOOD)) && (!aMaterial.contains(SubTag.BOUNCY)) && (!aMaterial.contains(SubTag.NO_SMASHING))&& (!aMaterial.contains(SubTag.TRANSPARENT))&& (!aMaterial.contains(SubTag.FLAMMABLE))&& (!aMaterial.contains(SubTag.MAGICAL))&& (!aMaterial.contains(SubTag.NO_SMELTING))) {
+ Utils.LOG_INFO("Found "+aMaterial.name()+" as a valid Skookum Choocher Material.");
+ //Input 1
+ ItemStack plate = GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L);
+ ItemStack ingot = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L);
+ ItemStack hammerhead = GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial, 1L);
+
+ if (null != plate && null != ingot && null != hammerhead){
+ UtilsRecipe.recipeBuilder(
+ plate, null, hammerhead,
+ plate, plate, ingot,
+ null, ingot, null,
+ MetaGeneratedGregtechTools.INSTANCE.getToolWithStats(MetaGeneratedGregtechTools.SKOOKUM_CHOOCHER, 1, aMaterial, null, null));
+ used++;
+ }
+ else {
+ Utils.LOG_INFO(""+aMaterial.name()+" could not be used for all input compoenents. [3x"+aMaterial.name()+" plates, 2x"+aMaterial.name()+" ingots, 1x"+aMaterial.name()+" Hard Hammer Head.");
+ }
+ //GT_ModHandler.addCraftingRecipe(, GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"P H", "PIP", " I ", Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('H'), OrePrefixes.toolHeadHammer.get(aMaterial)});
}
+ else {
+ Utils.LOG_INFO(""+aMaterial.name()+" was not a valid Skookum Choocher Material.");
+ }
}
+ else {
+ Utils.LOG_INFO(""+aMaterial.name()+" was not a valid Skookum Choocher Material.");
+ }
}
-
+ Utils.LOG_INFO("Materials used for tool gen: "+used);
}
@Override