aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-08-17 13:38:26 +0900
committerGitHub <noreply@github.com>2023-08-17 06:38:26 +0200
commit7d64f80c790d262b10eddae72042b09c4816d327 (patch)
tree15da9511f80db1acbe0bfe623221cb5013fba79e /src/main/java/gregtech/api
parent740233c43667a9b27e25033cac4833db826007f2 (diff)
downloadGT5-Unofficial-7d64f80c790d262b10eddae72042b09c4816d327.tar.gz
GT5-Unofficial-7d64f80c790d262b10eddae72042b09c4816d327.tar.bz2
GT5-Unofficial-7d64f80c790d262b10eddae72042b09c4816d327.zip
Fix server crash with RecipeFilter (#2231)
* Fix server crash with RecipeFilter * Make client send filtered machines to server * Use mUniqueIdentifier
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SpecialFilter.java55
1 files changed, 30 insertions, 25 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SpecialFilter.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SpecialFilter.java
index cb293e51a9..1a71f17ec8 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SpecialFilter.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SpecialFilter.java
@@ -40,8 +40,6 @@ public abstract class GT_MetaTileEntity_SpecialFilter extends GT_MetaTileEntity_
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
- public abstract void clickTypeIcon(boolean aRightClick, ItemStack aHandStack);
-
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
@@ -88,29 +86,10 @@ public abstract class GT_MetaTileEntity_SpecialFilter extends GT_MetaTileEntity_
new DrawableWidget().setDrawable(GT_UITextures.PICTURE_ARROW_24_RED.apply(19, true))
.setPos(152, 19)
.setSize(19, 24))
- .widget(new SlotWidget(BaseSlot.phantom(inventoryHandler, 9)) {
-
- @Override
- protected void phantomClick(ClickData clickData, ItemStack cursorStack) {
- clickTypeIcon(clickData.mouseButton != 0, cursorStack);
- }
-
- @Override
- public void buildTooltip(List<Text> tooltip) {
- super.buildTooltip(tooltip);
- List<Text> emptySlotTooltip = getEmptySlotTooltip();
- if (emptySlotTooltip != null) {
- tooltip.addAll(emptySlotTooltip);
- }
- }
-
- @Override
- public Function<List<String>, List<String>> getOverwriteItemStackTooltip() {
- return getItemStackReplacementTooltip();
- }
- }.disableShiftInsert()
- .setPos(34, 22)
- .setBackground(GT_UITextures.BUTTON_STANDARD))
+ .widget(
+ createFilterIconSlot(BaseSlot.phantom(inventoryHandler, 9)).disableShiftInsert()
+ .setPos(34, 22)
+ .setBackground(GT_UITextures.BUTTON_STANDARD))
.widget(
SlotGroup.ofItemHandler(inventoryHandler, 3)
.endAtSlot(8)
@@ -126,4 +105,30 @@ public abstract class GT_MetaTileEntity_SpecialFilter extends GT_MetaTileEntity_
GT_UITextures.OVERLAY_BUTTON_NBT,
() -> mTooltipCache.getData(ALLOW_NBT_TOOLTIP)));
}
+
+ protected abstract SlotWidget createFilterIconSlot(BaseSlot slot);
+
+ protected abstract class FilterIconSlotWidget extends SlotWidget {
+
+ public FilterIconSlotWidget(BaseSlot slot) {
+ super(slot);
+ }
+
+ @Override
+ protected abstract void phantomClick(ClickData clickData, ItemStack cursorStack);
+
+ @Override
+ public void buildTooltip(List<Text> tooltip) {
+ super.buildTooltip(tooltip);
+ List<Text> emptySlotTooltip = getEmptySlotTooltip();
+ if (emptySlotTooltip != null) {
+ tooltip.addAll(emptySlotTooltip);
+ }
+ }
+
+ @Override
+ public Function<List<String>, List<String>> getOverwriteItemStackTooltip() {
+ return getItemStackReplacementTooltip();
+ }
+ }
}