aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2022-09-08 19:05:41 +0800
committerGitHub <noreply@github.com>2022-09-08 13:05:41 +0200
commit3fb1eb961b190cb2c6a89e269f98d92855ae915d (patch)
tree2925bf8f5bc8d3d166250c67b6bb2170d862afbf /src/main
parentd0ecbfa6e361b354ef7074ba8194510fc257c352 (diff)
downloadGT5-Unofficial-3fb1eb961b190cb2c6a89e269f98d92855ae915d.tar.gz
GT5-Unofficial-3fb1eb961b190cb2c6a89e269f98d92855ae915d.tar.bz2
GT5-Unofficial-3fb1eb961b190cb2c6a89e269f98d92855ae915d.zip
fix GT_Packet_SetLockedFluid not setting lock mode (#1356)
* fix GT_Packet_SetLockedFluid not setting lock mode also fixed drag and drop from NEI handler got called when drag and drop from main inventory * fix lockFluid overwriting mMode == 8 * add markDirty() call
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java11
-rw-r--r--src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java1
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_OutputHatch.java3
3 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
index 55ca9f9605..4d281f72b5 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
@@ -377,11 +377,20 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch impl
@Override
public void setLockedFluidName(String lockedFluidName) {
this.lockedFluidName = lockedFluidName;
+ markDirty();
}
@Override
public void lockFluid(boolean lock) {
- this.mMode = (byte) (lock ? 9 : 0);
+ if (lock) {
+ if (!isFluidLocked()) {
+ this.mMode = 9;
+ markDirty();
+ }
+ } else {
+ this.mMode = 0;
+ markDirty();
+ }
}
@Override
diff --git a/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java b/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java
index d3f6d9ae4d..9342248a7a 100644
--- a/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java
+++ b/src/main/java/gregtech/api/net/GT_Packet_SetLockedFluid.java
@@ -83,6 +83,7 @@ public class GT_Packet_SetLockedFluid extends GT_Packet_New {
IFluidLockable mteToLock = (IFluidLockable) mte;
if (!mteToLock.allowChangingLockedFluid(tFluid.getName())) return;
+ mteToLock.lockFluid(true);
mteToLock.setLockedFluidName(tFluid.getName());
GT_Utility.sendChatToPlayer(
mPlayer,
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_OutputHatch.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_OutputHatch.java
index 7e27a7409a..ab00d16291 100644
--- a/src/main/java/gregtech/common/gui/GT_GUIContainer_OutputHatch.java
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_OutputHatch.java
@@ -58,7 +58,8 @@ public class GT_GUIContainer_OutputHatch extends GT_GUIContainerMetaTile_Machine
@Override
public boolean handleDragAndDropGT(
GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button, boolean isGhost) {
- if (gui instanceof GT_GUIContainer_OutputHatch
+ if (isGhost
+ && gui instanceof GT_GUIContainer_OutputHatch
&& ((GT_GUIContainer_OutputHatch) gui).isMouseOverSlot(3, mousex, mousey)) {
// the instanceof check should be unnecessary, but we will do it regardless, just in case.
FluidStack tFluidStack = GT_Utility.getFluidFromContainerOrFluidDisplay(draggedStack);