From 6d27a6f758e0b897be93fe0e2649cb5f6002ef3b Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sun, 11 Sep 2016 00:01:38 +1000 Subject: [1.4.6.5-release] % Cleaned up fluid duplicates. % Cleaned up handling of GT Meta-Tools. % Changed tone of my latest Fluid Cell icons, now it's darker and more defined. - Removed some dead classes that have no use. --- .../xmod/gregtech/api/enums/CustomGtTextures.java | 91 ++++++++++++++++++++++ .../gregtech/api/enums/GregtechOrePrefixes.java | 13 ++++ .../internal/Interface_OreRecipeRegistrator.java | 3 + 3 files changed, 107 insertions(+) create mode 100644 src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java new file mode 100644 index 0000000000..e2af820c16 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/CustomGtTextures.java @@ -0,0 +1,91 @@ +package gtPlusPlus.xmod.gregtech.api.enums; + +import gregtech.api.GregTech_API; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_RenderedTexture; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +public class CustomGtTextures { + public enum ItemIcons implements IIconContainer, Runnable { + VOID // The Empty Texture + , RENDERING_ERROR, WRENCH, MORTAR, CROWBAR, + JACKHAMMER, WIRE_CUTTER, KNIFE, BUTCHERYKNIFE, + SICKLE, SCOOP, GRAFTER, PLUNGER, ROLLING_PIN, + HANDLE_SWORD, HANDLE_FILE, HANDLE_SAW, + HANDLE_SCREWDRIVER, HANDLE_BUZZSAW, + HANDLE_ELECTRIC_SCREWDRIVER, HANDLE_SOLDERING, + POWER_UNIT_LV, POWER_UNIT_MV, POWER_UNIT_HV, + DURABILITY_BAR_0, DURABILITY_BAR_1, DURABILITY_BAR_2, + DURABILITY_BAR_3, DURABILITY_BAR_4, DURABILITY_BAR_5, + DURABILITY_BAR_6, DURABILITY_BAR_7, DURABILITY_BAR_8, + ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, + ENERGY_BAR_4, ENERGY_BAR_5, ENERGY_BAR_6, ENERGY_BAR_7, + ENERGY_BAR_8, + + SKOOKUMCHOOCHER, TURBINE_SMALL, TURBINE_LARGE, TURBINE_HUGE; + + public static final ITexture[] ERROR_RENDERING = new ITexture[]{new GT_RenderedTexture(RENDERING_ERROR)}; + + protected IIcon mIcon, mOverlay; + + private ItemIcons() { + GregTech_API.sGTItemIconload.add(this); + } + + @Override + public IIcon getIcon() { + return mIcon; + } + + @Override + public IIcon getOverlayIcon() { + return mOverlay; + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationItemsTexture; + } + + @Override + public void run() { + mIcon = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this); + mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + "iconsets/" + this + "_OVERLAY"); + } + + public static class CustomIcon implements IIconContainer, Runnable { + protected IIcon mIcon, mOverlay; + protected String mIconName; + + public CustomIcon(String aIconName) { + mIconName = aIconName; + 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.RES_PATH_ITEM + mIconName); + mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.RES_PATH_ITEM + mIconName + "_OVERLAY"); + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationItemsTexture; + } + } + } +} \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java index 93ac3463fb..59480b22ea 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java @@ -102,6 +102,7 @@ public enum GregtechOrePrefixes { public final long mMaterialAmount; private final Collection mNotGeneratedItems = new HashSet(), mIgnoredMaterials = new HashSet(), mGeneratedItems = new HashSet(); private final ArrayList mOreProcessing = new ArrayList(); + private final ArrayList mOreProcessingFake = new ArrayList(); public ItemStack mContainerItem = null; public ICondition mCondition = null; public byte mDefaultStackSize = 64; @@ -228,6 +229,7 @@ public enum GregtechOrePrefixes { return true; } + public boolean contains(ItemStack aStack) { if (aStack == null) return false; for (ItemStack tStack : mPrefixedItems) @@ -267,6 +269,16 @@ public enum GregtechOrePrefixes { tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack)); } } + + //TODO + public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if (aMaterial != null && (aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) && GT_Utility.isStackValid(aStack)) + for (Interface_OreRecipeRegistrator tRegistrator : mOreProcessingFake) { + if (D2) + GT_Log.ore.println("Processing '" + aOreDictName + "' with the Prefix '" + name() + "' and the Material '" + aMaterial.name() + "' at " + GT_Utility.getClassName(tRegistrator)); + tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack)); + } + } public Object get(Object aMaterial) { if (aMaterial instanceof GT_Materials) return new GregtechItemData(this, (GT_Materials) aMaterial); @@ -823,4 +835,5 @@ public enum GregtechOrePrefixes { } + } \ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java index f1583764f7..d4e37ee476 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java @@ -1,5 +1,6 @@ package gtPlusPlus.xmod.gregtech.api.interfaces.internal; +import gregtech.api.enums.Materials; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import net.minecraft.item.ItemStack; @@ -13,4 +14,6 @@ public interface Interface_OreRecipeRegistrator { * @param aStack always != null */ public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack); + + public void registerOre(GregtechOrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack copyAmount); } \ No newline at end of file -- cgit