aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/tileentity/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/tileentity/gregtech')
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java36
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java10
-rw-r--r--src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java10
3 files changed, 44 insertions, 12 deletions
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java
index d02a07c2a4..f9d89116c0 100644
--- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java
+++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java
@@ -86,7 +86,7 @@ import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
import com.gtnewhorizons.modularui.api.math.Color;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget;
-import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
+import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import com.kuba6000.mobsinfo.api.utils.FastRandom;
import com.mojang.authlib.GameProfile;
@@ -206,6 +206,7 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
private byte mGlassTier = 0;
private boolean mAnimationEnabled = true;
private boolean mIsProducingInfernalDrops = true;
+ private boolean voidAllDamagedAndEnchantedItems = false;
private EntityRenderer entityRenderer = null;
private boolean renderEntity = false;
@@ -218,6 +219,7 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
aNBT.setBoolean("mAnimationEnabled", mAnimationEnabled);
aNBT.setByte("mGlassTier", mGlassTier);
aNBT.setBoolean("mIsProducingInfernalDrops", mIsProducingInfernalDrops);
+ aNBT.setBoolean("voidAllDamagedAndEnchantedItems", voidAllDamagedAndEnchantedItems);
if (weaponCache.getStackInSlot(0) != null) aNBT.setTag(
"weaponCache",
weaponCache.getStackInSlot(0)
@@ -232,6 +234,7 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
mGlassTier = aNBT.getByte("mGlassTier");
mIsProducingInfernalDrops = !aNBT.hasKey("mIsProducingInfernalDrops")
|| aNBT.getBoolean("mIsProducingInfernalDrops");
+ voidAllDamagedAndEnchantedItems = aNBT.getBoolean("voidAllDamagedAndEnchantedItems");
if (aNBT.hasKey("weaponCache"))
weaponCache.setStackInSlot(0, ItemStack.loadItemStackFromNBT(aNBT.getCompoundTag("weaponCache")));
}
@@ -543,7 +546,8 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
if (isInRitualMode && isRitualValid()) {
if (getMaxInputEu() < recipe.mEUt / 4) return CheckRecipeResultRegistry.insufficientPower(recipe.mEUt / 4);
this.mOutputFluids = new FluidStack[] { FluidRegistry.getFluidStack("xpjuice", 5000) };
- this.mOutputItems = recipe.generateOutputs(rand, this, 3, 0, mIsProducingInfernalDrops);
+ this.mOutputItems = recipe
+ .generateOutputs(rand, this, 3, 0, mIsProducingInfernalDrops, voidAllDamagedAndEnchantedItems);
this.lEUt /= 4L;
this.mMaxProgresstime = 400;
} else {
@@ -575,7 +579,8 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
this,
attackDamage,
weaponCache.isValid ? weaponCache.looting : 0,
- mIsProducingInfernalDrops);
+ mIsProducingInfernalDrops,
+ voidAllDamagedAndEnchantedItems);
EECPlayer.currentWeapon = null;
@@ -666,6 +671,9 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
info.add(
"Is allowed to produce infernal drops: " + EnumChatFormatting.YELLOW
+ (mIsProducingInfernalDrops ? "Yes" : "No"));
+ info.add(
+ "Void all damaged and enchanted items: " + EnumChatFormatting.YELLOW
+ + (voidAllDamagedAndEnchantedItems ? "Yes" : "No"));
info.add("Is in ritual mode: " + EnumChatFormatting.YELLOW + (isInRitualMode ? "Yes" : "No"));
if (isInRitualMode) info.add(
"Is connected to ritual: "
@@ -684,7 +692,7 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
}
@Override
- protected void addConfigurationWidgets(DynamicPositionedColumn configurationElements, UIBuildContext buildContext) {
+ protected void addConfigurationWidgets(DynamicPositionedRow configurationElements, UIBuildContext buildContext) {
configurationElements.setSynced(true);
configurationElements.widget(new CycleButtonWidget().setToggle(() -> isInRitualMode, v -> {
if (this.mMaxProgresstime > 0) {
@@ -728,6 +736,26 @@ public class GT_MetaTileEntity_ExtremeEntityCrusher
.addTooltip("Is allowed to spawn infernal mobs")
.addTooltip(new Text("Does not affect mobs that are always infernal !").color(Color.GRAY.normal))
.setTooltipShowUpDelay(TOOLTIP_DELAY));
+ configurationElements.widget(new CycleButtonWidget().setToggle(() -> voidAllDamagedAndEnchantedItems, v -> {
+ if (this.mMaxProgresstime > 0) {
+ GT_Utility.sendChatToPlayer(buildContext.getPlayer(), "Can't change mode when running !");
+ return;
+ }
+
+ voidAllDamagedAndEnchantedItems = v;
+
+ if (!(buildContext.getPlayer() instanceof EntityPlayerMP)) return;
+ if (!voidAllDamagedAndEnchantedItems) GT_Utility.sendChatToPlayer(buildContext.getPlayer(), "Void nothing");
+ else GT_Utility.sendChatToPlayer(buildContext.getPlayer(), "Void all damaged and enchanted items");
+ })
+ .setTextureGetter(toggleButtonTextureGetter)
+ .setVariableBackgroundGetter(toggleButtonBackgroundGetter)
+ .setSize(16, 16)
+ .addTooltip("Void all damaged and enchanted items")
+ .addTooltip(
+ new Text("Does not affect infernal drops and some special drops like Sticky Sword!")
+ .color(Color.GRAY.normal))
+ .setTooltipShowUpDelay(TOOLTIP_DELAY));
}
@Override
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 798beb07d0..6a7ff29c63 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
@@ -94,6 +94,7 @@ import com.gtnewhorizons.modularui.common.widget.Column;
import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
+import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -609,7 +610,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
}
@Override
- protected void addConfigurationWidgets(DynamicPositionedColumn configurationElements, UIBuildContext buildContext) {
+ protected void addConfigurationWidgets(DynamicPositionedRow configurationElements, UIBuildContext buildContext) {
buildContext.addSyncedWindow(CONFIGURATION_WINDOW_ID, this::createConfigurationWindow);
configurationElements.setSynced(false);
configurationElements.widget(
@@ -694,12 +695,13 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse
.widget(createBatchModeButton(builder))
.widget(createLockToSingleRecipeButton(builder));
- DynamicPositionedColumn configurationElements = new DynamicPositionedColumn();
+ DynamicPositionedRow configurationElements = new DynamicPositionedRow();
addConfigurationWidgets(configurationElements, buildContext);
builder.widget(
- configurationElements.setAlignment(MainAxisAlignment.END)
- .setPos(getPowerSwitchButtonPos().subtract(0, 18)));
+ configurationElements.setSpace(2)
+ .setAlignment(MainAxisAlignment.SPACE_BETWEEN)
+ .setPos(getRecipeLockingButtonPos().add(18, 0)));
}
protected ModularWindow createConfigurationWindow(final EntityPlayer player) {
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 57fac5b552..8bca984978 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
@@ -89,6 +89,7 @@ import com.gtnewhorizons.modularui.common.widget.Column;
import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
+import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -760,16 +761,17 @@ public class GT_MetaTileEntity_MegaIndustrialApiary
.widget(createBatchModeButton(builder))
.widget(createLockToSingleRecipeButton(builder));
- DynamicPositionedColumn configurationElements = new DynamicPositionedColumn();
+ DynamicPositionedRow configurationElements = new DynamicPositionedRow();
addConfigurationWidgets(configurationElements, buildContext);
builder.widget(
- configurationElements.setAlignment(MainAxisAlignment.END)
- .setPos(getPowerSwitchButtonPos().subtract(0, 18)));
+ configurationElements.setSpace(2)
+ .setAlignment(MainAxisAlignment.SPACE_BETWEEN)
+ .setPos(getRecipeLockingButtonPos().add(18, 0)));
}
@Override
- protected void addConfigurationWidgets(DynamicPositionedColumn configurationElements, UIBuildContext buildContext) {
+ protected void addConfigurationWidgets(DynamicPositionedRow configurationElements, UIBuildContext buildContext) {
buildContext.addSyncedWindow(CONFIGURATION_WINDOW_ID, this::createConfigurationWindow);
configurationElements.setSynced(false);
configurationElements.widget(