aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java19
-rw-r--r--src/main/java/kubatech/loaders/MobRecipeLoader.java2
-rw-r--r--src/main/java/kubatech/mixin/MixinPlugin.java2
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java4
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java29
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java21
6 files changed, 43 insertions, 34 deletions
diff --git a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
index 732dbba88a..43ce98009d 100644
--- a/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
+++ b/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java
@@ -9,6 +9,7 @@ import java.util.function.Function;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.fluids.FluidStack;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
@@ -22,6 +23,7 @@ import com.gtnewhorizons.modularui.common.builder.UIInfo;
import com.gtnewhorizons.modularui.common.internal.wrapper.ModularGui;
import com.gtnewhorizons.modularui.common.internal.wrapper.ModularUIContainer;
+import gregtech.api.enums.GT_Values;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
@@ -30,6 +32,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPow
public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T>>
extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T> {
+ @Deprecated
+ public final int mEUt = 0;
+
@SuppressWarnings("unchecked")
protected static <K extends KubaTechGTMultiBlockBase<?>> UIInfo<?, ?> createKTMetaTileEntityUI(
KTContainerConstructor<K> containerConstructor) {
@@ -160,6 +165,14 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
return calculateOverclock(aEUt, aDuration, true);
}
+ public int getVoltageTier() {
+ return (int) getVoltageTierExact();
+ }
+
+ public double getVoltageTierExact() {
+ return Math.log((double) getMaxInputEu() / 8d) / ln4 + 1e-8d;
+ }
+
@Override
public boolean isCorrectMachinePart(ItemStack aStack) {
return true;
@@ -180,7 +193,11 @@ public abstract class KubaTechGTMultiBlockBase<T extends GT_MetaTileEntity_Exten
return false;
}
- // ModularUI stuff
+ // UI stuff
+
+ protected static String voltageTooltipFormatted(int tier) {
+ return GT_Values.TIER_COLORS[tier] + GT_Values.VN[tier] + EnumChatFormatting.GRAY;
+ }
protected final Function<Widget, Boolean> isFixed = widget -> getIdealStatus() == getRepairStatus() && mMachine;
protected static final Function<Integer, IDrawable[]> toggleButtonBackgroundGetter = val -> {
diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java
index bfa94eb632..dde418aaac 100644
--- a/src/main/java/kubatech/loaders/MobRecipeLoader.java
+++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java
@@ -273,7 +273,7 @@ public class MobRecipeLoader {
EnchantmentHelper
.addRandomEnchantment(rnd, infernalstack, infernalstack.getItem().getItemEnchantability());
stacks.add(infernalstack);
- MTE.mEUt *= 8L;
+ MTE.lEUt *= 8L;
MTE.mMaxProgresstime *= mods * InfernalMobsCore.instance().getMobModHealthFactor();
}
}
diff --git a/src/main/java/kubatech/mixin/MixinPlugin.java b/src/main/java/kubatech/mixin/MixinPlugin.java
index 31f1a67a9e..8d89f16a40 100644
--- a/src/main/java/kubatech/mixin/MixinPlugin.java
+++ b/src/main/java/kubatech/mixin/MixinPlugin.java
@@ -20,9 +20,9 @@ import net.minecraft.launchwrapper.Launch;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.spongepowered.asm.lib.tree.ClassNode;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
-import org.spongepowered.libraries.org.objectweb.asm.tree.ClassNode;
import com.gtnewhorizon.gtnhmixins.MinecraftURLClassPath;
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
index f7e2fee904..a35c275bcd 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java
@@ -449,13 +449,13 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber
return false;
if (isInRitualMode && isRitualValid()) {
- if (getMaxInputVoltage() < recipe.mEUt / 4) return false;
+ if (getMaxInputEu() < recipe.mEUt / 4) return false;
this.mOutputFluids = new FluidStack[] { FluidRegistry.getFluidStack("xpjuice", 5000) };
this.mOutputItems = recipe.generateOutputs(rand, this, 3, 0, mIsProducingInfernalDrops);
this.lEUt /= 4L;
this.mMaxProgresstime = 400;
} else {
- if (getMaxInputVoltage() < recipe.mEUt) return false;
+ if (getMaxInputEu() < recipe.mEUt) return false;
double attackDamage = DIAMOND_SPIKES_DAMAGE; // damage from spikes
GT_MetaTileEntity_Hatch_InputBus inputbus = this.mInputBusses.size() == 0 ? null : this.mInputBusses.get(0);
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
index e8ddcb29b9..372fe819e2 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java
@@ -227,10 +227,6 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && f.isNotFlipped();
}
- private static String tierString(int tier) {
- return GT_Values.TIER_COLORS[tier] + GT_Values.VN[tier] + EnumChatFormatting.RESET + EnumChatFormatting.GRAY;
- }
-
@Override
protected GT_Multiblock_Tooltip_Builder createTooltip() {
GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
@@ -248,18 +244,21 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
.addInfo("[IC2] You need to also input block that is required under the crop")
.addInfo("Output mode: machine will take planted seeds and output them")
.addInfo("-------------------- NORMAL CROPS --------------------")
- .addInfo("Minimal tier: " + tierString(4)).addInfo("Starting with 1 slot")
+ .addInfo("Minimal tier: " + voltageTooltipFormatted(4)).addInfo("Starting with 1 slot")
.addInfo("Every slot gives 64 crops")
- .addInfo("Every tier past " + tierString(4) + ", slots are multiplied by 2")
+ .addInfo("Every tier past " + voltageTooltipFormatted(4) + ", slots are multiplied by 2")
.addInfo("Base process time: 5 sec")
- .addInfo("Process time is divided by number of tiers past " + tierString(3) + " (Minimum 1 sec)")
+ .addInfo(
+ "Process time is divided by number of tiers past " + voltageTooltipFormatted(3)
+ + " (Minimum 1 sec)")
.addInfo("All crops are grown at the end of the operation")
.addInfo("Will automatically craft seeds if they are not dropped")
.addInfo("1 Fertilizer per 1 crop +200%")
.addInfo("-------------------- IC2 CROPS --------------------")
- .addInfo("Minimal tier: " + tierString(6)).addInfo("Need " + tierString(6) + " glass tier")
- .addInfo("Starting with 4 slots").addInfo("Every slot gives 1 crop")
- .addInfo("Every tier past " + tierString(6) + ", slots are multiplied by 4")
+ .addInfo("Minimal tier: " + voltageTooltipFormatted(6))
+ .addInfo("Need " + voltageTooltipFormatted(6) + " glass tier").addInfo("Starting with 4 slots")
+ .addInfo("Every slot gives 1 crop")
+ .addInfo("Every tier past " + voltageTooltipFormatted(6) + ", slots are multiplied by 4")
.addInfo("Process time: 5 sec").addInfo("All crops are accelerated by x32 times")
.addInfo("1 Fertilizer per 1 crop +10%").addInfo(StructureHologram).addSeparator()
.beginStructureBlock(5, 6, 5, false).addController("Front bottom center")
@@ -336,8 +335,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
}
private void updateMaxSlots() {
- long v = this.getMaxInputVoltage();
- int tier = GT_Utility.getTier(v);
+ int tier = getVoltageTier();
if (tier < (isIC2Mode ? 6 : 4)) mMaxSlots = 0;
else if (isIC2Mode) mMaxSlots = 4 << (2 * (tier - 6));
else mMaxSlots = 1 << (tier - 4);
@@ -345,8 +343,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
@Override
public boolean checkRecipe(ItemStack itemStack) {
- long v = this.getMaxInputVoltage();
- int tier = GT_Utility.getTier(v);
+ int tier = getVoltageTier();
updateMaxSlots();
if (oldVersion != EIG_MATH_VERSION) {
@@ -385,7 +382,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
this.updateSlots();
this.mMaxProgresstime = 5;
- this.mEUt = 0;
+ this.lEUt = 0;
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
return true;
@@ -478,7 +475,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
}
this.mOutputItems = outputs.toArray(new ItemStack[0]);
}
- this.mEUt = -(int) ((double) GT_Values.V[tier] * 0.99d);
+ this.lEUt = -(int) ((double) GT_Values.V[tier] * 0.99d);
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
this.updateSlots();
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
index c91efacb4c..a17af113c0 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java
@@ -26,7 +26,6 @@ import java.util.stream.IntStream;
import kubatech.Tags;
import kubatech.api.LoaderReference;
-import kubatech.api.helpers.GTHelper;
import kubatech.api.implementations.KubaTechGTMultiBlockBase;
import kubatech.client.effect.MegaApiaryBeesRenderer;
@@ -227,10 +226,6 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
return (d, r, f) -> d.offsetY == 0 && r.isNotRotated();
}
- private String voltageFormatted(int v) {
- return GT_Values.TIER_COLORS[v] + GT_Values.VN[v] + EnumChatFormatting.GRAY;
- }
-
@Override
protected GT_Multiblock_Tooltip_Builder createTooltip() {
GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
@@ -244,9 +239,9 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
.addInfo("-------------------- OUTPUT MODE ---------------------").addInfo("- Does not take power")
.addInfo("- Will give your bees back to output bus")
.addInfo("------------------- OPERATING MODE -------------------").addInfo("- NORMAL:")
- .addInfo(" - For each " + voltageFormatted(6) + " amp you can insert 1 bee")
+ .addInfo(" - For each " + voltageTooltipFormatted(6) + " amp you can insert 1 bee")
.addInfo(" - Processing time: 5 seconds")
- .addInfo(" - Uses 1 " + voltageFormatted(6) + " amp per queen")
+ .addInfo(" - Uses 1 " + voltageTooltipFormatted(6) + " amp per queen")
.addInfo(" - All bees are accelerated 64 times").addInfo(" - 8 production upgrades are applied")
.addInfo(" - Genetic Stabilizer upgrade applied")
.addInfo(" - Simulates perfect environment for your bees")
@@ -257,7 +252,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
.addInfo("- SWARMER:").addInfo(" - You can only insert 1 queen")
.addInfo(" - It will slowly produce ignoble princesses")
.addInfo(" - Consumes 100 royal jelly per operation").addInfo(" - Base processing time: 1 minute")
- .addInfo(" - Uses 1 amp " + voltageFormatted(5)).addInfo(" - Can overclock")
+ .addInfo(" - Uses 1 amp " + voltageTooltipFormatted(5)).addInfo(" - Can overclock")
.addInfo(StructureHologram).addSeparator().beginStructureBlock(15, 17, 15, false)
.addController("Front Bottom Center").addCasingInfoMin("Bronze Plated Bricks", 190, false)
.addOtherStructurePart("Borosilicate Glass", "Look at the hologram")
@@ -374,7 +369,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
if (mPrimaryMode < 2) {
if (mPrimaryMode == 0 && mStorage.size() < mMaxSlots) {
World w = getBaseMetaTileEntity().getWorld();
- float t = (float) GTHelper.getVoltageTierD(this);
+ float t = (float) getVoltageTierExact();
ArrayList<ItemStack> inputs = getStoredInputs();
for (ItemStack input : inputs) {
if (beeRoot.getType(input) == EnumBeeType.QUEEN) {
@@ -405,7 +400,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
if (megaApiaryStorageVersion != MEGA_APIARY_STORAGE_VERSION) {
megaApiaryStorageVersion = MEGA_APIARY_STORAGE_VERSION;
World w = getBaseMetaTileEntity().getWorld();
- float t = (float) GTHelper.getVoltageTierD(this);
+ float t = (float) getVoltageTierExact();
mStorage.forEach(s -> s.generate(w, t));
}
@@ -414,7 +409,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
if (flowersError) return false;
if (needsTVarUpdate) {
- float t = (float) GTHelper.getVoltageTierD(this);
+ float t = (float) getVoltageTierExact();
needsTVarUpdate = false;
mStorage.forEach(s -> s.updateTVar(t));
}
@@ -603,7 +598,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
return super.transferStackInSlot(aPlayer, aSlotIndex);
}
World w = mte.getBaseMetaTileEntity().getWorld();
- float t = (float) GTHelper.getVoltageTierD(mte);
+ float t = (float) mte.getVoltageTierExact();
BeeSimulator bs = new BeeSimulator(aStack, w, t);
if (bs.isValid) {
mte.mStorage.add(bs);
@@ -727,7 +722,7 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
}
if (beeRoot.getType(input) == EnumBeeType.QUEEN) {
World w = getBaseMetaTileEntity().getWorld();
- float t = (float) GTHelper.getVoltageTierD(this);
+ float t = (float) getVoltageTierExact();
BeeSimulator bs = new BeeSimulator(input, w, t);
if (bs.isValid) {
if (mStorage.size() > ID) {