Skip to content

Commit 4805134

Browse files
committed
fix stack syncing
cleanup
1 parent 91c440f commit 4805134

File tree

3 files changed

+11
-35
lines changed

3 files changed

+11
-35
lines changed

src/main/java/gregtech/common/metatileentities/storage/CachedRecipeData.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package gregtech.common.metatileentities.storage;
22

33
import net.minecraft.inventory.InventoryCrafting;
4-
import net.minecraft.item.ItemStack;
54
import net.minecraft.item.crafting.IRecipe;
65
import net.minecraft.world.World;
76

@@ -39,8 +38,4 @@ public IRecipe getRecipe() {
3938
public IRecipe getPreviousRecipe() {
4039
return previousRecipe;
4140
}
42-
43-
public ItemStack getRecipeOutput() {
44-
return recipe == null ? ItemStack.EMPTY : recipe.getRecipeOutput();
45-
}
4641
}

src/main/java/gregtech/common/mui/widget/workbench/CraftingInputSlot.java

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public void drawForeground(ModularGuiContext context) {
119119

120120
@Override
121121
public void setGhostIngredient(@NotNull ItemStack ingredient) {
122-
syncHandler.setStack(ingredient);
122+
syncHandler.setStack(ingredient, true);
123123
}
124124

125125
@Override
@@ -141,7 +141,7 @@ public int getIndex() {
141141
}
142142

143143
public void setStack(ItemStack stack) {
144-
this.syncHandler.setStack(stack);
144+
this.syncHandler.setStack(stack, true);
145145
}
146146

147147
protected static class InputSyncHandler extends SyncHandler {
@@ -168,22 +168,16 @@ public void init(String key, PanelSyncManager syncHandler) {
168168
@Override
169169
public void readOnClient(int id, PacketBuffer buf) {
170170
if (id == SLOT_CHANGED) {
171-
boolean onlyAmt = buf.readBoolean();
172171
var stack = NetworkUtils.readItemStack(buf);
173-
boolean init = buf.readBoolean();
174-
175-
this.handler.setStackInSlot(this.index, stack);
176-
this.listener.onChange(stack, onlyAmt, true, init);
172+
setStack(stack, false);
177173
}
178174
}
179175

180176
@Override
181177
public void readOnServer(int id, PacketBuffer buf) {
182178
if (id == SLOT_CHANGED) {
183-
var onlyAmt = buf.readBoolean();
184179
var stack = NetworkUtils.readItemStack(buf);
185-
this.handler.setStackInSlot(this.index, stack);
186-
this.listener.onChange(stack, onlyAmt, false, false);
180+
this.setStack(stack, false);
187181
}
188182
}
189183

@@ -201,25 +195,13 @@ public void detectAndSendChanges(boolean init) {
201195
} else {
202196
this.lastStoredItem = itemStack.isEmpty() ? ItemStack.EMPTY : itemStack.copy();
203197
}
204-
final boolean finalOnlyAmountChanged = onlyAmountChanged;
205-
syncToClient(SLOT_CHANGED, buffer -> {
206-
buffer.writeBoolean(finalOnlyAmountChanged);
207-
NetworkUtils.writeItemStack(buffer, itemStack);
208-
buffer.writeBoolean(init);
209-
});
198+
syncToClient(SLOT_CHANGED, buffer -> NetworkUtils.writeItemStack(buffer, itemStack));
210199
}
211200
}
212201

213202
public void syncStack() {
214203
final var cursorStack = GTUtility.copy(1, getSyncManager().getCursorItem());
215-
final var curStack = getStack();
216-
final boolean onlyAmt = ItemHandlerHelper.canItemStacksStackRelaxed(curStack, cursorStack);
217-
218-
setStack(cursorStack);
219-
syncToServer(SLOT_CHANGED, buffer -> {
220-
buffer.writeBoolean(onlyAmt);
221-
NetworkUtils.writeItemStack(buffer, cursorStack);
222-
});
204+
setStack(cursorStack, true);
223205
}
224206

225207
public ItemStack getStack() {
@@ -231,9 +213,12 @@ public ItemStack getStack() {
231213
*
232214
* @param stack stack to put into this slot
233215
*/
234-
public void setStack(ItemStack stack) {
216+
public void setStack(ItemStack stack, boolean sync) {
217+
var old = getStack();
218+
boolean onlyAmt = ItemHandlerHelper.canItemStacksStackRelaxed(stack, old);
235219
this.handler.setStackInSlot(this.index, stack);
236-
this.listener.onChange(stack, false, getSyncManager().isClient(), false);
220+
this.listener.onChange(stack, onlyAmt, getSyncManager().isClient(), false);
221+
if (sync) syncToServer(SLOT_CHANGED, buffer -> NetworkUtils.writeItemStack(buffer, getStack()));
237222
}
238223
}
239224
}

src/main/java/gregtech/mixins/mui2/ModularPanelMixin.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import com.cleanroommc.modularui.widget.ParentWidget;
1919
import mezz.jei.gui.ghost.GhostIngredientDrag;
2020
import mezz.jei.gui.ghost.GhostIngredientDragManager;
21-
import org.jetbrains.annotations.NotNull;
2221
import org.spongepowered.asm.mixin.Final;
2322
import org.spongepowered.asm.mixin.Mixin;
2423
import org.spongepowered.asm.mixin.Overwrite;
@@ -38,9 +37,6 @@ public abstract class ModularPanelMixin extends ParentWidget<ModularPanel> imple
3837
@Shadow
3938
public abstract void animateClose();
4039

41-
@Shadow
42-
@Final
43-
private @NotNull String name;
4440
@Unique
4541
InputAccessor gregTech$mouse = null;
4642

0 commit comments

Comments
 (0)