mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 14:33:56 +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
@ -1506,6 +1506,10 @@ public final class CraftServer implements Server {
|
|||||||
return new CraftInventoryCustom(owner, type);
|
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 {
|
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!");
|
Validate.isTrue(size % 9 == 0, "Chests must have a size that is a multiple of 9!");
|
||||||
return new CraftInventoryCustom(owner, size);
|
return new CraftInventoryCustom(owner, size);
|
||||||
|
@ -18,6 +18,10 @@ public class CraftInventoryCustom extends CraftInventory {
|
|||||||
super(new MinecraftInventory(owner, type));
|
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) {
|
public CraftInventoryCustom(InventoryHolder owner, int size) {
|
||||||
super(new MinecraftInventory(owner, size));
|
super(new MinecraftInventory(owner, size));
|
||||||
}
|
}
|
||||||
@ -39,6 +43,11 @@ public class CraftInventoryCustom extends CraftInventory {
|
|||||||
this.type = type;
|
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) {
|
public MinecraftInventory(InventoryHolder owner, int size) {
|
||||||
this(owner, size, "Chest");
|
this(owner, size, "Chest");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user