fix fluid change sync problem

This commit is contained in:
GlodBlock committed 2022-05-17 19:10:45 +08:00
1 parent 5054565fca
commit de89555092
1 file changed
+13 -4
@@ -5,10 +5,7 @@ import appeng.api.config.Actionable;
import appeng.api.networking.GridFlags;
import appeng.api.networking.crafting.ICraftingGrid;
import appeng.api.networking.energy.IEnergyGrid;
import appeng.api.networking.events.MENetworkCellArrayUpdate;
import appeng.api.networking.events.MENetworkChannelsChanged;
import appeng.api.networking.events.MENetworkEventSubscribe;
import appeng.api.networking.events.MENetworkPowerStatusChange;
import appeng.api.networking.events.*;
import appeng.api.networking.security.IActionSource;
import appeng.api.networking.storage.IBaseMonitor;
import appeng.api.networking.storage.IStorageGrid;
@@ -91,6 +88,11 @@ public class TileFluidDiscretizer extends AENetworkTile implements ICellContaine
updateState();
}
@MENetworkEventSubscribe
public void onStorageUpdate(MENetworkStorageEvent event) {
updateState();
}
private void updateState() {
boolean isActive = getProxy().isActive();
if (isActive != prevActiveState) {
@@ -207,8 +209,15 @@ public class TileFluidDiscretizer extends AENetworkTile implements ICellContaine
try {
List<IAEItemStack> mappedChanges = new ArrayList<>();
for (IAEFluidStack fluidStack : change) {
boolean isNg = false;
System.out.print(fluidStack + "\n");
if (fluidStack.getStackSize() < 0) {
isNg = true;
fluidStack.setStackSize( - fluidStack.getStackSize());
}
IAEItemStack itemStack = ItemFluidDrop.newAeStack(fluidStack);
if (itemStack != null) {
if (isNg) itemStack.setStackSize( - itemStack.getStackSize());
mappedChanges.add(itemStack);
}
}