diff options
author | miozune <miozune@gmail.com> | 2023-08-17 13:38:26 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 06:38:26 +0200 |
commit | 7d64f80c790d262b10eddae72042b09c4816d327 (patch) | |
tree | 15da9511f80db1acbe0bfe623221cb5013fba79e /src/main/java/gregtech/api | |
parent | 740233c43667a9b27e25033cac4833db826007f2 (diff) | |
download | GT5-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.java | 55 |
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(); + } + } } |