Make pandalib compile against Paper API 1.21.7 (prepare to full 1.21.7 update)

This commit is contained in:
2025-07-14 22:31:55 +02:00
parent ee4812bdbb
commit 79474b14d2
2 changed files with 29 additions and 7 deletions

View File

@@ -18,6 +18,8 @@ import java.util.Objects;
*/
public class DummyPlayerInventory extends InventoryWrapper implements PlayerInventory {
public static final int PLAYER_INVENTORY_SIZE = 43; // 36 base inventory + 4 armor slots + 1 off hand + 2 hidden slots (body and saddle)
private int heldItemSlot;
/**
@@ -27,8 +29,8 @@ public class DummyPlayerInventory extends InventoryWrapper implements PlayerInve
*/
public DummyPlayerInventory(Inventory base, int heldItemSlot) {
super(base);
if (base.getSize() < 41)
throw new IllegalArgumentException("base inventory should have a size of 41 (" + base.getSize() + " given).");
if (base.getSize() < PLAYER_INVENTORY_SIZE)
throw new IllegalArgumentException("base inventory should have a size of " + PLAYER_INVENTORY_SIZE + " (" + base.getSize() + " given).");
if (heldItemSlot < 0 || heldItemSlot > 8)
throw new IllegalArgumentException("heldItemSlot should be between 0 and 8 inclusive.");
this.heldItemSlot = heldItemSlot;
@@ -114,6 +116,24 @@ public class DummyPlayerInventory extends InventoryWrapper implements PlayerInve
setItem(36, boots);
}
public ItemStack getSaddle() {
return getItem(42);
}
public void setSaddle(@Nullable ItemStack saddle) {
setItem(42, saddle);
}
public ItemStack getBody() {
return getItem(41);
}
public void setBody(@Nullable ItemStack body) {
setItem(41, body);
}
@Override
public void setItem(EquipmentSlot slot, ItemStack item) {
Preconditions.checkArgument(slot != null, "slot must not be null");
@@ -125,7 +145,8 @@ public class DummyPlayerInventory extends InventoryWrapper implements PlayerInve
case LEGS -> this.setLeggings(item);
case CHEST -> this.setChestplate(item);
case HEAD -> this.setHelmet(item);
default -> throw new IllegalArgumentException("Not implemented. This is a bug");
case BODY -> this.setBody(item);
case SADDLE -> this.setSaddle(item);
}
}
@@ -138,7 +159,8 @@ public class DummyPlayerInventory extends InventoryWrapper implements PlayerInve
case LEGS -> Objects.requireNonNullElseGet(this.getLeggings(), () -> new ItemStack(Material.AIR));
case CHEST -> Objects.requireNonNullElseGet(this.getChestplate(), () -> new ItemStack(Material.AIR));
case HEAD -> Objects.requireNonNullElseGet(this.getHelmet(), () -> new ItemStack(Material.AIR));
case BODY -> new ItemStack(Material.AIR); // for horses/wolves armor
case BODY -> Objects.requireNonNullElseGet(this.getBody(), () -> new ItemStack(Material.AIR)); // for horses/wolves armor
case SADDLE -> Objects.requireNonNullElseGet(this.getSaddle(), () -> new ItemStack(Material.AIR));
};
}

View File

@@ -56,10 +56,10 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<bungeecord.version>1.21-R0.4-SNAPSHOT</bungeecord.version>
<paper.version>1.21.4-R0.1</paper.version>
<mc.version>1.21.4</mc.version>
<paper.version>1.21.7-R0.1</paper.version>
<mc.version>1.21.7</mc.version>
<guava.version>32.1.2-jre</guava.version> <!-- Match the version imported by Paper API/BungeeCord API if possible -->
<guava.version>33.3.1-jre</guava.version> <!-- Match the version imported by Paper API/BungeeCord API if possible -->
</properties>
<modules>