aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorConnor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>2023-02-27 17:25:39 +0000
committerGitHub <noreply@github.com>2023-02-27 17:25:39 +0000
commit70a3539bb9e1b1fbe7cee43ad97a4f24d49ee2ab (patch)
treed2eaeb7c491a615eedf12a489bff11689ff01c1d /src/main/java
parentec2938ad647f76b8be8389364792d29b6aad0f7e (diff)
parent8f3b0129b9c2cdba2cd92c97b012987ecd476169 (diff)
downloadGT5-Unofficial-70a3539bb9e1b1fbe7cee43ad97a4f24d49ee2ab.tar.gz
GT5-Unofficial-70a3539bb9e1b1fbe7cee43ad97a4f24d49ee2ab.tar.bz2
GT5-Unofficial-70a3539bb9e1b1fbe7cee43ad97a4f24d49ee2ab.zip
Merge pull request #161 from GTNewHorizons/EOHImprovementsAndFixes
EOH improvements and fixes
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java52
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipe.java117
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java15
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/EyeOfHarmonyBlock.java26
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java75
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Spacetime.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java135
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;