mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 04:56:50 +01:00
Implement inventory creation by type and title. Fixes BUKKIT-4045
With the current API it is possible to create an inventory with a specific type, but it is not possible to give such an inventory a title other than the default. The commit changes that by adding a method to optionally supply the title for the given inventory type and holder, creating the functionality to display any supported inventory type with a 32 character length String. If the inventory title supplied is larger than 32 characters then an IllegalArgumentException is thrown stating so.
This commit is contained in:
parent
c3e4767a79
commit
2bf22a9c49
2 changed files with 13 additions and 0 deletions
|
@ -1506,6 +1506,10 @@ public final class CraftServer implements Server {
|
|||
return new CraftInventoryCustom(owner, type);
|
||||
}
|
||||
|
||||
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
|
||||
return new CraftInventoryCustom(owner, type, title);
|
||||
}
|
||||
|
||||
public Inventory createInventory(InventoryHolder owner, int size) throws IllegalArgumentException {
|
||||
Validate.isTrue(size % 9 == 0, "Chests must have a size that is a multiple of 9!");
|
||||
return new CraftInventoryCustom(owner, size);
|
||||
|
|
|
@ -18,6 +18,10 @@ public class CraftInventoryCustom extends CraftInventory {
|
|||
super(new MinecraftInventory(owner, type));
|
||||
}
|
||||
|
||||
public CraftInventoryCustom(InventoryHolder owner, InventoryType type, String title) {
|
||||
super(new MinecraftInventory(owner, type, title));
|
||||
}
|
||||
|
||||
public CraftInventoryCustom(InventoryHolder owner, int size) {
|
||||
super(new MinecraftInventory(owner, size));
|
||||
}
|
||||
|
@ -39,6 +43,11 @@ public class CraftInventoryCustom extends CraftInventory {
|
|||
this.type = type;
|
||||
}
|
||||
|
||||
public MinecraftInventory(InventoryHolder owner, InventoryType type, String title) {
|
||||
this(owner, type.getDefaultSize(), title);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public MinecraftInventory(InventoryHolder owner, int size) {
|
||||
this(owner, size, "Chest");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue