Send correct size
This commit is contained in:
@@ -51,7 +51,7 @@ public class FluidStackList implements IFluidStackList {
|
|||||||
@Override
|
@Override
|
||||||
public boolean trackedRemove(@Nonnull FluidStack stack, int size, boolean removeIfReachedZero) {
|
public boolean trackedRemove(@Nonnull FluidStack stack, int size, boolean removeIfReachedZero) {
|
||||||
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
||||||
if (otherStack.amount > 0 && stack.isFluidEqual(otherStack)) {
|
if (stack.isFluidEqual(otherStack)) {
|
||||||
FluidStack removed = new FluidStack(otherStack.getFluid(), Math.min(size, otherStack.amount));
|
FluidStack removed = new FluidStack(otherStack.getFluid(), Math.min(size, otherStack.amount));
|
||||||
this.removeTracker.add(removed);
|
this.removeTracker.add(removed);
|
||||||
otherStack.amount -= size;
|
otherStack.amount -= size;
|
||||||
|
|||||||
@@ -30,14 +30,24 @@ public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageG
|
|||||||
public void fromBytes(ByteBuf buf) {
|
public void fromBytes(ByteBuf buf) {
|
||||||
int items = buf.readInt();
|
int items = buf.readInt();
|
||||||
|
|
||||||
for (int i = 0; i < items + 1; ++i) {
|
for (int i = 0; i < items; ++i) {
|
||||||
this.stacks.add(new ClientStackItem(buf));
|
this.stacks.add(new ClientStackItem(buf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void toBytes(ByteBuf buf) {
|
public void toBytes(ByteBuf buf) {
|
||||||
buf.writeInt(network.getItemStorageCache().getList().getStacks().size());
|
int size = network.getItemStorageCache().getList().getStacks().size();
|
||||||
|
|
||||||
|
for (ICraftingPattern pattern : network.getPatterns()) {
|
||||||
|
for (ItemStack output : pattern.getOutputs()) {
|
||||||
|
if (output != null) {
|
||||||
|
size++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buf.writeInt(size);
|
||||||
|
|
||||||
for (ItemStack stack : network.getItemStorageCache().getList().getStacks()) {
|
for (ItemStack stack : network.getItemStorageCache().getList().getStacks()) {
|
||||||
RSUtils.writeItemStack(buf, network, stack, false);
|
RSUtils.writeItemStack(buf, network, stack, false);
|
||||||
|
|||||||
Reference in New Issue
Block a user