Skip to content

Commit

Permalink
Fix bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Patbox committed Sep 9, 2024
1 parent c347cc2 commit 9be609b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
8 changes: 7 additions & 1 deletion src/main/java/eu/pb4/graves/grave/Grave.java
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,7 @@ public ItemStack set(int index, ItemStack element) {
var old = Grave.this.items.set(index, new PositionedItemStack(element, -1, VanillaInventoryMask.INSTANCE, null, Set.of()));
if (old != null) {
Grave.this.removeTaggedItem(old);
GraveManager.INSTANCE.markDirty();
return old.stack();
}
return ItemStack.EMPTY;
Expand All @@ -441,11 +442,13 @@ public ItemStack set(int index, ItemStack element) {
public void add(int value, ItemStack element) {
Validate.notNull(element);
Grave.this.items.add(value, new PositionedItemStack(element, -1, VanillaInventoryMask.INSTANCE, null, Set.of()));
GraveManager.INSTANCE.markDirty();
}

public ItemStack remove(int index) {
var x = Grave.this.items.remove(index);
Grave.this.removeTaggedItem(x);
GraveManager.INSTANCE.markDirty();
return x.stack();
}

Expand All @@ -455,8 +458,9 @@ public int size() {

public void clear() {
Grave.this.items.clear();
GraveManager.INSTANCE.markDirty();
}
});
}, GraveManager.INSTANCE::markDirty);
}

public void tick(MinecraftServer server) {
Expand Down Expand Up @@ -611,9 +615,11 @@ public void quickEquip(ServerPlayerEntity player) {
this.xp = 0;
this.tryBreak(player.getServer(), player);
this.updateSelf(player.getServer());
GraveManager.INSTANCE.markDirty();
}
} catch (Exception e) {
e.printStackTrace();
GraveManager.INSTANCE.markDirty();
}
}

Expand Down
19 changes: 14 additions & 5 deletions src/main/java/eu/pb4/graves/other/ImplementedInventory.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,23 @@ public interface ImplementedInventory extends Inventory {
DefaultedList<ItemStack> getItems();


static ImplementedInventory of(DefaultedList<ItemStack> items) {
return () -> items;
static ImplementedInventory of(DefaultedList<ItemStack> items, Runnable markDirty) {
return new ImplementedInventory() {
@Override
public DefaultedList<ItemStack> getItems() {
return items;
}

@Override
public void markDirty() {
markDirty.run();
}
};
}


static ImplementedInventory ofSize(int size) {
return of(DefaultedList.ofSize(size, ItemStack.EMPTY));
return of(DefaultedList.ofSize(size, ItemStack.EMPTY), () -> {});
}


Expand Down Expand Up @@ -82,8 +92,7 @@ default void clear() {
}


@Override
default void markDirty() {}
void markDirty();


@Override
Expand Down

0 comments on commit 9be609b

Please sign in to comment.