diff options
Diffstat (limited to 'src/main/java')
8 files changed, 275 insertions, 157 deletions
diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java index a362837bf4..aed978e0d0 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java @@ -2503,7 +2503,9 @@ public class DreamCraftRecipeLoader { addWirelessEnergyRecipes(); - addEOHRecipes(); + if (Loader.isModLoaded("TGregworks")) { + addEOHRecipes(); + } // UHV-UMV Energy Hatch & Dynamo TT_recipeAdder.addResearchableAssemblylineRecipe( @@ -5005,14 +5007,15 @@ public class DreamCraftRecipeLoader { // ------------------------- Set up information ------------------------- // ---------------------------------------------------------------------- - // Fluid mutatedLivingSolder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - // ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - // : FluidRegistry.getFluid("molten.solderingalloy"); + Fluid mutatedLivingSolder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); - FluidStack fluid_0 = Materials.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(576); - FluidStack fluid_1 = Materials.SpaceTime.getMolten(576); - FluidStack fluid_2 = Materials.Universium.getMolten(576); - FluidStack fluid_3 = Materials.Lubricant.getFluid(8000); + FluidStack moltenMHDCSM_576 = Materials.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(576); + FluidStack moltenSpaceTime_576 = Materials.SpaceTime.getMolten(576); + FluidStack moltenUniversium_576 = Materials.Universium.getMolten(576); + FluidStack lubricantFluid_8000 = Materials.Lubricant.getFluid(8000); + FluidStack solderingAlloy_14_400 = new FluidStack(mutatedLivingSolder, 14_400); int totalComputation = 384_000; int compPerSecond = 512; @@ -5056,7 +5059,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 2L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L), Materials.Neutronium.getNanite(4) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 }, ItemList.Electric_Motor_UXV.get(1L), craftingTimeInTicks, craftingEuPerTick); @@ -5077,15 +5080,15 @@ public class DreamCraftRecipeLoader { .get(OrePrefixes.plate, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 4L), GT_OreDictUnificator .get(OrePrefixes.screw, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 16L), - new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L }, - new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L }, + GT_OreDictUnificator.get(OrePrefixes.ring, MaterialsKevlar.Kevlar, 64L), + GT_OreDictUnificator.get("ringRadoxPoly", 64L), GT_OreDictUnificator .get(OrePrefixes.rotor, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 4L), GT_OreDictUnificator.get("rotorShirabon", 4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 2L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L), Materials.Neutronium.getNanite(4) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 }, ItemList.Electric_Pump_UXV.get(1), craftingTimeInTicks, craftingEuPerTick); @@ -5109,11 +5112,10 @@ public class DreamCraftRecipeLoader { .get(OrePrefixes.round, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 64L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 2L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L), - new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L }, - new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L }, - new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 32L }, - Materials.Neutronium.getNanite(4) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + MaterialsKevlar.Kevlar.getPlates(64), MaterialsKevlar.Kevlar.getPlates(16), + GT_OreDictUnificator.get("plateRadoxPoly", 64L), + GT_OreDictUnificator.get("plateRadoxPoly", 16L), Materials.Neutronium.getNanite(4) }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 }, ItemList.Conveyor_Module_UXV.get(1), craftingTimeInTicks, craftingEuPerTick); @@ -5146,7 +5148,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 6L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 6L), Materials.Neutronium.getNanite(8) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 }, ItemList.Robot_Arm_UXV.get(1L), craftingTimeInTicks, craftingEuPerTick); @@ -5181,7 +5183,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 4L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 4L), Materials.Neutronium.getNanite(4) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 }, ItemList.Electric_Piston_UXV.get(1), craftingTimeInTicks, craftingEuPerTick); @@ -5213,7 +5215,7 @@ public class DreamCraftRecipeLoader { Materials.Neutronium.getNanite(8) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 }, ItemList.Emitter_UXV.get(1L), craftingTimeInTicks, craftingEuPerTick); @@ -5243,7 +5245,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 7L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 7L), Materials.Neutronium.getNanite(8) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 }, ItemList.Sensor_UXV.get(1L), craftingTimeInTicks, craftingEuPerTick); @@ -5280,7 +5282,7 @@ public class DreamCraftRecipeLoader { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SpaceTime, 8L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 8L), Materials.Neutronium.getNanite(12) }, - new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 }, + new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 }, ItemList.Field_Generator_UXV.get(1L), craftingTimeInTicks, craftingEuPerTick); @@ -5307,15 +5309,15 @@ public class DreamCraftRecipeLoader { final ItemStack[] plateList = new ItemStack[] { // Dense Shirabon plate. - GT_OreDictUnificator.get("plateDenseShirabon", 1), + GT_OreDictUnificator.get("boltShirabon", 2), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.WhiteDwarfMatter, 2), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.WhiteDwarfMatter, 8), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.WhiteDwarfMatter, 32), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.BlackDwarfMatter, 2), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.BlackDwarfMatter, 8), GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.BlackDwarfMatter, 32), - GT_OreDictUnificator.get(OrePrefixes.rod, Materials.BlackDwarfMatter, 32), - GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 2) }; + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 2), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.MagnetohydrodynamicallyConstrainedStarMatter, 8) }; // EOH Controller Recipe. { diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java index 98f24260eb..f19cb2daee 100644 --- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java +++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java @@ -3,6 +3,7 @@ package com.github.technus.tectech.recipe; import static com.github.technus.tectech.recipe.EyeOfHarmonyRecipeStorage.BILLION; import static com.google.common.math.IntMath.pow; import static gregtech.api.GregTech_API.getUnificatedOreDictStack; +import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_Utility.getPlasmaFuelValueInEUPerLiterFromMaterial; import static java.lang.Math.min; @@ -10,12 +11,12 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; -import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.tuple.Pair; +import pers.gwyog.gtneioreplugin.plugin.block.BlockDimensionDisplay; import pers.gwyog.gtneioreplugin.util.GT5OreLayerHelper; import pers.gwyog.gtneioreplugin.util.GT5OreSmallHelper; @@ -31,6 +32,13 @@ import gregtech.api.util.GT_OreDictUnificator; @SuppressWarnings("SpellCheckingInspection") public class EyeOfHarmonyRecipe { + static final FluidStack[] SPECIAL_FLUIDS = new FluidStack[] { Materials.WhiteDwarfMatter.getMolten(576), + Materials.WhiteDwarfMatter.getMolten(576), Materials.WhiteDwarfMatter.getMolten(2_304), + Materials.WhiteDwarfMatter.getMolten(9_216), Materials.BlackDwarfMatter.getMolten(576), + Materials.BlackDwarfMatter.getMolten(2_304), Materials.BlackDwarfMatter.getMolten(9_216), + Materials.Universium.getMolten(576), Materials.Universium.getMolten(2_304), + Materials.Universium.getMolten(9_216) }; + HashingStrategy<ItemStack> itemStackHashingStrategy = new HashingStrategy<ItemStack>() { @Override @@ -95,7 +103,7 @@ public class EyeOfHarmonyRecipe { return rocketTier; } - public EyeOfHarmonyRecipe(ArrayList<Pair<Materials, Long>> materialList, Block block, + public EyeOfHarmonyRecipe(final ArrayList<Pair<Materials, Long>> materialList, final BlockDimensionDisplay block, final double recipeEnergyEfficiency, final long hydrogenRequirement, final long heliumRequirement, final long miningTimeSeconds, final long rocketTierOfRecipe, final double baseSuccessChance) { @@ -108,8 +116,7 @@ public class EyeOfHarmonyRecipe { this.sumOfItems = this.outputItems.stream().map(ItemStackLong::getStackSize).reduce(0L, Long::sum); - this.outputItems.add( - new ItemStackLong(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), this.sumOfItems * 3)); + this.outputItems.add(new ItemStackLong(getStoneDustType(block.getDimension()), this.sumOfItems * 3L)); this.outputItems.sort(Comparator.comparingLong(ItemStackLong::getStackSize)); Collections.reverse(this.outputItems); @@ -132,30 +139,22 @@ public class EyeOfHarmonyRecipe { // Add a bonus fluid of compressed star matter. fluidStackArrayList.add(Materials.RawStarMatter.getFluid((this.spacetimeCasingTierRequired + 1) * 100_000)); - // Tier 0 - 576 White - // Tier 1 - 2304 White - // Tier 2 - 9216 White - // Tier 3 - 36864 White + // Tier 0 & 1 - 576 White + // Tier 2 - 2304 White + // Tier 3 - 9216 White // Tier 4 - 576 Black // Tier 5 - 2304 Black // Tier 6 - 9216 Black - // Tier 7 - 36864 Black - - // Tier 8 - 576 Universium - // Tier 9 - 2304 Universium - - if (rocketTierOfRecipe <= 2) { - fluidStackArrayList.add(Materials.WhiteDwarfMatter.getMolten(576L * pow(4, (int) rocketTierOfRecipe))); - } - - if ((3 <= rocketTierOfRecipe) && (rocketTierOfRecipe <= 7)) { - fluidStackArrayList.add(Materials.BlackDwarfMatter.getMolten(576L * pow(4, (int) rocketTierOfRecipe - 3))); - } - if (rocketTierOfRecipe >= 8) { - fluidStackArrayList.add(Materials.Universium.getMolten(576L * pow(4, (int) (rocketTierOfRecipe - 8)))); + // Tier 7 - 576 Universium + // Tier 8 - 2304 Universium + // Tier 9 - 9216 Universium + int spacetimeTier = (int) rocketTierOfRecipe; + if (spacetimeTier == 0 || spacetimeTier == 9) { + spacetimeTier -= 1; } + fluidStackArrayList.add(SPECIAL_FLUIDS[spacetimeTier + 1]); outputFluids = fluidStackArrayList; // End fluid processing. @@ -174,10 +173,78 @@ public class EyeOfHarmonyRecipe { this.euOutput = (long) (euStartCost * recipeEnergyEfficiency); } + private ItemStack getStoneDustType(String key) { + + switch (key) { + case "Ne": + return GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 1); + case "ED": + case "VA": + case "EA": + return GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 1); + case "Mo": + return getModItem("dreamcraft", "item.MoonStoneDust", 1); + case "De": + return getModItem("dreamcraft", "item.DeimosStoneDust", 1); + case "Ma": + return getModItem("dreamcraft", "item.MarsStoneDust", 1); + case "Ph": + return getModItem("dreamcraft", "item.PhobosStoneDust", 1); + case "As": + case "KB": + return getModItem("dreamcraft", "item.AsteroidsStoneDust", 1); + case "Ca": + return getModItem("dreamcraft", "item.CallistoStoneDust", 1); + case "Ce": + return getModItem("dreamcraft", "item.CeresStoneDust", 1); + case "Eu": + return getModItem("dreamcraft", "item.EuropaStoneDust", 1); + case "Ga": + return getModItem("dreamcraft", "item.GanymedeStoneDust", 1); + case "Io": + return getModItem("dreamcraft", "item.IoStoneDust", 1); + case "Me": + return getModItem("dreamcraft", "item.MercuryStoneDust", 1); + case "Ve": + return getModItem("dreamcraft", "item.VenusStoneDust", 1); + case "En": + return getModItem("dreamcraft", "item.EnceladusStoneDust", 1); + case "Mi": + return getModItem("dreamcraft", "item.MirandaStoneDust", 1); + case "Ob": + return getModItem("dreamcraft", "item.OberonStoneDust", 1); + case "Ti": + return getModItem("dreamcraft", "item.TitanStoneDust", 1); + case "Pr": + return getModItem("dreamcraft", "item.ProteusStoneDust", 1); + case "Tr": + return getModItem("dreamcraft", "item.TritonStoneDust", 1); + case "Ha": + return getModItem("dreamcraft", "item.HaumeaStoneDust", 1); + case "MM": + return getModItem("dreamcraft", "item.MakeMakeStoneDust", 1); + case "Pl": + return getModItem("dreamcraft", "item.PlutoStoneDust", 1); + case "BE": + return getModItem("dreamcraft", "item.BarnardaEStoneDust", 1); + case "BF": + return getModItem("dreamcraft", "item.BarnardaFStoneDust", 1); + case "CB": + return getModItem("dreamcraft", "item.CentauriAStoneDust", 1); + case "TE": + return getModItem("dreamcraft", "item.TCetiEStoneDust", 1); + case "VB": + return getModItem("dreamcraft", "item.VegaBStoneDust", 1); + default: + return GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1); + } + } + public EyeOfHarmonyRecipe(final GT5OreLayerHelper.NormalOreDimensionWrapper normalOreDimensionWrapper, - final GT5OreSmallHelper.SmallOreDimensionWrapper smallOreDimensionWrapper, final Block block, - final double recipeEnergyEfficiency, final long hydrogenRequirement, final long heliumRequirement, - final long miningTimeSeconds, final long spacetimeCasingTierRequired, final double baseSuccessChance) { + final GT5OreSmallHelper.SmallOreDimensionWrapper smallOreDimensionWrapper, + final BlockDimensionDisplay block, final double recipeEnergyEfficiency, final long hydrogenRequirement, + final long heliumRequirement, final long miningTimeSeconds, final long spacetimeCasingTierRequired, + final double baseSuccessChance) { // Process recipes output items. // 6 * 64 = 6 stacks/second for VM tier 3 + Og gas. diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java index 78e97f4c46..9c2c638f34 100644 --- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java +++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java @@ -27,6 +27,7 @@ import gregtech.api.util.GT_OreDictUnificator; public class EyeOfHarmonyRecipeStorage { public static final long BILLION = LongMath.pow(10, 9); + private static final double CHANCE_DECREASE_PER_DIMENSION = 0.05; // Map is unique so this is fine. HashMap<Block, String> blocksMapInverted = new HashMap<Block, String>() { @@ -52,10 +53,15 @@ public class EyeOfHarmonyRecipeStorage { GT5OreSmallHelper.SmallOreDimensionWrapper smallOre = GT5OreSmallHelper.dimToSmallOreWrapper .getOrDefault(dimAbbreviation, null); if (normalOre == null && smallOre == null) { - // no ores are generated in this dimension. fail silently + // No ores are generated in this dimension. Fail silently. continue; } + long spacetimeTier = blockDimensionDisplay.getDimensionRocketTier(); + if (spacetimeTier == 0) { + spacetimeTier += 1; + } + put( dimAbbreviation, new EyeOfHarmonyRecipe( @@ -66,8 +72,9 @@ public class EyeOfHarmonyRecipeStorage { BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), BILLION * (blockDimensionDisplay.getDimensionRocketTier() + 1), timeCalculator(blockDimensionDisplay.getDimensionRocketTier()), - blockDimensionDisplay.getDimensionRocketTier(), - 1.0 - 0.05 * blockDimensionDisplay.getDimensionRocketTier())); + spacetimeTier - 1, + 1.0 - CHANCE_DECREASE_PER_DIMENSION + * blockDimensionDisplay.getDimensionRocketTier())); } } } @@ -138,7 +145,7 @@ public class EyeOfHarmonyRecipeStorage { BILLION * (rocketTier + 1), timeCalculator(rocketTier), rocketTier, // -1 so that we avoid out of bounds exception on NEI render. - 1.0 - rocketTier / 10.0)); + 1.0 - rocketTier * CHANCE_DECREASE_PER_DIMENSION)); } private static long timeCalculator(final long rocketTier) { diff --git a/src/main/java/com/github/technus/tectech/thing/block/EyeOfHarmonyBlock.java b/src/main/java/com/github/technus/tectech/thing/block/EyeOfHarmonyBlock.java index 2f6a3f4e5c..1085c2b3f3 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/EyeOfHarmonyBlock.java +++ b/src/main/java/com/github/technus/tectech/thing/block/EyeOfHarmonyBlock.java @@ -3,13 +3,10 @@ package com.github.technus.tectech.thing.block; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_EyeOfHarmony; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; @@ -23,7 +20,7 @@ public class EyeOfHarmonyBlock extends Block { this.setHardness(-1.0f); this.setCreativeTab(TecTech.creativeTabEM); this.setBlockName("Eye of Harmony Renderer"); - this.setLightLevel(100.0f); // todo check + this.setLightLevel(100.0f); registerOther(this); } @@ -63,25 +60,4 @@ public class EyeOfHarmonyBlock extends Block { GameRegistry.registerBlock(block, name.substring(name.indexOf(":") + 1)); } - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, - float p_149727_7_, float p_149727_8_, float p_149727_9_) { - - if (!GT_MetaTileEntity_EM_EyeOfHarmony.EOH_DEBUG_MODE) return false; - - TileEyeOfHarmony tile = (TileEyeOfHarmony) world.getTileEntity(x, y, z); - - if (player.isSneaking()) { - tile.incrementSize(); - } else { - tile.increaseRotationSpeed(); - } - - if (!world.isRemote) { - player.addChatComponentMessage(new ChatComponentText("Rotation Speed:" + tile.getRotationSpeed())); - player.addChatComponentMessage(new ChatComponentText("Size: " + tile.getSize())); - } - - return true; - } } diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java index 35bfe12071..f0c12be8bc 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java @@ -2,6 +2,8 @@ package com.github.technus.tectech.thing.casing; import static com.github.technus.tectech.util.CommonValues.*; import static gregtech.api.util.GT_Utility.formatNumbers; +import static net.minecraft.util.EnumChatFormatting.AQUA; +import static net.minecraft.util.EnumChatFormatting.GRAY; import static net.minecraft.util.StatCollector.translateToLocal; import java.util.List; @@ -11,6 +13,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import gregtech.api.enums.TierEU; import gregtech.common.blocks.GT_Item_Casings_Abstract; public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { @@ -37,42 +40,68 @@ public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + formatNumbers(V[aStack.getItemDamage() + 1]) + " EU/t"); // Handles up to - aList.add( - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another - // calls the + aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What + // one + // man + // calls + // God, + // another + // calls + // the // laws of physics. break; case 6: // "Tesla Base Casing" aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0")); // The base of a wondrous contraption - aList.add( - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's alive, IT'S ALIVE! + aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's + // alive, + // IT'S + // ALIVE! break; case 7: // "Tesla Toroid Casing" aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0")); // Made out of the finest tin foil! - aList.add( - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday suits might come later + aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday + // suits + // might + // come + // later break; case 8: // "Tesla Secondary Windings" aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0")); // Picks up power from a primary coil - aList.add( - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who wouldn't want a 32k epoxy - // multi? + aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who + // wouldn't + // want + // a + // 32k + // epoxy + // multi? break; case 9: // "ZPM Superconductor Primary Tesla Windings" - aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + formatNumbers(V[7]) + " EU/t"); // Handles - // up - // to - aList.add( - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD - + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What one man calls God, another - // calls the - // laws of physics. + aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + formatNumbers(TierEU.ZPM) + " EU/t"); // Handles + // up + // to + aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What + // one + // man + // calls + // God, + // another + case 10: // Reinforced Temporal Structure Casing + aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.10.desc.0")); + aList.add(GRAY + translateToLocal("gt.blockcasingsBA0.10.desc.1")); + // Designed to resist spatial shearing from internal volume expansion. + // Can survive at least one big bang, maybe two... + break; + case 11: // Reinforced Temporal Structure Casing + aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.11.desc.0")); + aList.add(GRAY + translateToLocal("gt.blockcasingsBA0.11.desc.1")); + // Resistant to temporal shearing from time dilation differences. + // This block can last an eternity without any decay. + break; + case 12: // Infinite Spacetime Energy Boundary Casing + aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.12.desc.0")); + // Provides a stable bridge between spacetime regions. break; - default: // WTF? + default: aList.add("Damn son where did you get that!?"); aList.add(EnumChatFormatting.BLUE.toString() + "From outer space... I guess..."); } diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java index 8417c848bf..c362b9aaaf 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java @@ -123,17 +123,11 @@ public class GT_Item_CasingsTT extends GT_Item_Casings_Abstract { break; case 15: // "Debug Sides" aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0")); // Lazy man way of determining sides. - aList.add(EnumChatFormatting.BLUE.toString() + translateToLocal("gt.blockcasingsTT.15.desc.1")); // 0, - // 1, - // 2, - // 3, - // 4, - // 5, - // 6?! + aList.add(EnumChatFormatting.BLUE + translateToLocal("gt.blockcasingsTT.15.desc.1")); break; default: // WTF? aList.add("Damn son where did you get that!?"); - aList.add(EnumChatFormatting.BLUE.toString() + "From outer space... I guess..."); + aList.add(EnumChatFormatting.BLUE + "From outer space... I guess..."); } } } diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Spacetime.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Spacetime.java index 1b670ee9d9..0f38f5fadf 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Spacetime.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Spacetime.java @@ -43,7 +43,7 @@ public class GT_Item_Casings_Spacetime extends GT_Item_Casings_Abstract { + GT_LanguageManager.addStringLocalization( "EOH.Spacetime.Standard.Tooltip.1", "Capable of running recipes up to tier ") - + aStack.getItemDamage()); + + (aStack.getItemDamage() + 1)); break; default: aList.add( diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java index 6bd8ee639c..3a1dd00c67 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java @@ -16,10 +16,12 @@ import java.util.*; import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; @@ -59,7 +61,10 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl implements IConstructable, IGlobalWirelessEnergy, ISurvivalConstructable { public static final boolean EOH_DEBUG_MODE = false; - private boolean disableAnimation = false; + private static final long MOLTEN_SPACETIME_PER_FAILURE_TIER = 14_400L; + private static final double SPACETIME_FAILURE_BASE = 2; + private static final String TOOLTIP_BAR = GOLD + + "------------------------------------------------------------------------------------"; // Region variables. private static Textures.BlockIcons.CustomIcon ScreenOFF; @@ -70,9 +75,11 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl private int stabilisationFieldMetadata = -1; private static final double SPACETIME_CASING_DIFFERENCE_DISCOUNT_PERCENTAGE = 0.03; + private static final double TIME_ACCEL_DECREASE_CHANCE_PER_TIER = 0.1; + // % Increase in recipe chance and % decrease in yield per tier. + private static final double STABILITY_INCREASE_PROBABILITY_DECREASE_YIELD_PER_TIER = 0.05; private String userUUID = ""; - private String userName = ""; private long euOutput = 0; @Override @@ -715,7 +722,7 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl private double hydrogenOverflowProbabilityAdjustment; private double heliumOverflowProbabilityAdjustment; - private static final long TICKS_BETWEEN_HATCH_DRAIN = EOH_DEBUG_MODE ? 20 : 200; + private static final long TICKS_BETWEEN_HATCH_DRAIN = EOH_DEBUG_MODE ? 10 : 50; private List<ItemStackLong> outputItems = new ArrayList<>(); @@ -733,8 +740,9 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl } private double recipeChanceCalculator() { - double chance = currentRecipe.getBaseRecipeSuccessChance() - timeAccelerationFieldMetadata * 0.1 - + stabilisationFieldMetadata * 0.05 + double chance = currentRecipe.getBaseRecipeSuccessChance() + - timeAccelerationFieldMetadata * TIME_ACCEL_DECREASE_CHANCE_PER_TIER + + stabilisationFieldMetadata * STABILITY_INCREASE_PROBABILITY_DECREASE_YIELD_PER_TIER - hydrogenOverflowProbabilityAdjustment - h |
