diff options
15 files changed, 182 insertions, 46 deletions
diff --git a/dependencies.gradle b/dependencies.gradle index b54c2d0df7..6a61c1021d 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -59,6 +59,9 @@ dependencies { compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Avaritia:1.22:dev") { + transitive = false + } compileOnly("com.google.auto.value:auto-value-annotations:1.8.2") { transitive = false } diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java index d922c2787c..a02699d8e1 100644 --- a/src/main/java/gregtech/api/enums/GT_Values.java +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -127,8 +127,7 @@ public class GT_Values { "High Voltage", "Extreme Voltage", "Insane Voltage", "Ludicrous Voltage", "ZPM Voltage", "Ultimate Voltage", "Ultimate High Voltage", "Ultimate Extreme Voltage", "Ultimate Insane Voltage", - "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Overpowered Voltage", - "Maximum Voltage"}; + "Ultimate Mega Voltage", "Ultimate Extended Mega Voltage", "Maximum Voltage", "Error Voltage"}; public static final String[] TIER_COLORS = new String[]{ diff --git a/src/main/java/gregtech/api/enums/HeatingCoilLevel.java b/src/main/java/gregtech/api/enums/HeatingCoilLevel.java index 06ceedff53..085a798e9a 100644 --- a/src/main/java/gregtech/api/enums/HeatingCoilLevel.java +++ b/src/main/java/gregtech/api/enums/HeatingCoilLevel.java @@ -1,7 +1,5 @@ package gregtech.api.enums; -import net.minecraft.util.EnumChatFormatting; - public enum HeatingCoilLevel { None, // 0 ULV, //Not implemented 901 @@ -16,25 +14,15 @@ public enum HeatingCoilLevel { UHV, //TRINIUM 9001 UEV, //ELECTRUMFLUX 9901 UIV, //AWAKENEDDRACONIUM 10801 - //Not Implemented yet - UMV, - UXV, - OpV, - MAX, + UMV, //INFINITY 11701 + UXV, //HYPOGEN 12601 + MAX, //ETERNAL 13501 ; + private static final HeatingCoilLevel[] VALUES = values(); /** - * @return the Coils Tier Name - */ - public String getTierName() { - if (this.ordinal() < 1 || (this.ordinal()-1) >= GT_Values.VN.length) - return "ERROR!"; - return GT_Values.TIER_COLORS[this.ordinal() - 1] + GT_Values.VOLTAGE_NAMES[this.ordinal() - 1] + EnumChatFormatting.RESET; - } - - /** * @return the coil heat, used for recipes in the Electronic Blast Furnace for example */ public long getHeat() { diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index 54dd725f67..80388ad26c 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -1519,6 +1519,10 @@ public enum ItemList implements IItemContainer { Casing_Coil_NaquadahAlloy, Casing_Coil_ElectrumFlux, Casing_Coil_AwakenedDraconium, + Casing_Coil_CosmicNeutronium, + Casing_Coil_Infinity, + Casing_Coil_Hypogen, + Casing_Coil_Eternal, Casing_Tank_1, Casing_Tank_2, diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 1d0234a8cf..e7fb1e9af8 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -327,6 +327,9 @@ public class Textures { MACHINE_COIL_AWAKENEDDRACONIUM, MACHINE_COIL_HSSS, MACHINE_COIL_TRINIUM, + MACHINE_COIL_INFINITY, + MACHINE_COIL_HYPOGEN, + MACHINE_COIL_ETERNAL, BOILER_SOLAR, BOILER_FRONT, BOILER_FRONT_GLOW, diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java index 2025de9551..9a9fb9c17e 100644 --- a/src/main/java/gregtech/common/GT_Client.java +++ b/src/main/java/gregtech/common/GT_Client.java @@ -13,6 +13,7 @@ import com.gtnewhorizon.structurelib.alignment.IAlignment; import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.network.FMLNetworkEvent; @@ -37,14 +38,7 @@ import gregtech.api.util.WorldSpawnedEventBuilder; import gregtech.common.entities.GT_Entity_Arrow; import gregtech.common.entities.GT_Entity_Arrow_Potion; import gregtech.common.net.MessageUpdateFluidDisplayItem; -import gregtech.common.render.GT_CapeRenderer; -import gregtech.common.render.GT_FlaskRenderer; -import gregtech.common.render.GT_FluidDisplayStackRenderer; -import gregtech.common.render.GT_MetaGenerated_Item_Renderer; -import gregtech.common.render.GT_MetaGenerated_Tool_Renderer; -import gregtech.common.render.GT_PollutionRenderer; -import gregtech.common.render.GT_Renderer_Block; -import gregtech.common.render.GT_Renderer_Entity_Arrow; +import gregtech.common.render.*; import gregtech.loaders.preload.GT_PreLoad; import ic2.api.tile.IWrenchable; import net.minecraft.block.Block; @@ -53,6 +47,7 @@ import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatFileWriter; import net.minecraft.tileentity.TileEntity; @@ -450,32 +445,28 @@ public class GT_Client extends GT_Proxy @Override public void onPostLoad() { super.onPostLoad(); + try { - label0: - for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) - do { - if (i >= GregTech_API.METATILEENTITIES.length) - continue label0; - if (GregTech_API.METATILEENTITIES[i] != null) { + for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) { + try { + if (GregTech_API.METATILEENTITIES[i] != null) { GregTech_API.METATILEENTITIES[i].getStackForm(1L).getTooltip(null, true); GT_Log.out.println("META " + i + " " + GregTech_API.METATILEENTITIES[i].getMetaName()); } - i++; - } while (true); + } + catch (Throwable e) { + e.printStackTrace(GT_Log.err); + } + } } catch (Throwable e) { e.printStackTrace(GT_Log.err); } + if (Loader.isModLoaded("Avaritia")) { + CosmicItemRendererGT.registerItemWithMeta(Item.getItemFromBlock( GregTech_API.sBlockCasings5), 14); + CosmicItemRendererGT.init(); + } -// super.onPostLoad(); -// -// for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) { -// try { -// for (; i < GregTech_API.METATILEENTITIES.length; i++) if (GregTech_API.METATILEENTITIES[i] != null) GregTech_API.METATILEENTITIES[i].getStackForm(1L).getTooltip(null, true); -// } catch (Throwable e) { -// e.printStackTrace(GT_Log.err); -// } -// } } @Override diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings5.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings5.java index 63645f3c3f..bfa4e40212 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Casings5.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings5.java @@ -33,7 +33,11 @@ public class GT_Block_Casings5 extends GT_Block_Casings_Abstract implements IHea GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Awakened Draconium Coil Block"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "HSS-S Coil Block"); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Trinium Coil Block"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Infinity Coil Block"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Hypogen Coil Block"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "Eternal Coil Block"); + ItemList.Casing_Coil_Cupronickel.set(new ItemStack(this, 1, 0)); ItemList.Casing_Coil_Kanthal.set(new ItemStack(this, 1, 1)); ItemList.Casing_Coil_Nichrome.set(new ItemStack(this, 1, 2)); @@ -45,6 +49,9 @@ public class GT_Block_Casings5 extends GT_Block_Casings_Abstract implements IHea ItemList.Casing_Coil_AwakenedDraconium.set(new ItemStack(this, 1, 8)); ItemList.Casing_Coil_HSSS.set(new ItemStack(this, 1, 9)); ItemList.Casing_Coil_Trinium.set(new ItemStack(this, 1, 10)); + ItemList.Casing_Coil_Infinity.set(new ItemStack(this, 1, 11)); + ItemList.Casing_Coil_Hypogen.set(new ItemStack(this, 1, 12)); + ItemList.Casing_Coil_Eternal.set(new ItemStack(this, 1, 13)); } @Override @@ -73,6 +80,12 @@ public class GT_Block_Casings5 extends GT_Block_Casings_Abstract implements IHea return Textures.BlockIcons.MACHINE_COIL_HSSS.getIcon(); case 10: return Textures.BlockIcons.MACHINE_COIL_TRINIUM.getIcon(); + case 11: + return Textures.BlockIcons.MACHINE_COIL_INFINITY.getIcon(); + case 12: + return Textures.BlockIcons.MACHINE_COIL_HYPOGEN.getIcon(); + case 13: + return Textures.BlockIcons.MACHINE_COIL_ETERNAL.getIcon(); } return Textures.BlockIcons.MACHINE_COIL_CUPRONICKEL.getIcon(); } @@ -103,6 +116,12 @@ public class GT_Block_Casings5 extends GT_Block_Casings_Abstract implements IHea return LuV; case 10: return UHV; + case 11: + return UMV; + case 12: + return UXV; + case 13: + return MAX; default: return None; } @@ -132,10 +151,18 @@ public class GT_Block_Casings5 extends GT_Block_Casings_Abstract implements IHea return 9; case UHV: return 10; + case UMV: + return 11; + case UXV: + return 12; + case MAX: + return 13; default: return 0; } } + + @Override public HeatingCoilLevel getCoilHeat(int meta) { diff --git a/src/main/java/gregtech/common/blocks/GT_Item_Casings5.java b/src/main/java/gregtech/common/blocks/GT_Item_Casings5.java index f3e58d2acc..c93f8bb38c 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Casings5.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Casings5.java @@ -17,7 +17,6 @@ public class GT_Item_Casings5 extends GT_Item_Casings_Abstract { protected static final String mCoilHeatTooltip = GT_LanguageManager.addStringLocalization("gt.coilheattooltip", "Base Heating Capacity = "); protected static final String mCoilUnitTooltip = GT_LanguageManager.addStringLocalization("gt.coilunittooltip", " Kelvin"); - protected static final String mCoilTierTooltip = GT_LanguageManager.addStringLocalization("gt.coiltiertooltip", "Coil Tier = "); @Override @SideOnly(Side.CLIENT) @@ -26,6 +25,5 @@ public class GT_Item_Casings5 extends GT_Item_Casings_Abstract { super.addInformation(aStack, aPlayer, aList, aF3_H); HeatingCoilLevel coilLevel = GT_Block_Casings5.getCoilHeatFromDamage(aStack.getItemDamage()); aList.add(mCoilHeatTooltip + coilLevel.getHeat() + mCoilUnitTooltip); - aList.add(mCoilTierTooltip + coilLevel.getTierName()); } -} +}
\ No newline at end of file diff --git a/src/main/java/gregtech/common/render/CosmicItemRendererGT.java b/src/main/java/gregtech/common/render/CosmicItemRendererGT.java new file mode 100644 index 0000000000..0055e8ad08 --- /dev/null +++ b/src/main/java/gregtech/common/render/CosmicItemRendererGT.java @@ -0,0 +1,74 @@ +package gregtech.common.render; + +import java.util.*; + +import fox.spiteful.avaritia.render.CosmicItemRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.oredict.OreDictionary; + +public class CosmicItemRendererGT extends CosmicItemRenderer { + + private static CosmicItemRendererGT sInstance = null; + public static HashMap<Item, List<Integer>> sCosmicItemRendererGtMapping = new HashMap<Item, List<Integer>>(); + private static boolean sInit = false; + + public static void registerItemWithMeta(Item aItem, List<Integer> aMeta) { + if (aItem != null) { + if (aMeta == null || aMeta.isEmpty()) { + ArrayList<Integer> aWildCard = new ArrayList<Integer>(); + aWildCard.add(OreDictionary.WILDCARD_VALUE); + sCosmicItemRendererGtMapping.put(aItem, aWildCard); + } + else { + sCosmicItemRendererGtMapping.put(aItem, aMeta); + } + } + } + + public static void registerItemWithMeta(Item aItem, int aMeta) { + if (aItem != null) { + ArrayList<Integer> aSingleMeta = new ArrayList<Integer>(); + aSingleMeta.add(aMeta); + sCosmicItemRendererGtMapping.put(aItem, aSingleMeta); + } + } + + public static void init() { + if (sInstance == null) { + sInstance = new CosmicItemRendererGT(); + } + if (!sInit) { + for (Item aItem : sCosmicItemRendererGtMapping.keySet()) { MinecraftForgeClient.registerItemRenderer(aItem, sInstance); } + sInit = true; + } + } + + private boolean isSupported(ItemStack aStack) { + List<Integer> aMeta = sCosmicItemRendererGtMapping.get(aStack.getItem()); + if (aMeta != null && !aMeta.isEmpty()) { + + for (int meta : aMeta) { + if (meta == OreDictionary.WILDCARD_VALUE) { + return true; + } + else { + if (aStack.getItemDamage() == meta) { + return true; + } + } + } + } + return false; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + if (!isSupported(item)) { + return; + } + super.renderItem(type, item, data); + } + +} diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png Binary files differnew file mode 100644 index 0000000000..742a8717bf --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png.mcmeta new file mode 100644 index 0000000000..ce674fa692 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_ETERNAL.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 3, + "frames": [0,1,2,3,4,5,6,7,8] + } +} diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png Binary files differnew file mode 100644 index 0000000000..acf82a69b1 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png.mcmeta new file mode 100644 index 0000000000..2b44373763 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_HYPOGEN.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 1, + "frames": [0,1,2,3] + } +} diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png Binary files differnew file mode 100644 index 0000000000..9af56082fb --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png.mcmeta new file mode 100644 index 0000000000..203da75b0e --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/MACHINE_COIL_INFINITY.png.mcmeta @@ -0,0 +1,37 @@ +{ + "animation": { + "frametime": 1, + "frames": [ + 0, + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2, + 3, + 3, + 4, + 4, + 5, + 6, + 7, + 8, + 7, + 6, + 5, + 4, + 4, + 3, + 3, + 2, + 2, + 2, + 1, + 1, + 1, + ] + } +} |