diff options
Diffstat (limited to 'src/Java')
30 files changed, 826 insertions, 665 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 099c89c47e..520cf83532 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -20,7 +20,6 @@ import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.api.analytics.SegmentAnalytics; import gtPlusPlus.api.analytics.SegmentHelper; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.commands.CommandMath; import gtPlusPlus.core.common.CommonProxy; import gtPlusPlus.core.config.ConfigHandler; @@ -40,7 +39,6 @@ import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader; -import net.minecraft.item.Item; import net.minecraft.launchwrapper.Launch; import net.minecraftforge.oredict.OreDictionary; diff --git a/src/Java/gtPlusPlus/GTplusplus_Secondary.java b/src/Java/gtPlusPlus/GTplusplus_Secondary.java index ae163191fd..bb9950af19 100644 --- a/src/Java/gtPlusPlus/GTplusplus_Secondary.java +++ b/src/Java/gtPlusPlus/GTplusplus_Secondary.java @@ -1,18 +1,17 @@ package gtPlusPlus; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.io.File; -import cofh.mod.ChildMod; import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.CustomProperty; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.*; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion; -import gregtech.api.GregTech_API; -import gregtech.api.util.GT_Config; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.CORE.*; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.ORES; import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld; @@ -26,15 +25,12 @@ import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.config.Configuration; @MCVersion(value = "1.7.10") -@ChildMod(parent = CORE.MODID, mod = @Mod(modid = "GT++DarkWorld", -name = "GT++ Dark World", -version = CORE.VERSION, -dependencies = "after:Miscutils;after:Gregtech", -customProperties = @CustomProperty(k = "cofhversion", v = "true"))) -public class GTplusplus_Secondary { +@Mod(modid = Everglades.MODID, name = Everglades.NAME, version = Everglades.VERSION, dependencies = "required-after:Forge; after:dreamcraft; after:IC2; after:ihl; required-after:gregtech; required-after:miscutils;") +public class GTplusplus_Secondary implements ActionListener { - public static final String MODID2 = "GT++ Dark World"; - public static final String VERSION2 = "0.1"; + //Mod Instance + @Mod.Instance(Everglades.MODID) + public static GTplusplus_Secondary instance; // Dark World Handler protected static volatile Biome_DarkWorld DarkWorld_Biome; @@ -44,7 +40,7 @@ public class GTplusplus_Secondary { // Pre-Init @Mod.EventHandler public void preInit(final FMLPreInitializationEvent event) { - Logger.INFO("Loading " + MODID2 + " V" + VERSION2); + Logger.INFO("Loading " + Everglades.MODID + " V" + Everglades.VERSION); //Setup setVars(event); @@ -53,8 +49,8 @@ public class GTplusplus_Secondary { DarkWorld_Dimension = new Dimension_DarkWorld(); // Load Dark World - getDarkBiome().instance = GTplusplus.instance; - DarkWorld_Dimension.instance = GTplusplus.instance; + getDarkBiome().instance = instance; + DarkWorld_Dimension.instance = instance; getDarkBiome().preInit(event); DarkWorld_Dimension.preInit(event); @@ -65,26 +61,22 @@ public class GTplusplus_Secondary { @EventHandler public void load(final FMLInitializationEvent e) { - Logger.INFO("Begin resource allocation for " + MODID2 + " V" + VERSION2); + Logger.INFO("Begin resource allocation for " + Everglades.MODID + " V" +Everglades.VERSION); //Load Dark World and Biome - //GameRegistry.registerFuelHandler(this); - GameRegistry.registerWorldGenerator(new WorldGen_GT_Base(), 50); + GameRegistry.registerWorldGenerator(new WorldGen_GT_Base(), Short.MAX_VALUE); getDarkBiome().load(); DarkWorld_Dimension.load(); } public static void GenerateOreMaterials() { - //Lot 1 MaterialGenerator.generateOreMaterial(ORES.CROCROITE); MaterialGenerator.generateOreMaterial(ORES.GEIKIELITE); MaterialGenerator.generateOreMaterial(ORES.NICHROMITE); MaterialGenerator.generateOreMaterial(ORES.TITANITE); MaterialGenerator.generateOreMaterial(ORES.ZIMBABWEITE); MaterialGenerator.generateOreMaterial(ORES.ZIRCONILITE); - - //Lot 2 MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_CE); MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_Y); MaterialGenerator.generateOreMaterial(ORES.LEPERSONNITE); @@ -95,8 +87,6 @@ public class GTplusplus_Secondary { MaterialGenerator.generateOreMaterial(ORES.YTTRIALITE); MaterialGenerator.generateOreMaterial(ORES.YTTROCERITE); MaterialGenerator.generateOreMaterial(ORES.ZIRCON); - - //Lot 3 MaterialGenerator.generateOreMaterial(ORES.POLYCRASE); MaterialGenerator.generateOreMaterial(ORES.ZIRCOPHYLLITE); MaterialGenerator.generateOreMaterial(ORES.ZIRKELITE); @@ -111,8 +101,7 @@ public class GTplusplus_Secondary { MaterialGenerator.generateOreMaterial(ORES.CERITE); MaterialGenerator.generateOreMaterial(ORES.FLUORCAPHITE); MaterialGenerator.generateOreMaterial(ORES.FLORENCITE); - MaterialGenerator.generateOreMaterial(ORES.CRYOLITE); - + MaterialGenerator.generateOreMaterial(ORES.CRYOLITE); } void setVars(FMLPreInitializationEvent event){ @@ -127,13 +116,12 @@ public class GTplusplus_Secondary { * Set World Generation Values */ WorldGen_Ores.generateValidOreVeins(); - WorldGen_GT_Base.oreveinPercentage = 75; - WorldGen_GT_Base.oreveinAttempts = 64; - WorldGen_GT_Base.oreveinMaxPlacementAttempts = 8; + WorldGen_GT_Base.oreveinPercentage = 64; + WorldGen_GT_Base.oreveinAttempts = 32; + WorldGen_GT_Base.oreveinMaxPlacementAttempts = 6; if (CORE.DEBUG || CORE.DEVENV){ WorldGen_GT_Base.debugWorldGen = true; - } - + } DarkWorldContentLoader.run(); } @@ -173,7 +161,7 @@ public class GTplusplus_Secondary { @EventHandler public static void postInit(final FMLPostInitializationEvent e) { - Logger.INFO("Finished loading Dark World plugin for GT++."); + Logger.INFO("Finished loading Toxic Everglades plugin for GT++."); } public static synchronized Biome_DarkWorld getDarkBiome() { @@ -184,4 +172,10 @@ public class GTplusplus_Secondary { DarkWorld_Biome = darkWorld_Biome; } + @Override + public void actionPerformed(ActionEvent arg0) { + // TODO Auto-generated method stub + + } + } diff --git a/src/Java/gtPlusPlus/api/analytics/SegmentHelper.java b/src/Java/gtPlusPlus/api/analytics/SegmentHelper.java new file mode 100644 index 0000000000..6e264fe1d2 --- /dev/null +++ b/src/Java/gtPlusPlus/api/analytics/SegmentHelper.java @@ -0,0 +1,81 @@ +package gtPlusPlus.api.analytics; + +import com.segment.analytics.Analytics; +import com.segment.analytics.Callback; +import com.segment.analytics.messages.Message; +import com.segment.analytics.messages.TrackMessage; +import com.segment.analytics.messages.*; +import java.util.Map; + +public class SegmentHelper implements Callback { + + /** + * Credits to Author: FLAMINSAGANAKI/Theodore Mavrakis + * http://domisydev.com/2015/11/05/using-segment-analytics-in-your-java-servlet/ + */ + + private static final String writeKey = "EDOWl9peleGlUqe1ZwTqKDyuTMFhyT4k"; + private static volatile SegmentHelper segment = new SegmentHelper(); + private Analytics analytics; + + public SegmentHelper(){ + try{ + this.analytics = Analytics.builder(writeKey).callback(this).build(); + }catch(Exception e){ + SegmentAnalytics.LOG("exception while creating Analytics : " + e); + } + } + + public static SegmentHelper getInstance(){ + return segment; + } + + public Analytics getAnalyticsClient(){ + return segment.analytics; + } + + public void success(Message message) { + SegmentAnalytics.LOG("Successfully uploaded " + message); + } + + public void failure(Message message, Throwable throwable) { + SegmentAnalytics.LOG("Could not upload " + message); + } + + public void addUser(String user_id, Map<String, Object> properties) { + try { + this.analytics.enqueue(IdentifyMessage.builder().userId(user_id).traits(properties)); + //trackUser(user_id, "Logged In", properties); + } catch (Exception e) { + SegmentAnalytics.LOG("Exception in addUser() - " + e); + } + } + + public void trackUser(String user_id, String description, Map<String, Object> properties) { + try { + this.analytics.enqueue(TrackMessage.builder(description).userId(user_id).properties(properties)); + } catch (Exception e) { + SegmentAnalytics.LOG("Exception in trackUser() - " + e); + } + } + + public void trackUser(String user_id, String description) { + try { + this.analytics.enqueue(TrackMessage.builder(description).userId(user_id)); + } catch (Exception e) { + SegmentAnalytics.LOG("Exception in trackUser() - " + e); + } + } + + public void groupUser(String group_id, String user_id) { + try { + this.analytics.enqueue(GroupMessage.builder(group_id).userId(user_id)); + } catch (Exception e) { + SegmentAnalytics.LOG("Exception in groupUser() - " + e); + } + } + + public static void main(String[] args){ + + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/api/objects/Logger.java b/src/Java/gtPlusPlus/api/objects/Logger.java index 016dcb4c9b..6e2e9f6107 100644 --- a/src/Java/gtPlusPlus/api/objects/Logger.java +++ b/src/Java/gtPlusPlus/api/objects/Logger.java @@ -8,6 +8,10 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.proxy.ClientProxy; public class Logger { + + public Logger(String string) { + + } // Logging Functions public static final org.apache.logging.log4j.Logger modLogger = Logger.makeLogger(); diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java index d8ccc13259..2bea09d806 100644 --- a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java +++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java @@ -34,7 +34,7 @@ import net.minecraft.world.IBlockAccess; public class BlockBaseOre extends BasicBlock implements ITexturedBlock { private final Material blockMaterial; - + public BlockBaseOre(final Material material, final BlockTypes blockType, final int colour) { super(Utils.sanitizeString(material.getUnlocalizedName()), net.minecraft.block.material.Material.rock); this.blockMaterial = material; @@ -96,7 +96,7 @@ public class BlockBaseOre extends BasicBlock implements ITexturedBlock { public ITexture[] getTexture(Block block, byte side) { if (this.blockMaterial != null){ - GT_RenderedTexture aIconSet = new GT_RenderedTexture(Materials.Iron.mIconSet.mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA()); + GT_RenderedTexture aIconSet = new GT_RenderedTexture(blockMaterial.getTextureSet().mTextures[OrePrefixes.ore.mTextureIndex], this.blockMaterial.getRGBA()); if (aIconSet != null){ //Logger.INFO("[Render] Good Overlay."); return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet}; diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java index 532da59515..191f81cef5 100644 --- a/src/Java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java @@ -73,6 +73,12 @@ public class CommonProxy { registerTileEntities(); Logger.INFO("[Proxy] Calling Render registrator."); registerRenderThings(); + + //Moved from Init after Debug Loading. + //29/01/18 - Alkalus + ModItems.init(); + ModBlocks.init(); + CI.Init(); } @@ -82,9 +88,6 @@ public class CommonProxy { if (CORE.DEBUG){ DEBUG_INIT.registerHandlers(); } - ModItems.init(); - ModBlocks.init(); - CI.Init(); /** * Register the Event Handlers. diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 97cf3310ea..98043d9775 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -274,7 +274,7 @@ public final class ModItems { public static Item itemRope; public static Item itemFiber; - + public static Item itemDragonJar; public static final void init(){ @@ -346,27 +346,27 @@ public final class ModItems { try{ - + /** * Try generate dusts for missing rare earth materials if they don't exist */ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGadolinium", 1) == null){ - ItemUtils.generateSpecialUseDusts("Gadolinium", "Gadolinium", Materials.Gadolinium.mElement.name(), Utils.rgbtoHexValue(226, 172, 9)); + ItemUtils.generateSpecialUseDusts("Gadolinium", "Gadolinium", Materials.Gadolinium.mElement.name(), Utils.rgbtoHexValue(226, 172, 9)); } if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustYtterbium", 1) == null){ - ItemUtils.generateSpecialUseDusts("Ytterbium", "Ytterbium", Materials.Ytterbium.mElement.name(), Utils.rgbtoHexValue(Materials.Yttrium.mRGBa[0]-60, Materials.Yttrium.mRGBa[1]-60, Materials.Yttrium.mRGBa[2]-60)); + ItemUtils.generateSpecialUseDusts("Ytterbium", "Ytterbium", Materials.Ytterbium.mElement.name(), Utils.rgbtoHexValue(Materials.Yttrium.mRGBa[0]-60, Materials.Yttrium.mRGBa[1]-60, Materials.Yttrium.mRGBa[2]-60)); } if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustSamarium", 1) == null){ - ItemUtils.generateSpecialUseDusts("Samarium", "Samarium", Materials.Samarium.mElement.name(), Utils.rgbtoHexValue(161, 168, 114)); + ItemUtils.generateSpecialUseDusts("Samarium", "Samarium", Materials.Samarium.mElement.name(), Utils.rgbtoHexValue(161, 168, 114)); } if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustLanthanum", 1) == null){ - ItemUtils.generateSpecialUseDusts("Lanthanum", "Lanthanum", Materials.Lanthanum.mElement.name(), Utils.rgbtoHexValue(106, 127, 163)); + ItemUtils.generateSpecialUseDusts("Lanthanum", "Lanthanum", Materials.Lanthanum.mElement.name(), Utils.rgbtoHexValue(106, 127, 163)); } /*if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGadolinium", 1) == null){ ItemUtils.generateSpecialUseDusts("Gadolinium", "Gadolinium", "", Utils.rgbtoHexValue(Materials.Gadolinium.mRGBa[0], Materials.Gadolinium.mRGBa[1], Materials.Gadolinium.mRGBa[2])); }*/ - + //Elements generate first so they can be used in compounds. //Missing Elements @@ -513,16 +513,18 @@ public final class ModItems { MaterialGenerator.generate(ALLOY.HG1223, false, false); //Generate Fictional Materials - MaterialGenerator.generate(ELEMENT.getInstance().TRINIUM, false); - MaterialGenerator.generate(ELEMENT.getInstance().TRINIUM_REFINED, false); + if (!CORE.GTNH) { + MaterialGenerator.generate(ELEMENT.getInstance().TRINIUM, false); + MaterialGenerator.generate(ELEMENT.getInstance().TRINIUM_REFINED, false); + } MaterialGenerator.generate(ALLOY.TRINIUM_TITANIUM); MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH, false); MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH_CARBON); //Must be the final Alloy to Generate MaterialGenerator.generate(ALLOY.QUANTUM); - - + + //Ores MaterialGenerator.generateOreMaterial(FLUORIDES.FLUORITE); GTplusplus_Secondary.GenerateOreMaterials(); @@ -692,7 +694,7 @@ public final class ModItems { itemLavaFilter = new ItemLavaFilter(); itemGrindleTablet = new BaseItemGrindle(); - + itemDragonJar = new ItemEntityCatcher(); //Chemistry diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java index 235d50ae36..4e22fb959b 100644 --- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java +++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java @@ -3,6 +3,9 @@ package gtPlusPlus.core.item.base; import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.TextureSet; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; @@ -10,13 +13,16 @@ import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.entity.EntityUtils; +import gtPlusPlus.core.util.input.KeyboardUtils; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.math.MathUtils; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; import net.minecraft.world.World; public class BaseItemComponent extends Item{ @@ -28,6 +34,9 @@ public class BaseItemComponent extends Item{ public final int componentColour; public Object extraData; + protected IIcon base; + protected IIcon overlay; + public BaseItemComponent(final Material material, final ComponentTypes componentType) { this.componentMaterial = material; this.unlocalName = "item"+componentType.COMPONENT_NAME+material.getUnlocalizedName(); @@ -36,7 +45,7 @@ public class BaseItemComponent extends Item{ this.setCreativeTab(AddToCreativeTab.tabMisc); this.setUnlocalizedName(this.unlocalName); this.setMaxStackSize(64); - this.setTextureName(this.getCorrectTextures()); + //this.setTextureName(this.getCorrectTextures()); this.componentColour = material.getRgbAsHex(); GameRegistry.registerItem(this, this.unlocalName); GT_OreDictUnificator.registerOre(componentType.getOreDictName()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this)); @@ -62,46 +71,19 @@ public class BaseItemComponent extends Item{ if (!CORE.ConfigSwitches.useGregtechTextures){ return CORE.MODID + ":" + "item"+this.componentType.COMPONENT_NAME; } - if (this.componentType == ComponentTypes.GEAR){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "gearGt"; - } - else if (this.componentType == ComponentTypes.SMALLGEAR){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "gearGtSmall"; - } - else if (this.componentType == ComponentTypes.ROD){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "stick"; - } - else if (this.componentType == ComponentTypes.RODLONG){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "stickLong"; - } - else if (this.componentType == ComponentTypes.PLATEDOUBLE){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "plateDouble"; - } - else if (this.componentType == ComponentTypes.CELL){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "cell"; - } - else if (this.componentType == ComponentTypes.PLASMACELL){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "cellPlasma"; - } - else if (this.componentType == ComponentTypes.BOLT){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "bolt"; - } - else if (this.componentType == ComponentTypes.RING){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "ring"; - } - else if (this.componentType == ComponentTypes.ROTOR){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "rotor"; - } - else if (this.componentType == ComponentTypes.SCREW){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "screw"; - } - else if (this.componentType == ComponentTypes.INGOT){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "ingot"; - } - else if (this.componentType == ComponentTypes.HOTINGOT){ - return "gregtech" + ":" + "materialicons/METALLIC/" + "ingotHot"; - } - return "gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME.toLowerCase(); + String metType = "9j4852jyo3rjmh3owlhw9oe"; + if (this.componentMaterial != null) { + TextureSet u = this.componentMaterial.getTextureSet(); + if (u != null) { + metType = u.mSetName; + } + } + metType = (metType.equals("9j4852jyo3rjmh3owlhw9oe") ? "METALLIC" : metType); + return "gregtech" + ":" + "materialicons/"+metType+"/" + this.componentType.getOreDictName(); + + + + //return "gregtech" + ":" + "materialicons/"+metType+"/" + this.componentType.COMPONENT_NAME.toLowerCase(); } @Override @@ -128,42 +110,6 @@ public class BaseItemComponent extends Item{ if ((this.materialName != null) && (this.materialName != "") && !this.materialName.equals("") && (this.componentMaterial != null)){ - if (this.componentType == ComponentTypes.DUST){ - //list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust."); - } - if (this.componentType == ComponentTypes.INGOT){ - //list.add(EnumChatFormatting.GRAY+"A solid ingot of " + materialName + "."); - if ((this.materialName != null) && (this.materialName != "") && !this.materialName.equals("") && this.unlocalName.toLowerCase().contains("ingothot")){ - list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.RED+"Very hot! "+EnumChatFormatting.GRAY+" Avoid direct handling.."); - } - } - if (this.componentType == ComponentTypes.PLATE){ - //list.add(EnumChatFormatting.GRAY+"A flat plate of " + materialName + "."); - } - if (this.componentType == ComponentTypes.PLATEDOUBLE){ - //list.add(EnumChatFormatting.GRAY+"A double plate of " + materialName + "."); - } - if (this.componentType == ComponentTypes.ROD){ - //list.add(EnumChatFormatting.GRAY+"A 40cm Rod of " + materialName + "."); - } - if (this.componentType == ComponentTypes.RODLONG){ - //list.add(EnumChatFormatting.GRAY+"A 80cm Rod of " + materialName + "."); - } - if (this.componentType == ComponentTypes.ROTOR){ - //list.add(EnumChatFormatting.GRAY+"A Rotor made out of " + materialName + ". "); - } - if (this.componentType == ComponentTypes.BOLT){ - //list.add(EnumChatFormatting.GRAY+"A small Bolt, constructed from " + materialName + "."); - } - if (this.componentType == ComponentTypes.SCREW){ - //list.add(EnumChatFormatting.GRAY+"A 8mm Screw, fabricated out of some " + materialName + "."); - } - if (this.componentType == ComponentTypes.GEAR){ - //list.add(EnumChatFormatting.GRAY+"A large Gear, constructed from " + materialName + "."); - } - if (this.componentType == ComponentTypes.RING){ - //list.add(EnumChatFormatting.GRAY+"A " + materialName + " Ring."); - } if (this.componentMaterial != null){ if (!this.componentMaterial.vChemicalFormula.equals("??") && !this.componentMaterial.vChemicalFormula.equals("?") && this.componentMaterial.getState() != MaterialState.PURE_LIQUID) { list.add(Utils.sanitizeStringKeepBrackets(this.componentMaterial.vChemicalFormula)); @@ -172,19 +118,33 @@ public class BaseItemComponent extends Item{ if (this.componentMaterial.isRadioactive){ list.add(CORE.GT_Tooltip_Radioactive); } + + if (this.componentType == ComponentTypes.INGOT){ + if ((this.materialName != null) && (this.materialName != "") && !this.materialName.equals("") && this.unlocalName.toLowerCase().contains("ingothot")){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.RED+"Very hot! "+EnumChatFormatting.GRAY+" Avoid direct handling.."); + } + } + } + + //Hidden Tooltip + if (KeyboardUtils.isCtrlKeyDown()) { + if (this.componentMaterial != null) { + String type = this.componentMaterial.getTextureSet().mSetName; + String output = type.substring(0, 1).toUpperCase() + type.substring(1); + list.add(EnumChatFormatting.GRAY+"Material Type: "+output+"."); + list.add(EnumChatFormatting.GRAY+"Material State: "+this.componentMaterial.getState().name()+"."); + list.add(EnumChatFormatting.GRAY+"Radioactivity Level: "+this.componentMaterial.vRadiationLevel+"."); + } } + else { + list.add(EnumChatFormatting.DARK_GRAY+"Hold Ctrl to show additional info."); + } } super.addInformation(stack, aPlayer, list, bool); } - - @Override - public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) { - return this.componentColour; - } - @Override public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) { if (this.componentMaterial != null){ @@ -197,8 +157,52 @@ public class BaseItemComponent extends Item{ } + /** + * + * Handle Custom Rendering + * + */ + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses(){ + return (CORE.ConfigSwitches.useGregtechTextures ? true : false); + } + @Override + public int getColorFromItemStack(final ItemStack stack, final int renderPass) { + if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){ + return Utils.rgbtoHexValue(255, 255, 255); + } + if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){ + return Utils.rgbtoHexValue(255, 255, 255); + } + return this.componentColour; + } + + @Override + public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { + if (CORE.ConfigSwitches.useGregtechTextures) { + if(pass == 0) { + return this.base; + } + return this.overlay; + } + return this.base; + } + + @Override + public void registerIcons(final IIconRegister i) { + + if (CORE.ConfigSwitches.useGregtechTextures){ + this.base = i.registerIcon(getCorrectTextures()); + this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY"); + } + else { + this.base = i.registerIcon(getCorrectTextures()); + //this.overlay = i.registerIcon(getCorrectTextures() + "_OVERLAY"); + } + } @@ -211,7 +215,7 @@ public class BaseItemComponent extends Item{ PLATEDOUBLE("PlateDouble", " Double Plate", "plateDouble"), ROD("Rod", " Rod", "stick"), RODLONG("RodLong", " Long Rod", "stickLong"), - GEAR("Gear", " Gear", "gear"), + GEAR("Gear", " Gear", "gearGt"), SMALLGEAR("SmallGear", " Gear", "gearGtSmall"), //TODO SCREW("Screw", " Screw", "screw"), BOLT("Bolt", " Bolt", "bolt"), diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java index 8baf909af7..3b0fa7b621 100644 --- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java +++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java @@ -155,7 +155,7 @@ public class CoreItem extends Item @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) { - list.add(this.descColour+this.itemDescription); + //list.add(this.descColour+this.itemDescription); //super.addInformation(stack, aPlayer, list, bool); } diff --git a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java index f2228afb78..275e7bbb3a 100644 --- a/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java +++ b/src/Java/gtPlusPlus/core/item/base/cell/BaseItemCell.java @@ -17,8 +17,6 @@ import net.minecraftforge.fluids.FluidContainerRegistry; public class BaseItemCell extends BaseItemComponent{ - private IIcon base; - private IIcon overlay; ComponentTypes Cell = ComponentTypes.CELL; public BaseItemCell(final Material material) { @@ -40,12 +38,6 @@ public class BaseItemCell extends BaseItemComponent{ } @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses(){ - return true; - } - - @Override public void registerIcons(final IIconRegister i) { if (CORE.ConfigSwitches.useGregtechTextures){ @@ -73,13 +65,4 @@ public class BaseItemCell extends BaseItemComponent{ return this.componentColour; } - - @Override - public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) { - if(pass == 0) { - return this.base; - } - return this.overlay; - } - } diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java index 8a72b4d629..4e868e5ecd 100644 --- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java +++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockOre.java @@ -58,10 +58,10 @@ public class ItemBlockOre extends ItemBlock{ * Tooltip Handler for Ores */ if (this.mThisMaterial == FLUORIDES.FLUORITE){ - list.add("Mined from Sandstone and Limestone."); + list.add("Mined from Sandstone with a 1/"+CORE.ConfigSwitches.chanceToDropFluoriteOre+" chance, or Limestone with a 1/"+(CORE.ConfigSwitches.chanceToDropFluoriteOre*20)+" chance."); } else if (this.mThisMaterial != FLUORIDES.FLUORITE){ - list.add("Mined from the Dark Dimension."); + list.add("Mined from the Toxic Everglades."); } super.addInformation(stack, aPlayer, list, bool); } diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index a681baaa98..d81e6fd280 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -76,146 +76,152 @@ public class CORE { public static boolean BRC = false; - + /** * Lists/Maps */ - //Burnables List - public static List<Pair<Integer, ItemStack>> burnables = new ArrayList<Pair<Integer, ItemStack>>(); + //Burnables List + public static List<Pair<Integer, ItemStack>> burnables = new ArrayList<Pair<Integer, ItemStack>>(); + + + //TesseractMapss + public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>> sTesseractGeneratorOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>>(); + public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>> sTesseractTerminalOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>>(); + //BookMap + public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<String, ItemStack>(); - //TesseractMapss - public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>> sTesseractGeneratorOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>>(); - public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>> sTesseractTerminalOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>>(); - //BookMap - public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<String, ItemStack>(); - - /** * Some Gregtech Material and Recipe Variables */ - - @Deprecated - public static IGregtech_RecipeAdder sRecipeAdder; - public static GregtechRecipe GT_Recipe = new GregtechRecipe(); - public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; - - /** - * File Paths and Resource Paths - */ - - public static final String - TEX_DIR = "textures/", - TEX_DIR_GUI = TEX_DIR + "gui/", - TEX_DIR_ITEM = TEX_DIR + "items/", - TEX_DIR_BLOCK = TEX_DIR + "blocks/", - TEX_DIR_ENTITY = TEX_DIR + "entity/", - TEX_DIR_ASPECTS = TEX_DIR + "aspects/", - TEX_DIR_FLUIDS = TEX_DIR_BLOCK + "fluids/", - RES_PATH = MODID + ":" + TEX_DIR, - RES_PATH_GUI = MODID + ":" + TEX_DIR_GUI, - RES_PATH_ITEM = MODID + ":" + TEX_DIR_ITEM, - RES_PATH_BLOCK = MODID + ":" + TEX_DIR_BLOCK, - RES_PATH_ENTITY = MODID + ":" + TEX_DIR_ENTITY, - RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS, - RES_PATH_FLUIDS = MODID + ":" + TEX_DIR_FLUIDS; - - - - - - - - - - - - /* - * Config Switch Class - */ - - public static class ConfigSwitches { - - //Updates - public static boolean enableUpdateChecker = true; - - //Debug - public static boolean disableEnderIOIntegration = false; - public static boolean MACHINE_INFO = true; - public static boolean showHiddenNEIItems = false; - - //Tools - public static boolean enableSkookumChoochers = true; - public static boolean enableMultiSizeTools = true; - - //Block Drops - public static int chanceToDropDrainedShard = 196; - public static int chanceToDropFluoriteOre = 32; - - //Machine Related - public static boolean enableAlternativeBatteryAlloy = false; - public static boolean enableThaumcraftShardUnification = false; - public static boolean disableIC2Recipes = false; - public static boolean enableAlternativeDivisionSigilRecipe = false; - public static int boilerSteamPerSecond = 750; - - //Feature Related - public static boolean enableCustomCapes = false; - public static boolean enableCustomCircuits = true; - public static boolean enableOldGTcircuits = false; - public static boolean disableZombieReinforcement = false; - - //GT Fixes - public static boolean enableNitroFix = false; - - //Single Block Machines - public static boolean enableMachine_SolarGenerators = false; - public static boolean enableMachine_Safes = true; - public static boolean enableMachine_Dehydrators = true; - public static boolean enableMachine_SteamConverter = true; - public static boolean enableMachine_FluidTanks = true; - public static boolean enableMachine_RocketEngines = true; - public static boolean enableMachine_GeothermalEngines = true; - public static boolean enableMachine_WorldAccelerators = true; - public static boolean enableMachine_Tesseracts = true; - public static boolean enableMachine_SimpleWasher = true; - public static boolean enableMachine_Pollution = true; - public static boolean enableCustom_Pipes = true; - public static boolean enableCustom_Cables = true; - - //Multiblocks - public static boolean enableMultiblock_AlloyBlastSmelter = true; - public static boolean enableMultiblock_IndustrialCentrifuge = true; - public static boolean enableMultiblock_IndustrialCokeOven = true; - public static boolean enableMultiblock_IndustrialElectrolyzer = true; - public static boolean enableMultiblock_IndustrialMacerationStack = true; - public static boolean enableMultiblock_IndustrialPlatePress = true; - public static boolean enableMultiblock_IndustrialWireMill = true; - public static boolean enableMultiblock_IronBlastFurnace = true; - public static boolean enableMultiblock_MatterFabricator = true; - public static boolean enableMultiblock_MultiTank = true; - public static boolean enableMultiblock_PowerSubstation = true; - public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true; - public static boolean enableMultiblock_NuclearFuelRefinery = true; - public static boolean enableMultiblock_TreeFarmer = true; - public static boolean enableMultiblock_IndustrialSifter = true; - public static boolean enableMultiblock_IndustrialThermalCentrifuge = true; - public static boolean enableMultiblock_IndustrialWashPlant = true; - public static boolean enableMultiblock_LargeAutoCrafter = true; - public static boolean enableMultiblock_ThermalBoiler = true; - public static boolean enableMultiblock_IndustrialCuttingMachine = true; - - //Visuals - public static boolean enableTreeFarmerParticles = true; - public static boolean useGregtechTextures = true; + + @Deprecated + public static IGregtech_RecipeAdder sRecipeAdder; + public static GregtechRecipe GT_Recipe = new GregtechRecipe(); + public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; + + /** + * File Paths and Resource Paths + */ + + public static final String + TEX_DIR = "textures/", + TEX_DIR_GUI = TEX_DIR + "gui/", + TEX_DIR_ITEM = TEX_DIR + "items/", + TEX_DIR_BLOCK = TEX_DIR + "blocks/", + TEX_DIR_ENTITY = TEX_DIR + "entity/", + TEX_DIR_ASPECTS = TEX_DIR + "aspects/", + TEX_DIR_FLUIDS = TEX_DIR_BLOCK + "fluids/", + RES_PATH = MODID + ":" + TEX_DIR, + RES_PATH_GUI = MODID + ":" + TEX_DIR_GUI, + RES_PATH_ITEM = MODID + ":" + TEX_DIR_ITEM, + RES_PATH_BLOCK = MODID + ":" + TEX_DIR_BLOCK, + RES_PATH_ENTITY = MODID + ":" + TEX_DIR_ENTITY, + RES_PATH_ASPECTS = MODID + ":" + TEX_DIR_ASPECTS, + RES_PATH_FLUIDS = MODID + ":" + TEX_DIR_FLUIDS; + - } + + + + + + + /* + * Config Switch Class + */ + + public static class ConfigSwitches { + + //Updates + public static boolean enableUpdateChecker = true; + + //Debug + public static boolean disableEnderIOIntegration = false; + public static boolean MACHINE_INFO = true; + public static boolean showHiddenNEIItems = false; + + //Tools + public static boolean enableSkookumChoochers = true; + public static boolean enableMultiSizeTools = true; + + //Block Drops + public static int chanceToDropDrainedShard = 196; + public static int chanceToDropFluoriteOre = 32; + + //Machine Related + public static boolean enableAlternativeBatteryAlloy = false; + public static boolean enableThaumcraftShardUnification = false; + public static boolean disableIC2Recipes = false; + public static boolean enableAlternativeDivisionSigilRecipe = false; + public static int boilerSteamPerSecond = 750; + + //Feature Related + public static boolean enableCustomCapes = false; + public static boolean enableCustomCircuits = true; + public static boolean enableOldGTcircuits = false; + public static boolean disableZombieReinforcement = false; + + //GT Fixes + public static boolean enableNitroFix = false; + + //Single Block Machines + public static boolean enableMachine_SolarGenerators = false; + public static boolean enableMachine_Safes = true; + public static boolean enableMachine_Dehydrators = true; + public static boolean enableMachine_SteamConverter = true; + public static boolean enableMachine_FluidTanks = true; + public static boolean enableMachine_RocketEngines = true; + public static boolean enableMachine_GeothermalEngines = true; + public static boolean enableMachine_WorldAccelerators = true; + public static boolean enableMachine_Tesseracts = true; + public static boolean enableMachine_SimpleWasher = true; + public static boolean enableMachine_Pollution = true; + public static boolean enableCustom_Pipes = true; + public static boolean enableCustom_Cables = true; + + //Multiblocks + public static boolean enableMultiblock_AlloyBlastSmelter = true; + public static boolean enableMultiblock_IndustrialCentrifuge = true; + public static boolean enableMultiblock_IndustrialCokeOven = true; + public static boolean enableMultiblock_IndustrialElectrolyzer = true; + public static boolean enableMultiblock_IndustrialMacerationStack = true; + public static boolean enableMultiblock_IndustrialPlatePress = true; + public static boolean enableMultiblock_IndustrialWireMill = true; + public static boolean enableMultiblock_IronBlastFurnace = true; + public static boolean enableMultiblock_MatterFabricator = true; + public static boolean enableMultiblock_MultiTank = true; + public static boolean enableMultiblock_PowerSubstation = true; + public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true; + public static boolean enableMultiblock_NuclearFuelRefinery = true; + public static boolean enableMultiblock_TreeFarmer = true; + public static boolean enableMultiblock_IndustrialSifter = true; + public static boolean enableMultiblock_IndustrialThermalCentrifuge = true; + public static boolean enableMultiblock_IndustrialWashPlant = true; + public static boolean enableMultiblock_LargeAutoCrafter = true; + public static boolean enableMultiblock_ThermalBoiler = true; + public static boolean enableMultiblock_IndustrialCuttingMachine = true; + + //Visuals + public static boolean enableTreeFarmerParticles = true; + public static boolean useGregtechTextures = true; + + + + + } + + public static class Everglades{ + public static final String MODID = "ToxicEverglades"; + public static final String NAME = "GT++ Toxic Everglades"; + public static final String VERSION = "0.1"; + } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index f98eb3552e..8d5e3c2a76 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -1,6 +1,7 @@ package gtPlusPlus.core.material; import gregtech.api.enums.Materials; +import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.StringUtils; @@ -9,6 +10,10 @@ import gtPlusPlus.core.util.materials.MaterialUtils; public final class ELEMENT { private static final ELEMENT thisClass = new ELEMENT(); + + static { + Logger.MATERIALS("Initialising Base Elements."); + } public ELEMENT(){ diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 0f90d61312..eb20e831ac 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -3,6 +3,7 @@ package gtPlusPlus.core.material; import static gregtech.api.enums.GT_Values.M; import java.util.*; +import java.util.Map.Entry; import gregtech.api.enums.*; import gtPlusPlus.api.objects.Logger; @@ -10,6 +11,9 @@ import gtPlusPlus.core.item.base.cell.BaseItemCell; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.StringUtils; import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.array.ArrayUtils; +import gtPlusPlus.core.util.array.AutoMap; +import gtPlusPlus.core.util.array.Pair; import gtPlusPlus.core.util.fluid.FluidUtils; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.materials.MaterialUtils; @@ -20,6 +24,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; +import scala.xml.dtd.ELEMENTS; public class Material { @@ -27,6 +32,11 @@ public class Material { private String localizedName; private MaterialState materialState; + private TextureSet textureSet; + + public synchronized final TextureSet getTextureSet() { + return textureSet; + } private Fluid vMoltenFluid; private Fluid vPlasma; @@ -66,19 +76,23 @@ public class Material { public static Map<Integer, Materials> invalidMaterials = new HashMap<Integer, Materials>(); public Material(String materialName, MaterialState defaultState, short[] rgba, int radiationLevel, MaterialStack[] materialStacks) { - this (materialName, defaultState, 0, rgba, -1, -1, -1, -1, false, "", radiationLevel, false, materialStacks); + this(materialName, defaultState, null, 0, rgba, -1, -1, -1, -1, false, "", radiationLevel, false, materialStacks); } public Material(String materialName, MaterialState defaultState, short[] rgba, int j, int k, int l, int m, int radiationLevel, MaterialStack[] materialStacks){ - this (materialName, defaultState, 0, rgba, j, k, l, m, false, "", radiationLevel, false, materialStacks); + this(materialName, defaultState, null, 0, rgba, j, k, l, m, false, "", radiationLevel, false, materialStacks); } + public Material(String materialName, MaterialState defaultState, final TextureSet set, short[] rgba, int j, int k, int l, int m, int radiationLevel, MaterialStack[] materialStacks){ + this(materialName, defaultState, set, 0, rgba, j, k, l, m, false, "", radiationLevel, false, materialStacks); + } + public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final MaterialStack... inputs){ this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, inputs); } - public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, boolean generateCells, final MaterialStack... inputs){ - this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, generateCells, inputs); + public Material(final String materialName, final MaterialState defaultState, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, boolean generateCells, final MaterialStack... inputs){ + this(materialName, defaultState, null, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, "", 0, generateCells, inputs); } public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final int radiationLevel, final MaterialStack... inputs){ @@ -94,229 +108,256 @@ public class Material { } public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells,final MaterialStack... inputs) { - this (materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, inputs); + this (materialName, defaultState, null, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, inputs); } public Material(final String materialName, final MaterialState defaultState, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, final MaterialStack... inputs){ - this (materialName, defaultState, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, inputs); + this (materialName, defaultState, null, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, inputs); } - public Material(final String materialName, final MaterialState defaultState, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, final MaterialStack... inputs){ + public Material(final String materialName, final MaterialState defaultState, final TextureSet set, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, final MaterialStack... inputs){ try { - this.unlocalizedName = Utils.sanitizeString(materialName); - this.localizedName = materialName; - - this.materialState = defaultState; - Logger.MATERIALS(this.getLocalizedName()+" is "+defaultState.name()+"."); - - this.RGBA = rgba; - this.vGenerateCells = generateCells; - - //Add Components to an array. - if (inputs == null){ - this.vMaterialInput = null; - } - else { - if (inputs.length != 0){ - for (int i=0; i < inputs.length; i++){ - if (inputs[i] != null){ - this.vMaterialInput.add(i, inputs[i]); + this.unlocalizedName = Utils.sanitizeString(materialName); + this.localizedName = materialName; + + this.materialState = defaultState; + + Logger.MATERIALS(this.getLocalizedName()+" is "+defaultState.name()+"."); + + this.RGBA = rgba; + this.vGenerateCells = generateCells; + + //Add Components to an array. + if (inputs == null){ + this.vMaterialInput = null; + } + else { + if (inputs.length != 0){ + for (int i=0; i < inputs.length; i++){ + if (inputs[i] != null){ + this.vMaterialInput.add(i, inputs[i]); + } } } } - } + this.textureSet = setTextureSet(set); - //Set Melting/Boiling point, if value is -1 calculate it from compound inputs. - if (meltingPoint != -1){ - this.meltingPointC = meltingPoint; - } - else { - this.meltingPointC = this.calculateMeltingPoint(); - } - if (boilingPoint != -1){ - if (boilingPoint != 0){ - this.boilingPointC = boilingPoint; + //Set Melting/Boiling point, if value is -1 calculate it from compound inputs. + if (meltingPoint != -1){ + this.meltingPointC = meltingPoint; } else { - this.boilingPointC = meltingPoint*4; + this.meltingPointC = this.calculateMeltingPoint(); + } + if (boilingPoint != -1){ + if (boilingPoint != 0){ + this.boilingPointC = boilingPoint; + } + else { + this.boilingPointC = meltingPoint*4; + } + } + else { + this.boilingPointC = this.calculateMeltingPoint(); } - } - else { - this.boilingPointC = this.calculateMeltingPoint(); - } - this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC); - this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC); + this.meltingPointK = (int) MathUtils.celsiusToKelvin(this.meltingPointC); + this.boilingPointK = (int) MathUtils.celsiusToKelvin(this.boilingPointC); - //Set Proton/Neutron count, if value is -1 calculate it from compound inputs. - if (protons != -1){ - this.vProtons = protons; - } - else { - this.vProtons = this.calculateProtons(); - } - if (boilingPoint != -1){ - this.vNeutrons = neutrons; - } - else { - this.vNeutrons = this.calculateNeutrons(); - } + //Set Proton/Neutron count, if value is -1 calculate it from compound inputs. + if (protons != -1){ + this.vProtons = protons; + } + else { + this.vProtons = this.calculateProtons(); + } + if (boilingPoint != -1){ + this.vNeutrons = neutrons; + } + else { + this.vNeutrons = this.calculateNeutrons(); + } - this.vMass = this.getMass(); + this.vMass = this.getMass(); - //Sets tool Durability - if (durability != 0){ - this.vDurability = durability; - } - else { - if (inputs != null){ - long durabilityTemp = 0; - int counterTemp = 0; - for (final MaterialStack m : inputs){ - if (m.getStackMaterial() != null){ - if (m.getStackMaterial().vDurability != 0){ - durabilityTemp = (durabilityTemp+m.getStackMaterial().vDurability); - counterTemp++; + //Sets tool Durability + if (durability != 0){ + this.vDurability = durability; + } + else { + if (inputs != null){ + long durabilityTemp = 0; + int counterTemp = 0; + for (final MaterialStack m : inputs){ + if (m.getStackMaterial() != null){ + if (m.getStackMaterial().vDurability != 0){ + durabilityTemp = (durabilityTemp+m.getStackMaterial().vDurability); + counterTemp++; + } } } - } - if ((durabilityTemp != 0) && (counterTemp != 0)){ - this.vDurability = (durabilityTemp/counterTemp); + if ((durabilityTemp != 0) && (counterTemp != 0)){ + this.vDurability = (durabilityTemp/counterTemp); + } + else { + this.vDurability = 8196; + } } else { - this.vDurability = 8196; + this.vDurability = 0; } } + + if ((this.vDurability >= 0) && (this.vDurability < 64000)){ + this.vToolQuality = 1; + this.vHarvestLevel = 2; + } + else if ((this.vDurability >= 64000) && (this.vDurability < 128000)){ + this.vToolQuality = 2; + this.vHarvestLevel = 2; + } + else if ((this.vDurability >= 128000) && (this.vDurability < 256000)){ + this.vToolQuality = 3; + this.vHarvestLevel = 2; + } + else if ((this.vDurability >= 256000) && (this.vDurability < 512000)){ + this.vToolQuality = 3; + this.vHarvestLevel = 3; + } + else if ((this.vDurability >= 512000) && (this.vDurability <= Integer.MAX_VALUE)){ + this.vToolQuality = 4; + this.vHarvestLevel = 4; + } else { - this.vDurability = 0; + this.vToolQuality = 0; + this.vHarvestLevel = 0; } - } - if ((this.vDurability >= 0) && (this.vDurability < 64000)){ - this.vToolQuality = 1; - this.vHarvestLevel = 2; - } - else if ((this.vDurability >= 64000) && (this.vDurability < 128000)){ - this.vToolQuality = 2; - this.vHarvestLevel = 2; - } - else if ((this.vDurability >= 128000) && (this.vDurability < 256000)){ - this.vToolQuality = 3; - this.vHarvestLevel = 2; - } - else if ((this.vDurability >= 256000) && (this.vDurability < 512000)){ - this.vToolQuality = 3; - this.vHarvestLevel = 3; - } - else if ((this.vDurability >= 512000) && (this.vDurability <= Integer.MAX_VALUE)){ - this.vToolQuality = 4; - this.vHarvestLevel = 4; - } - else { - this.vToolQuality = 0; - this.vHarvestLevel = 0; - } - - //Sets the Rad level - if (radiationLevel > 0){ - Logger.MATERIALS(this.getLocalizedName()+" is radioactive. Level: "+radiationLevel+"."); - this.isRadioactive = true; - this.vRadiationLevel = (byte) radiationLevel; - } - else { - Logger.MATERIALS(this.getLocalizedName()+" is not radioactive."); - this.isRadioactive = false; - this.vRadiationLevel = 0; - } + //Sets the Rad level + if (radiationLevel > 0){ + Logger.MATERIALS(this.getLocalizedName()+" is radioactive. Level: "+radiationLevel+"."); + this.isRadioactive = true; + this.vRadiationLevel = (byte) radiationLevel; + } + else { + Logger.MATERIALS(this.getLocalizedName()+" is not radioactive."); + this.isRadioactive = false; + this.vRadiationLevel = 0; + } - //Sets the materials 'tier'. Will probably replace this logic. - this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); + //Sets the materials 'tier'. Will probably replace this logic. + this.vTier = MaterialUtils.getTierOfMaterial((int) MathUtils.celsiusToKelvin(meltingPoint)); - this.usesBlastFurnace = blastFurnace; - this.vVoltageMultiplier = this.getMeltingPointK() >= 2800 ? 60 : 15; + this.usesBlastFurnace = blastFurnace; + this.vVoltageMultiplier = this.getMeltingPointK() >= 2800 ? 60 : 15; - this.vComponentCount = this.getComponentCount(inputs); - this.vSmallestRatio = this.getSmallestRatio(this.vMaterialInput); - int tempSmallestSize = 0; + this.vComponentCount = this.getComponentCount(inputs); + this.vSmallestRatio = this.getSmallestRatio(this.vMaterialInput); + int tempSmallestSize = 0; - if (this.vSmallestRatio != null){ - for (int v=0;v<this.vSmallestRatio.length;v++){ - tempSmallestSize=(int) (tempSmallestSize+this.vSmallestRatio[v]); + if (this.vSmallestRatio != null){ + for (int v=0;v<this.vSmallestRatio.length;v++){ + tempSmallestSize=(int) (tempSmallestSize+this.vSmallestRatio[v]); + } + this.smallestStackSizeWhenProcessing = tempSmallestSize; //Valid stacksizes + } + else { + this.smallestStackSizeWhenProcessing = 1; //Valid stacksizes } - this.smallestStackSizeWhenProcessing = tempSmallestSize; //Valid stacksizes - } - else { - this.smallestStackSizeWhenProcessing = 1; //Valid stacksizes - } - //Makes a Fancy Chemical Tooltip - this.vChemicalSymbol = chemicalSymbol; - if (this.vMaterialInput != null){ - this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); - } - else if (!this.vChemicalSymbol.equals("")){ - Logger.INFO("materialInput is null, using a valid chemical symbol."); - this.vChemicalFormula = this.vChemicalSymbol; - } - else{ - Logger.INFO("MaterialInput == null && chemicalSymbol probably equals nothing"); - this.vChemicalFormula = "??"; - } + //Makes a Fancy Chemical Tooltip + this.vChemicalSymbol = chemicalSymbol; + if (this.vMaterialInput != null){ + this.vChemicalFormula = this.getToolTip(chemicalSymbol, OrePrefixes.dust.mMaterialAmount / M, true); + } + else if (!this.vChemicalSymbol.equals("")){ + Logger.INFO("materialInput is null, using a valid chemical symbol."); + this.vChemicalFormula = this.vChemicalSymbol; + } + else{ + Logger.INFO("MaterialInput == null && chemicalSymbol probably equals nothing"); + this.vChemicalFormula = "??"; + } - final Materials isValid = Materials.get(this.getLocalizedName()); - if (FluidUtils.getFluidStack(localizedName, 1) != null){ - this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid(); - } - else if (isValid == null || isValid == Materials._NULL){ - this.vMoltenFluid = this.generateFluid(); - } - else { - if (isValid.mFluid != null){ - this.vMoltenFluid = isValid.mFluid; + final Materials isValid = Materials.get(this.getLocalizedName()); + if (FluidUtils.getFluidStack(localizedName, 1) != null){ + this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid(); } - else if (isValid.mGas != null){ - this.vMoltenFluid = isValid.mGas; + else if (isValid == null || isValid == Materials._NULL){ + this.vMoltenFluid = this.generateFluid(); } else { - this.vMoltenFluid = this.generateFluid(); + if (isValid.mFluid != null){ + this.vMoltenFluid = isValid.mFluid; + } + else if (isValid.mGas != null){ + this.vMoltenFluid = isValid.mGas; + } + else { + this.vMoltenFluid = this.generateFluid(); + } } - } - this.vPlasma = this.generatePlasma(); + this.vPlasma = this.generatePlasma(); - String ratio = ""; - if (this.vSmallestRatio != null) { - for (int hu=0;hu<this.vSmallestRatio.length;hu++){ - if (ratio.equals("")){ - ratio = String.valueOf(this.vSmallestRatio[hu]); - } - else { - ratio = ratio + ":" +this.vSmallestRatio[hu]; + String ratio = ""; + if (this.vSmallestRatio != null) { + for (int hu=0;hu<this.vSmallestRatio.length;hu++){ + if (ratio.equals("")){ + ratio = String.valueOf(this.vSmallestRatio[hu]); + } + else { + ratio = ratio + ":" +this.vSmallestRatio[hu]; + } } } - } - Logger.INFO("Creating a Material instance for "+materialName); - Logger.INFO("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); - Logger.INFO("Protons: "+this.vProtons); - Logger.INFO("Neutrons: "+this.vNeutrons); - Logger.INFO("Mass: "+this.vMass+"/units"); - Logger.INFO("Melting Point: "+this.meltingPointC+"C."); - Logger.INFO("Boiling Point: "+this.boilingPointC+"C."); + Logger.INFO("Creating a Material instance for "+materialName); + Logger.INFO("Formula: "+this.vChemicalFormula + " Smallest Stack: "+this.smallestStackSizeWhenProcessing+" Smallest Ratio:"+ratio); + Logger.INFO("Protons: "+this.vProtons); + Logger.INFO("Neutrons: "+this.vNeutrons); + Logger.INFO("Mass: "+this.vMass+"/units"); + Logger.INFO("Melting Point: "+this.meltingPointC+"C."); + Logger.INFO("Boiling Point: "+this.boilingPointC+"C."); } catch (Throwable t){ t.printStackTrace(); } - } + } - + private TextureSet setTextureSet(TextureSet set) { + if (set != null) { + return set; + } + else { + // build hash table with count + AutoMap<Material> sets = new AutoMap<Material>(); + if (this.vMaterialInput != null) { + for (MaterialStack r : this.vMaterialInput) { + if (r.getStackMaterial().getTextureSet().mSetName.toLowerCase().contains("fluid")) { + sets.put(ELEMENT.getInstance().GOLD); + } + else { + sets.put(r.getStackMaterial()); + } + } + TextureSet mostUsedTypeTextureSet = (TextureSet) MaterialUtils.getMostCommonTextureSet(new ArrayList(sets.values())); + if (mostUsedTypeTextureSet != null && mostUsedTypeTextureSet instanceof TextureSet) { + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+mostUsedTypeTextureSet.mSetName+"."); + return mostUsedTypeTextureSet; + } + } + } + Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+Materials.Iron.mIconSet.mSetName+". [Fallback]"); + return Materials.Iron.mIconSet; + } public final String getLocalizedName(){ if (this.localizedName != null) { @@ -342,7 +383,7 @@ public class Material { } return new short[] {255,0,0}; } - + final public short[] getRGBA(){ if (this.RGBA != null) { if (this.RGBA.length == 4){ @@ -475,12 +516,12 @@ public class Material { public final ItemStack getNugget(final int stacksize){ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+this.unlocalizedName, stacksize); } - + /** * Ore Components * @return */ - + public final ItemStack getOre(final int stacksize){ return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ore"+Utils.sanitizeString(this.getUnlocalizedName()), stacksize); } @@ -494,14 +535,14 @@ public class Material { Logger.DEBUG_MATERIALS("[Invalid Ore] Is a1 valid? "+(a1 != null)); Logger.DEBUG_MATERIALS("[Invalid Ore] Is a2 valid? "+(a2 != null)); Logger.DEBUG_MATERIALS("[Invalid Ore] Is a3 valid? "+(a3 != null)); - - Block x = Block.getBlockFromItem(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ore"+Utils.sanitizeString(this.unlocalizedName), stacksize).getItem()); - if (x != null){ - return x; - } + + Block x = Block.getBlockFromItem(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ore"+Utils.sanitizeString(this.unlocalizedName), stacksize).getItem()); + if (x != null){ + return x; + } } catch (Throwable t){ - t.printStackTrace(); + //t.printStackTrace(); } Logger.MATERIALS("Failed getting the Ore Block for "+this.getLocalizedName()+"."); return Blocks.stone; @@ -585,7 +626,6 @@ public class Material { } - @SuppressWarnings("static-method") public final long[] getSmallestRatio(final ArrayList<MaterialStack> tempInput){ if (tempInput != null){ if (!tempInput.isEmpty()){ @@ -687,7 +727,7 @@ public class Material { if (this.materialState == MaterialState.ORE){ return null; } - + final Materials isValid = Materials.get(this.getLocalizedName()); Logger.INFO("Is "+this.getLocalizedName()+" a Gregtech material? "+(isValid != null && isValid != Materials._NULL)+" | Found "+isValid.mDefaultLocalName); if (isValid != Materials._NULL){ @@ -923,32 +963,4 @@ public class Material { } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - } diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java index 22e43a0aef..2f0eb72fcc 100644 --- a/src/Java/gtPlusPlus/core/material/ORES.java +++ b/src/Java/gtPlusPlus/core/material/ORES.java @@ -1,5 +1,6 @@ package gtPlusPlus.core.material; +import gregtech.api.enums.TextureSet; import gtPlusPlus.core.material.state.MaterialState; public final class ORES { @@ -7,6 +8,7 @@ public final class ORES { public static final Material GEIKIELITE = new Material( "Geikielite", //Material Name MaterialState.ORE, //State + TextureSet.SET_GEM_HORIZONTAL, //Texture Set new short[]{187, 193, 204, 0}, //Material Colour 500, 1500, @@ -22,6 +24,7 @@ public final class ORES { public static final Material ZIMBABWEITE = new Material( "Zimbabweite", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{193, 187, 131, 0}, //Material Colour 500, 1500, @@ -42,6 +45,7 @@ public final class ORES { public static final Material TITANITE = new Material( "Titanite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{184, 198, 105, 0}, //Material Colour 500, 1500, @@ -59,6 +63,7 @@ public final class ORES { public static final Material ZIRCONILITE = new Material( "Zirconolite", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{45, 26, 0, 0}, //Material Colour 500, 1500, @@ -76,6 +81,7 @@ public final class ORES { public static final Material CROCROITE = new Material( "Crocoite", //Material Name MaterialState.ORE, //State + TextureSet.SET_GEM_VERTICAL, //Texture Set new short[]{255, 143, 84, 0}, //Material Colour 500, 1500, @@ -91,6 +97,7 @@ public final class ORES { public static final Material NICHROMITE = new Material( "Nichromite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{22, 19, 19, 0}, //Material Colour 500, 1500, @@ -106,9 +113,10 @@ public final class ORES { new MaterialStack(ELEMENT.getInstance().OXYGEN, 8) }); - public static final Material YTTRIAITE = new Material( + public static final Material YTTRIAITE = new Material( //TODO "Yttriaite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{255, 143, 84, 0}, //Material Colour 500, 1500, @@ -124,6 +132,7 @@ public final class ORES { public static final Material SAMARSKITE_Y = new Material( "Samarskite (Y)", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{65, 163, 164, 0}, //Material Colour 500, 1500, @@ -143,6 +152,7 @@ public final class ORES { public static final Material SAMARSKITE_YB = new Material( "Samarskite (Yb)", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{95, 193, 194, 0}, //Material Colour 500, 1500, @@ -161,6 +171,7 @@ public final class ORES { public static final Material ZIRCON = new Material( "Zircon", //Material Name MaterialState.ORE, //State + TextureSet.SET_GEM_VERTICAL, //Texture Set new short[]{195, 19, 19, 0}, //Material Colour 500, 1500, @@ -177,6 +188,7 @@ public final class ORES { public static final Material GADOLINITE_CE = new Material( "Gadolinite (Ce)", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{15, 159, 59, 0}, //Material Colour 500, 1500, @@ -198,6 +210,7 @@ public final class ORES { public static final Material GADOLINITE_Y = new Material( "Gadolinite (Y)", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{35, 189, 99, 0}, //Material Colour 500, 1500, @@ -218,6 +231,7 @@ public final class ORES { public static final Material LEPERSONNITE = new Material( "Lepersonnite", //Material Name MaterialState.ORE, //State + TextureSet.SET_EMERALD, //Texture Set new short[]{175, 175, 20, 0}, //Material Colour 500, 1500, @@ -236,6 +250,7 @@ public final class ORES { public static final Material XENOTIME = new Material( "Xenotime", //Material Name MaterialState.ORE, //State + TextureSet.SET_OPAL, //Texture Set new short[]{235, 89, 199, 0}, //Material Colour 500, 1500, @@ -251,6 +266,7 @@ public final class ORES { public static final Material YTTRIALITE = new Material( "Yttrialite", //Material Name MaterialState.ORE, //State + TextureSet.SET_RUBY, //Texture Set new short[]{35, 189, 99, 0}, //Material Colour 500, 1500, @@ -267,6 +283,7 @@ public final class ORES { public static final Material YTTROCERITE = new Material( "Yttrocerite", //Material Name MaterialState.ORE, //State + TextureSet.SET_DIAMOND, //Texture Set new short[]{35, 19, 199, 0}, //Material Colour 500, 1500, @@ -283,6 +300,7 @@ public final class ORES { public static final Material POLYCRASE = new Material( "Polycrase", //Material Name MaterialState.ORE, //State + TextureSet.SET_ROUGH, //Texture Set new short[]{51, 0, 11, 0}, //Material Colour 500, 1500, @@ -304,6 +322,7 @@ public final class ORES { public static final Material ZIRCOPHYLLITE = new Material( "Zircophyllite", //Material Name MaterialState.ORE, //State + TextureSet.SET_FIERY, //Texture Set new short[]{30, 0, 6, 0}, //Material Colour 500, 1500, @@ -326,6 +345,7 @@ public final class ORES { public static final Material ZIRKELITE = new Material( "Zirkelite", //Material Name MaterialState.ORE, //State + TextureSet.SET_GEM_HORIZONTAL, //Texture Set new short[]{229, 208, 48, 0}, //Material Colour 500, 1500, @@ -345,6 +365,7 @@ public final class ORES { public static final Material LANTHANITE_LA = new Material( "Lanthanite (La)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{219, 160, 214, 0}, //Material Colour 500, 1500, @@ -362,6 +383,7 @@ public final class ORES { public static final Material LANTHANITE_CE = new Material( "Lanthanite (Ce)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{186, 113, 179, 0}, //Material Colour 500, 1500, @@ -379,6 +401,7 @@ public final class ORES { public static final Material LANTHANITE_ND = new Material( "Lanthanite (Nd)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{153, 76, 145, 0}, //Material Colour 500, 1500, @@ -396,6 +419,7 @@ public final class ORES { public static final Material HIBONITE = new Material( "Hibonite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{58, 31, 0, 0}, //Material Colour 500, 1500, @@ -414,6 +438,7 @@ public final class ORES { public static final Material CERITE = new Material( "Cerite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{68, 13, 0, 0}, //Material Colour 500, 1500, @@ -434,6 +459,7 @@ public final class ORES { public static final Material AGARDITE_Y = new Material( "Agardite (Y)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{210, 232, 44, 0}, //Material Colour 500, 1500, @@ -452,6 +478,7 @@ public final class ORES { public static final Material AGARDITE_CD = new Material( "Agardite (Cd)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{170, 188, 33, 0}, //Material Colour 500, 1500, @@ -470,6 +497,7 @@ public final class ORES { public static final Material AGARDITE_LA = new Material( "Agardite (La)", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{206, 232, 9, 0}, //Material Colour 500, 1500, @@ -488,6 +516,7 @@ public final class ORES { public static final Material AGARDITE_ND = new Material( "Agardite (Nd)", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{225, 244, 78, 0}, //Material Colour 500, 1500, @@ -506,6 +535,7 @@ public final class ORES { public static final Material FLUORCAPHITE = new Material( "Fluorcaphite", //Material Name MaterialState.ORE, //State + TextureSet.SET_FINE, //Texture Set new short[]{255, 255, 30, 0}, //Material Colour 500, 1500, @@ -525,6 +555,7 @@ public final class ORES { public static final Material FLORENCITE = new Material( "Florencite", //Material Name MaterialState.ORE, //State + TextureSet.SET_METALLIC, //Texture Set new short[]{249, 249, 124, 0}, //Material Colour 500, 1500, @@ -542,6 +573,7 @@ public final class ORES { public static final Material CRYOLITE = new Material( "Cryolite", //Material Name MaterialState.ORE, //State + TextureSet.SET_SHINY, //Texture Set new short[]{205, 205, 255, 0}, //Material Colour 500, 1500, diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java index ea21a1d270..436115dac6 100644 --- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java +++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java @@ -19,10 +19,10 @@ public final class NUCLIDE { public final Material THORIUM232 = new Material("Thorium 232", MaterialState.SOLID, new short[]{15, 60, 15, 0}, Materials.Thorium.mMeltingPoint, Materials.Thorium.mBlastFurnaceTemp, 90, 142, false, StringUtils.superscript("232Th"), 1, false);//Not a GT Inherited Material //RTG Fuels - public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, StringUtils.superscript("238Pu"), 2, false);//Not a GT Inherited Material - public final Material STRONTIUM90 = new Material("Strontium-90", MaterialState.SOLID, Materials.Strontium.mDurability, Materials.Strontium.mRGBa, Materials.Strontium.mMeltingPoint, Materials.Strontium.mBlastFurnaceTemp, 38, 52, false, StringUtils.superscript("90Sr"), 2, false);//Not a GT Inherited Material - public final Material POLONIUM210 = new Material("Polonium-210", MaterialState.SOLID, ELEMENT.getInstance().POLONIUM.vDurability, ELEMENT.getInstance().POLONIUM.getRGBA(), ELEMENT.getInstance().POLONIUM.getMeltingPointK(), ELEMENT.getInstance().POLONIUM.getBoilingPointK(), 84, 126, false, StringUtils.superscript("210Po"), 2, false);//Not a GT Inherited Material - public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material + public final Material PLUTONIUM238 = new Material("Plutonium-238", MaterialState.SOLID, Materials.Plutonium241.mIconSet, Materials.Plutonium241.mDurability, Materials.Plutonium241.mRGBa, Materials.Plutonium241.mMeltingPoint, Materials.Plutonium241.mBlastFurnaceTemp, 94, 144, false, StringUtils.superscript("238Pu"), 2, false);//Not a GT Inherited Material + public final Material STRONTIUM90 = new Material("Strontium-90", MaterialState.SOLID, Materials.Strontium.mIconSet, Materials.Strontium.mDurability, Materials.Strontium.mRGBa, Materials.Strontium.mMeltingPoint, Materials.Strontium.mBlastFurnaceTemp, 38, 52, false, StringUtils.superscript("90Sr"), 2, false);//Not a GT Inherited Material + public final Material POLONIUM210 = new Material("Polonium-210", MaterialState.SOLID, Materials.Plutonium241.mIconSet, ELEMENT.getInstance().POLONIUM.vDurability, ELEMENT.getInstance().POLONIUM.getRGBA(), ELEMENT.getInstance().POLONIUM.getMeltingPointK(), ELEMENT.getInstance().POLONIUM.getBoilingPointK(), 84, 126, false, StringUtils.superscript("210Po"), 2, false);//Not a GT Inherited Material + public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, Materials.Americium.mIconSet, Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material public static final Material LiFBeF2ThF4UF4 = new Material( "LiFBeF2ThF4UF4", //Material Name diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index a09a865743..86be02faed 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -636,7 +636,7 @@ public class RECIPES_GREGTECH { 230); //EU }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} - + //Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O try { CORE.RA.addDehydratorRecipe( @@ -653,7 +653,7 @@ public class RECIPES_GREGTECH { new int[]{0, 0, 0}, 32*20, //Time in ticks 64); //EU - + }catch (final NullPointerException e){Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} @@ -903,7 +903,7 @@ public class RECIPES_GREGTECH { chances, 30*20, 240); - + GT_Values.RA.addChemicalBathRecipe( FLUORIDES.FLUORITE.getCrushed(2), FluidUtils.getFluidStack("hydrogen", 2000), @@ -1166,6 +1166,7 @@ public class RECIPES_GREGTECH { } private static void electroMagneticSeperatorRecipes(){ + //Bauxite GT_Values.RA.addElectromagneticSeparatorRecipe( ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), @@ -1174,6 +1175,28 @@ public class RECIPES_GREGTECH { new int[]{10000, 2500, 4000}, 20*20, 24); + + + + /*//Trinium + GT_Values.RA.addElectromagneticSeparatorRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1), + ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1), + new int[]{10000, 2500, 4000}, + 20*20, + 24); + + //Trinium + GT_Values.RA.addElectromagneticSeparatorRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1), + ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1), + new int[]{10000, 2500, 4000}, + 20*20, + 24);*/ } private static void advancedMixerRecipes(){ diff --git a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java index c3addca79e..fbab888cbf 100644 --- a/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java +++ b/src/Java/gtPlusPlus/core/util/array/ArrayUtils.java @@ -19,6 +19,11 @@ public class ArrayUtils { series[series.length - 1] = newValueToAdd; return series; } + + /*public static <V> Object getMostCommonElement(List<V> list) { + Optional r = list.stream().map(V::getTextureSet).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey); + return r.get(); + }*/ public static ItemStack[] removeNulls(final ItemStack[] v) { List<ItemStack> list = new ArrayList<ItemStack>(Arrays.asList(v)); @@ -26,3 +31,4 @@ public class ArrayUtils { return list.toArray(new ItemStack[list.size()]); } } + diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java index b4a3e23997..8a99edac5f 100644 --- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java @@ -442,14 +442,17 @@ public class FluidUtils { ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - GT_Values.RA.addFluidExtractionRecipe( + //Disable this, not sure why it exists //TODO + /*GT_Values.RA.addFluidExtractionRecipe( ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1), //Input null, //Input 2 FluidUtils.getFluidStack(gtFluid, 144), //Fluid Output 0, //Chance 1*20, //Duration 16 //Eu Tick - ); + );*/ + + return gtFluid; } Logger.INFO("FLUID GENERATION FAILED FOR "+localizedName); diff --git a/src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java b/src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java new file mode 100644 index 0000000000..3b5dc3b5d8 --- /dev/null +++ b/src/Java/gtPlusPlus/core/util/input/KeyboardUtils.java @@ -0,0 +1,23 @@ +package gtPlusPlus.core.util.input; + +import org.lwjgl.input.Keyboard; + +import net.minecraft.client.Minecraft; + +public class KeyboardUtils { + + public static boolean isCtrlKeyDown(){ + // prioritize CONTROL, but allow OPTION as well on Mac (note: GuiScreen's isCtrlKeyDown only checks for the OPTION key on Mac) + boolean isCtrlKeyDown = Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL); + if (!isCtrlKeyDown && Minecraft.isRunningOnMac) + isCtrlKeyDown = Keyboard.isKeyDown(Keyboard.KEY_LMETA) || Keyboard.isKeyDown(Keyboard.KEY_RMETA); + + return isCtrlKeyDown; + } + + public static boolean isShiftKeyDown(){ + return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT); + + } + +} diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java index 7db80c70fb..5cd7532f0f 100644 --- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java @@ -1,6 +1,10 @@ package gtPlusPlus.core.util.materials; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; import org.apache.commons.lang3.reflect.FieldUtils; @@ -44,6 +48,7 @@ public class MaterialUtils { final long protons = material.getProtons(); final long neutrons = material.getNeutrons(); final boolean blastFurnace = material.mBlastFurnaceRequired; + final TextureSet iconSet = material.mIconSet; final int durability = material.mDurability; boolean mGenerateCell = false; MaterialState materialState; @@ -99,7 +104,7 @@ public class MaterialUtils { if (hasValidRGBA(rgba) || (element == Element.H) || ((material == Materials.InfusedAir) || (material == Materials.InfusedFire) || (material == Materials.InfusedEarth) || (material == Materials.InfusedWater))){ //ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material); //ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material); - return new Material(name, materialState, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity, mGenerateCell); + return new Material(name, materialState,iconSet, durability, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity, mGenerateCell); } else { Logger.DEBUG_MATERIALS("Failed to generate GT++ material instance for "+material.name() +" | Valid RGB? "+(hasValidRGBA(rgba))); @@ -235,5 +240,14 @@ public class MaterialUtils { } return mName; } + + public static TextureSet getMostCommonTextureSet(List<Material> list) { + Optional<TextureSet> r = list.stream().map(Material::getTextureSet).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey); + TextureSet o = (r != null && r.isPresent() && r.get() != null) ? r.get() : null; + return o; + } + + + } + -} diff --git a/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java b/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java index 0eab691720..e74fe1e1a5 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/block/DarkWorldContentLoader.java @@ -38,16 +38,15 @@ public class DarkWorldContentLoader { } public synchronized static boolean initItems(){ - portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger")); - GameRegistry.registerItem(portalItem, "dimensionDarkWorld_trigger"); - + portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("everglades.trigger")); + GameRegistry.registerItem(portalItem, "everglades.trigger"); return true; } public synchronized static boolean initBlocks(){ //Create Block Instances - blockFluidLakes = new BlockBaseFluid("Sludge", SLUDGE, blockDarkWorldSludgeFluid.SLUDGE).setLightLevel(2f).setLightOpacity(1).setBlockName("blockDarkWorldSludgeFluid"); + blockFluidLakes = new BlockBaseFluid("Sludge", SLUDGE, blockDarkWorldSludgeFluid.SLUDGE).setLightLevel(2f).setLightOpacity(1).setBlockName("fluidSludge"); portalBlock = new blockDarkWorldPortal(); blockTopLayer = new blockDarkWorldGround(); blockSecondLayer = new blockDarkWorldPollutedDirt(); diff --git a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java b/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java index 44d62663bd..65184b6f35 100644 --- a/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java +++ b/src/Java/gtPlusPlus/core/world/darkworld/gen/gt/WorldGen_GT_Base.java @@ -137,7 +137,7 @@ public class WorldGen_GT_Base implements IWorldGenerator { this.mIsGenerating = true; Logger.WORLD("Setting Generation to true."); int mList_sS = WorldGen_GT_Base.mList.size(); - mList_sS = Math.min(mList_sS, 5); // Run a maximum of 5 chunks at a + mList_sS = Math.min(mList_sS, 3); // Run a maximum of 3 chunks at a // time through worldgen. Extra // chunks get done later. for (int i = 0; i < mList_sS; i++) { @@ -377,6 +377,7 @@ public class WorldGen_GT_Base implements IWorldGenerator { case WorldGen_GT_Ore_Layer.NO_OVERLAP: if (debugWorldGen) GT_Log.out.println(" No overlap"); + break; } } } @@ -391,11 +392,11 @@ public class WorldGen_GT_Base implements IWorldGenerator { // For now, manually reducing oreveinMaxSize when not in the // Underdark for performance if (this.mWorld.provider.getDimensionName().equals("Underdark")) { - oreveinMaxSize = 32; // Leave Deep Dark/Underdark max oregen at + oreveinMaxSize = 24; // Leave Deep Dark/Underdark max oregen at // 32, instead of 64 } else { - oreveinMaxSize = 32; + oreveinMaxSize = 24; } int wXbox = this.mX - (oreveinMaxSize / 16); diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java index 264b371d7e..55c384c58b 100644 --- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java @@ -134,5 +134,25 @@ public class Preloader_ClassTransformer2 { } } + + public static class GetDropsReplacer extends MethodVisitor { + private final MethodVisitor target; + + public GetDropsReplacer(MethodVisitor methodVisitor) { + super(ASM4, null); + this.target=methodVisitor; + } + + @Override + public void visitCode() { + target.visitCode(); + target.visitTypeInsn(NEW, "java/io/IOException"); + target.visitInsn(DUP); + target.visitMethodInsn(INVOKESPECIAL,"java/io/IOException","<init>","()V",false); + target.visitInsn(ATHROW); + target.visitMaxs(2, 0); + target.visitEnd(); + } + } } diff --git a/src/Java/gtPlusPlus/xmod/eio/material/MaterialEIO.java b/src/Java/gtPlusPlus/xmod/eio/material/MaterialEIO.java index a8c5382a21..a5c87342e7 100644 --- a/src/Java/gtPlusPlus/xmod/eio/material/MaterialEIO.java +++ b/src/Java/gtPlusPlus/xmod/eio/material/MaterialEIO.java @@ -61,7 +61,7 @@ public class MaterialEIO { 10, 10, 10, - false, //Uses Blast furnace? + true, //Uses Blast furnace? false, //Generates a cell //Material Stacks with Percentage of required elements. new MaterialStack[]{ @@ -77,7 +77,7 @@ public class MaterialEIO { 10, 10, 10, - false, //Uses Blast furnace? + true, //Uses Blast furnace? false, //Generates a cell //Material Stacks with Percentage of required elements. new MaterialStack[]{ @@ -94,7 +94,7 @@ public class MaterialEIO { 10, 10, 10, - false, //Uses Blast furnace? + true, //Uses Blast furnace? false, //Generates a cell //Material Stacks with Percentage of required elements. new MaterialStack[]{ diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index 7ce0a32560..0447cbcd20 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -597,61 +597,4 @@ GT_MetaTileEntity_MultiBlockBase { return 0; } - public boolean polluteEnvironment(int aPollutionLevel) { - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){ - try { - Integer mPollution = 0; - Field f = ReflectionUtils.getField(this.getClass(), "mPollution"); - if (f != null){ - try { - mPollution = (Integer) f.get(this); - } - catch (IllegalArgumentException | IllegalAccessException e) {} - } - if (f != null){ - try { - if (mPollution != null){ - //Reflectively set the pollution back to the TE - int temp = (mPollution += aPollutionLevel); - f.set(this, temp); - Logger.REFLECTION("Set pollution to "+temp+", it was "+mPollution+" before."); - - //Iterate Mufflers - for (final GT_MetaTileEntity_Hatch_Muffler tHatch : this.mMufflerHatches) { - if (isValidMetaTileEntity(tHatch)) { - if (mPollution < 10000) { - break; - } - if (!polluteEnvironmentHatch(tHatch)) { - continue; - } - mPollution -= 10000; - } - } - return mPollution < 10000; - - } - } - catch (IllegalArgumentException | IllegalAccessException e) {} - } - } - catch (Throwable t){} - } - return false; - } - - public boolean polluteEnvironmentHatch(GT_MetaTileEntity_Hatch_Muffler tHatch) { - if (tHatch.getBaseMetaTileEntity().getAirAtSide(tHatch.getBaseMetaTileEntity().getFrontFacing())) { - Logger.REFLECTION("doing pollution"); - PollutionUtils.addPollution(tHatch.getBaseMetaTileEntity(), calculatePollutionReduction(tHatch, 10000)); - return true; - } else { - return false; - } - } - - public int calculatePollutionReduction(GT_MetaTileEntity_Hatch_Muffler tHatch, int aPollution) { - return (int) ((double) aPollution * Math.pow(0.7D, (double) (tHatch.mTier - 1))); - } - } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index ed8b4b9a82..b6cf38cd9e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -123,15 +123,15 @@ public class RecipeGen_BlastSmelter implements Runnable{ if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - if (GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+M.getUnlocalizedName(), 1), null, M.getFluid(16), 100, duration/9, 120)){ + if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluid(16), 100, duration/9, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/4, 120)){ + /*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/4, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, duration/9, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); - } + }*/ } } else { @@ -146,18 +146,15 @@ public class RecipeGen_BlastSmelter implements Runnable{ if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration/2, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - final ItemStack tempitem = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+M.getUnlocalizedName(), 1); - if (tempitem != null){ - if (GT_Values.RA.addFluidExtractionRecipe(tempitem, null, M.getFluid(16), 100, duration/2/9, 60)){ - Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); - } + if (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluid(16), 100, duration/2/9, 60)){ + Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/2/4, 60)){ + /*if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/2/4, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); - } + }*/ } } else { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index 426b73f0d8..41fb792fc0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -6,6 +6,7 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialStack; import gtPlusPlus.core.material.state.MaterialState; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.recipe.RecipeUtils; import net.minecraft.item.ItemStack; @@ -224,6 +225,19 @@ public class RecipeGen_DustGeneration implements Runnable{ input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null; input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null; + if (inputStacks.length == 1) { + input2 = CI.getNumberedCircuit(20); + } + else if (inputStacks.length == 2) { + input3 = CI.getNumberedCircuit(20); + + } + else if (inputStacks.length == 3) { + input4 = CI.getNumberedCircuit(20); + + } + + //Add mixer Recipe FluidStack oxygen = GT_Values.NF; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java index 5388f68146..610227e6e8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java @@ -26,91 +26,80 @@ public class RecipeGen_Fluids implements Runnable{ //Melting Shapes to fluid if (!material.getFluid(1).getUnlocalizedName().toLowerCase().contains("plasma")){ - //Dust - /*if (GT_Values.RA.addFluidExtractionRecipe(material.getDust(1), //Input - null, //Input 2 - material.getFluid(144), //Fluid Output - 0, //Chance - 1*20, //Duration - 16 //Eu Tick - )){ - Utils.LOG_WARNING("144l fluid extractor from 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Utils.LOG_WARNING("144l fluid extractor from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); - }*/ - - //Ingot - if (GT_Values.RA.addFluidExtractionRecipe(material.getIngot(1), //Input - null, //Input 2 - material.getFluid(144), //Fluid Output - 0, //Chance - 1*20, //Duration - 16 //Eu Tick - )){ - Logger.WARNING("144l fluid extractor from 1 ingot Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("144l fluid extractor from 1 ingot Recipe: "+material.getLocalizedName()+" - Failed"); - } - - //Plate - if (GT_Values.RA.addFluidExtractionRecipe(material.getPlate(1), //Input - null, //Input 2 - material.getFluid(144), //Fluid Output - 0, //Chance - 1*20, //Duration - 16 //Eu Tick - )){ - Logger.WARNING("144l fluid extractor from 1 plate Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("144l fluid extractor from 1 plate Recipe: "+material.getLocalizedName()+" - Failed"); - } + + if (!material.requiresBlastFurnace()) { + + //Ingot + if (GT_Values.RA.addFluidExtractionRecipe(material.getIngot(1), //Input + null, //Input 2 + material.getFluid(144), //Fluid Output + 0, //Chance + 1*20, //Duration + 16 //Eu Tick + )){ + Logger.WARNING("144l fluid extractor from 1 ingot Recipe: "+material.getLocalizedName()+" - Success"); + } + else { + Logger.WARNING("144l fluid extractor from 1 ingot Recipe: "+material.getLocalizedName()+" - Failed"); + } + + //Plate + if (GT_Values.RA.addFluidExtractionRecipe(material.getPlate(1), //Input + null, //Input 2 + material.getFluid(144), //Fluid Output + 0, //Chance + 1*20, //Duration + 16 //Eu Tick + )){ + Logger.WARNING("144l fluid extractor from 1 plate Recipe: "+material.getLocalizedName()+" - Success"); + } + else { + Logger.WARNING("144l fluid extractor from 1 plate Recipe: "+material.getLocalizedName()+" - Failed"); + } + + //Double Plate + if (GT_Values.RA.addFluidExtractionRecipe(material.getPlateDouble(1), //Input + null, //Input 2 + material.getFluid(288), //Fluid Output + 0, //Chance + 1*20, //Duration + 16 //Eu Tick + )){ + Logger.WARNING("144l fluid extractor from 1 double plate Recipe: "+material.getLocalizedName()+" - Success"); + } + else { + Logger.WARNING("144l fluid extractor from 1 double plate Recipe: "+material.getLocalizedName()+" - Failed"); + } + + //Nugget + if (GT_Values.RA.addFluidExtractionRecipe(material.getNugget(1), //Input + null, //Input 2 + material.getFluid(16), //Fluid Output + 0, //Chance + 16, //Duration + 8 //Eu Tick + )){ + Logger.WARNING("16l fluid extractor from 1 nugget Recipe: "+material.getLocalizedName()+" - Success"); + } + else { + Logger.WARNING("16l fluid extractor from 1 nugget Recipe: "+material.getLocalizedName()+" - Failed"); + } + + //Block + if (GT_Values.RA.addFluidExtractionRecipe(material.getBlock(1), //Input + null, //Input 2 + material.getFluid(144*9), //Fluid Output + 0, //Chance + 288, //Duration + 16 //Eu Tick + )){ + Logger.WARNING((144*9)+"l fluid extractor from 1 block Recipe: "+material.getLocalizedName()+" - Success"); + } + else { + Logger.WARNING((144*9)+"l fluid extractor from 1 block Recipe: "+material.getLocalizedName()+" - Failed"); + } - //Double Plate - if (GT_Values.RA.addFluidExtractionRecipe(material.getPlateDouble(1), //Input - null, //Input 2 - material.getFluid(288), //Fluid Output - 0, //Chance - 1*20, //Duration - 16 //Eu Tick - )){ - Logger.WARNING("144l fluid extractor from 1 double plate Recipe: "+material.getLocalizedName()+" - Success"); } - else { - Logger.WARNING("144l fluid extractor from 1 double plate Recipe: "+material.getLocalizedName()+" - Failed"); - } - - //Nugget - if (GT_Values.RA.addFluidExtractionRecipe(material.getNugget(1), //Input - null, //Input 2 - material.getFluid(16), //Fluid Output - 0, //Chance - 16, //Duration - 8 //Eu Tick - )){ - Logger.WARNING("16l fluid extractor from 1 nugget Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING("16l fluid extractor from 1 nugget Recipe: "+material.getLocalizedName()+" - Failed"); - } - - //Block - if (GT_Values.RA.addFluidExtractionRecipe(material.getBlock(1), //Input - null, //Input 2 - material.getFluid(144*9), //Fluid Output - 0, //Chance - 288, //Duration - 16 //Eu Tick - )){ - Logger.WARNING((144*9)+"l fluid extractor from 1 block Recipe: "+material.getLocalizedName()+" - Success"); - } - else { - Logger.WARNING((144*9)+"l fluid extractor from 1 block Recipe: "+material.getLocalizedName()+" - Failed"); - } - - diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java index a584323cf3..f3287f338c 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java @@ -64,20 +64,24 @@ public class GregtechConduits { } private static void run1(){ + if (LoadedMods.Big_Reactors){ wireFactory("Blutonium", 8196, BaseWireID, 8, 32, 2, new short[]{28, 28, 218, 0}); wireFactory("Cyanite", 512, BaseWireID+15, 2, 16, 4, new short[]{27, 130, 178, 0}); wireFactory("Yellorium", 2048, BaseWireID+30, 4, 16, 2, new short[]{150, 195, 54, 0}); } + if (LoadedMods.EnderIO){ wireFactory("RedstoneAlloy", 32, BaseWireID+45, 0, 2, 1, new short[]{178,34,34, 0}); } if(!GTNH) { - customWireFactory(ALLOY.LEAGRISIUM, 512, BaseWireID + 45 + 11, 1, 2, 2); + customWireFactory(ALLOY.LEAGRISIUM, 512, BaseWireID + 56, 1, 2, 2); customWireFactory(ELEMENT.getInstance().ZIRCONIUM, 128, BaseWireID + 67, 1, 2, 2); customWireFactory(ALLOY.HG1223, 32768, BaseWireID + 78, 2, 8, 4); } + + customWireFactory(ALLOY.TRINIUM_TITANIUM, 2048, BaseWireID + 89, 1, 2, 16); //superConductorFactory(GT_Materials.Superconductor, 524288, 30660, 0, 0, 8); if (LoadedMods.Thaumcraft){ @@ -106,6 +110,7 @@ public class GregtechConduits { } generateGTFluidPipes(Materials.Clay, BasePipeID+65, 100, 500, false); generateGTFluidPipes(Materials.Lead, BasePipeID+70, 720, 1200, true); + } private static void wireFactory(final String Material, final int Voltage, final int ID, final long insulatedLoss, final long uninsulatedLoss, final long Amps, final short[] rgb){ @@ -234,7 +239,7 @@ public class GregtechConduits { } private static void generateNonGTFluidPipes(final GT_Materials material, final Material myMaterial, final int startID, final int transferRatePerSec, final int heatResistance, final boolean isGasProof){ - final int transferRatePerTick = transferRatePerSec/20; + final int transferRatePerTick = transferRatePerSec/10; long mass; long voltage; if (myMaterial != null){ |