Skip to content

Commit 6694209

Browse files
authored
Merge branch 'GregTechCEu:master' into exnihilo
2 parents 81e506f + 8182590 commit 6694209

15 files changed

Lines changed: 109 additions & 81 deletions

File tree

src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,11 @@ public IFluidTankProperties[] getTankProperties() {
6969
}
7070

7171
@Override
72-
public FluidStack drain(FluidStack resource, boolean doDrain) {
73-
FluidStack drained = super.drain(resource, doDrain);
74-
this.removeTagWhenEmpty(doDrain);
75-
return drained;
76-
}
77-
78-
@Override
79-
public FluidStack drain(int maxDrain, boolean doDrain) {
80-
FluidStack drained = super.drain(maxDrain, doDrain);
81-
this.removeTagWhenEmpty(doDrain);
82-
return drained;
83-
}
84-
85-
private void removeTagWhenEmpty(boolean doDrain) {
86-
if (doDrain && this.getFluid() == null) {
87-
this.container.setTagCompound(null);
72+
protected void setContainerToEmpty() {
73+
super.setContainerToEmpty();
74+
var tag = container.getTagCompound();
75+
if (tag != null && tag.isEmpty()) {
76+
container.setTagCompound(null);
8877
}
8978
}
9079

src/main/java/gregtech/api/capability/impl/GTSimpleFluidHandlerItemStack.java

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -68,26 +68,6 @@ public IFluidTankProperties[] getTankProperties() {
6868
return properties;
6969
}
7070

71-
@Override
72-
public FluidStack drain(FluidStack resource, boolean doDrain) {
73-
FluidStack drained = super.drain(resource, doDrain);
74-
this.removeTagWhenEmpty(doDrain);
75-
return drained;
76-
}
77-
78-
@Override
79-
public FluidStack drain(int maxDrain, boolean doDrain) {
80-
FluidStack drained = super.drain(maxDrain, doDrain);
81-
this.removeTagWhenEmpty(doDrain);
82-
return drained;
83-
}
84-
85-
private void removeTagWhenEmpty(boolean doDrain) {
86-
if (doDrain && this.getFluid() == null) {
87-
this.container.setTagCompound(null);
88-
}
89-
}
90-
9171
@Override
9272
public boolean canFillFluidType(FluidStack fluid) {
9373
return canFill() && (this.filter == null || this.filter.test(fluid));
@@ -98,6 +78,15 @@ public boolean canDrainFluidType(FluidStack fluid) {
9878
return canDrain();
9979
}
10080

81+
@Override
82+
protected void setContainerToEmpty() {
83+
super.setContainerToEmpty();
84+
var tag = container.getTagCompound();
85+
if (tag != null && tag.isEmpty()) {
86+
container.setTagCompound(null);
87+
}
88+
}
89+
10190
private final class TankProperties implements IFluidTankProperties {
10291

10392
@Nullable

src/main/java/gregtech/api/cover/CoverWithUI.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
import com.cleanroommc.modularui.widgets.ToggleButton;
3434
import com.cleanroommc.modularui.widgets.layout.Flow;
3535
import org.jetbrains.annotations.ApiStatus;
36+
import org.jetbrains.annotations.NotNull;
37+
38+
import java.util.function.BooleanSupplier;
3639

3740
public interface CoverWithUI extends Cover, IUIHolder, IGuiHolder<SidedPosGuiData> {
3841

@@ -117,6 +120,18 @@ default ParentWidget<?> createSettingsRow() {
117120
return new ParentWidget<>().height(16).widthRel(1.0f).marginBottom(2);
118121
}
119122

123+
/**
124+
* Create a dynamic lang key that switches between {@code cover.generic.enabled} and {@code cover.generic.disabled}
125+
* depending on the result of the given boolean supplier. <br/>
126+
*
127+
* @param keyBase the base of the lang key to use. {@code .enabled} and {@code .disabled} will be appended.
128+
*/
129+
default IKey createEnabledKey(@NotNull String keyBase, @NotNull BooleanSupplier enabledState) {
130+
String enabled = keyBase + ".enabled";
131+
String disabled = keyBase + ".disabled";
132+
return IKey.lang(() -> enabledState.getAsBoolean() ? enabled : disabled);
133+
}
134+
120135
default int getIncrementValue(MouseData data) {
121136
int adjust = 1;
122137
if (data.shift) adjust *= 4;

src/main/java/gregtech/api/items/toolitem/ItemGTToolbelt.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,14 @@ public boolean shouldCauseReequipAnimation(@NotNull ItemStack oldStack, @NotNull
264264
return false;
265265
}
266266

267+
@Override
268+
public int getMetadata(ItemStack stack) {
269+
ItemStack selected = getHandler(stack).getSelectedStack();
270+
if (!selected.isEmpty()) {
271+
return selected.getItem().getMetadata(selected);
272+
} else return super.getMetadata(stack);
273+
}
274+
267275
@Override
268276
public boolean isDamaged(@NotNull ItemStack stack) {
269277
ItemStack selected = getHandler(stack).getSelectedStack();

src/main/java/gregtech/api/metatileentity/multiblock/MultiblockControllerBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,8 @@ private List<MultiblockShapeInfo> repetitionDFS(List<MultiblockShapeInfo> pages,
600600

601601
@SideOnly(Side.CLIENT)
602602
public String[] getDescription() {
603-
String key = String.format("gregtech.multiblock.%s.description", metaTileEntityId.getPath());
603+
String key = String.format("%s.multiblock.%s.description", metaTileEntityId.getNamespace(),
604+
metaTileEntityId.getPath());
604605
return I18n.hasKey(key) ? new String[] { I18n.format(key) } : new String[0];
605606
}
606607

src/main/java/gregtech/api/util/CapesRegistry.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ public static void registerDevCapes() {
5959
unlockCape(UUID.fromString("e6e784af-bd04-46ad-8141-47b8b9102cb9"), Textures.GREGTECH_CAPE_TEXTURE); // Tictim
6060
unlockCape(UUID.fromString("2fa297a6-7803-4629-8360-7059155cf43e"), Textures.GREGTECH_CAPE_TEXTURE); // KilaBash
6161
unlockCape(UUID.fromString("56bd41d0-06ef-4ed7-ab48-926ce45651f9"), Textures.GREGTECH_CAPE_TEXTURE); // Zalgo239
62+
unlockCape(UUID.fromString("2c69579f-a7fa-46ad-814e-9837e01215c1"), Textures.GREGTECH_CAPE_TEXTURE); // Z_orbatron
63+
unlockCape(UUID.fromString("3dbb689e-edcf-41b9-9c09-6ae4ebb6ca5b"), Textures.GREGTECH_CAPE_TEXTURE); // M_W_K
64+
65+
// GT:CEu Modern devs
66+
unlockCape(UUID.fromString("274846e6-1d07-4e59-8dea-f4f73e76f9fb"), Textures.GREGTECH_CAPE_TEXTURE); // DilithiumThoride
67+
unlockCape(UUID.fromString("c43b3c3d-7da6-4c2b-b335-703fce2ed795"), Textures.GREGTECH_CAPE_TEXTURE); // Ghostipedia
68+
unlockCape(UUID.fromString("fe4bafe8-8ea9-494a-b4e9-29397cea89fc"), Textures.GREGTECH_CAPE_TEXTURE); // Gustavo
69+
unlockCape(UUID.fromString("c18c1d7f-3174-42c6-81dc-3c7ff9f720c3"), Textures.GREGTECH_CAPE_TEXTURE); // jurrejelle
70+
unlockCape(UUID.fromString("29f1e04c-58d8-4a3b-9eff-f85be7825256"), Textures.GREGTECH_CAPE_TEXTURE); // kross000
71+
unlockCape(UUID.fromString("5cb66945-2ca4-498d-8c9a-29a676769363"), Textures.GREGTECH_CAPE_TEXTURE); // omergunr100
72+
unlockCape(UUID.fromString("f76fc8b3-ac6b-44b9-9023-76edaf3d5909"), Textures.GREGTECH_CAPE_TEXTURE); // spicierspace153
73+
unlockCape(UUID.fromString("24ab5496-0c9d-45d7-bfa6-c57760263be6"), Textures.GREGTECH_CAPE_TEXTURE); // TarLaboratories
74+
unlockCape(UUID.fromString("60057953-6a71-4f11-9e72-bb0c81fa0085"), Textures.GREGTECH_CAPE_TEXTURE); // ursamina
75+
unlockCape(UUID.fromString("3a27782d-6864-4814-a9fe-7c6931f29a8a"), Textures.GREGTECH_CAPE_TEXTURE); // YoungOnion
6276
save();
6377
}
6478

src/main/java/gregtech/common/covers/CoverFluidFilter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,9 @@ public ModularPanel buildUI(SidedPosGuiData guiData, PanelSyncManager guiSyncMan
166166
.coverChildrenHeight()
167167
.setEnabledIf(b -> getFilterMode() != FluidFilterMode.FILTER_BOTH)
168168
.child(new ToggleButton()
169-
.overlay(IKey.dynamic(() -> IKey.lang(allowFlow ?
170-
"cover.generic.enabled" :
171-
"cover.generic.disabled").get())
172-
.color(Color.WHITE.main).shadow(false))
169+
.overlay(createEnabledKey("cover.generic", () -> this.allowFlow)
170+
.color(Color.WHITE.main)
171+
.shadow(false))
173172
.tooltip(tooltip -> tooltip
174173
.addLine(IKey.lang("cover.filter.allow_flow.tooltip")))
175174
.size(72, 18)

src/main/java/gregtech/common/covers/CoverFluidVoiding.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import codechicken.lib.render.pipeline.IVertexOperation;
2525
import codechicken.lib.vec.Cuboid6;
2626
import codechicken.lib.vec.Matrix4;
27-
import com.cleanroommc.modularui.api.drawable.IKey;
2827
import com.cleanroommc.modularui.factory.GuiData;
2928
import com.cleanroommc.modularui.factory.SidedPosGuiData;
3029
import com.cleanroommc.modularui.screen.ModularPanel;
@@ -79,16 +78,14 @@ public ModularPanel buildUI(SidedPosGuiData guiData, PanelSyncManager guiSyncMan
7978

8079
@Override
8180
protected ParentWidget<?> createUI(GuiData data, PanelSyncManager syncManager) {
82-
var isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);
81+
BooleanSyncValue isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);
8382

8483
return super.createUI(data, syncManager)
8584
.child(Flow.row().height(18).widthRel(1f)
8685
.marginBottom(2)
8786
.child(new ToggleButton()
8887
.value(isWorking)
89-
.overlay(IKey.dynamic(() -> IKey.lang(this.isWorkingAllowed ?
90-
"behaviour.soft_hammer.enabled" :
91-
"behaviour.soft_hammer.disabled").get())
88+
.overlay(createEnabledKey("behaviour.soft_hammer", () -> this.isWorkingAllowed)
9289
.color(Color.WHITE.darker(1)))
9390
.widthRel(0.6f)
9491
.left(0)));

src/main/java/gregtech/common/covers/CoverItemFilter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,9 @@ public ModularPanel buildUI(SidedPosGuiData guiData, PanelSyncManager guiSyncMan
168168
.coverChildrenHeight()
169169
.setEnabledIf(b -> getFilterMode() != ItemFilterMode.FILTER_BOTH)
170170
.child(new ToggleButton()
171-
.overlay(IKey.dynamic(() -> IKey.lang(allowFlow ?
172-
"cover.generic.enabled" :
173-
"cover.generic.disabled").get())
174-
.color(Color.WHITE.main).shadow(false))
171+
.overlay(createEnabledKey("cover.generic", () -> this.allowFlow)
172+
.color(Color.WHITE.main)
173+
.shadow(false))
175174
.tooltip(tooltip -> tooltip
176175
.addLine(IKey.lang("cover.filter.allow_flow.tooltip")))
177176
.size(72, 18)

src/main/java/gregtech/common/covers/CoverItemVoiding.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import codechicken.lib.render.pipeline.IVertexOperation;
2222
import codechicken.lib.vec.Cuboid6;
2323
import codechicken.lib.vec.Matrix4;
24-
import com.cleanroommc.modularui.api.drawable.IKey;
2524
import com.cleanroommc.modularui.factory.GuiData;
2625
import com.cleanroommc.modularui.factory.SidedPosGuiData;
2726
import com.cleanroommc.modularui.screen.ModularPanel;
@@ -80,16 +79,14 @@ public ModularPanel buildUI(SidedPosGuiData guiData, PanelSyncManager guiSyncMan
8079

8180
@Override
8281
protected ParentWidget<Flow> createUI(GuiData data, PanelSyncManager guiSyncManager) {
83-
var isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);
82+
BooleanSyncValue isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);
8483

8584
return super.createUI(data, guiSyncManager)
8685
.child(Flow.row().height(18).widthRel(1f)
8786
.marginBottom(2)
8887
.child(new ToggleButton()
8988
.value(isWorking)
90-
.overlay(IKey.dynamic(() -> IKey.lang(this.isWorkingAllowed ?
91-
"behaviour.soft_hammer.enabled" :
92-
"behaviour.soft_hammer.disabled").get())
89+
.overlay(createEnabledKey("behaviour.soft_hammer", () -> this.isWorkingAllowed)
9390
.color(Color.WHITE.darker(1)))
9491
.widthRel(0.6f)
9592
.left(0)));

0 commit comments

Comments
 (0)