Improve GUI #79
@ -27,6 +27,8 @@ class SWItem_14 {
|
||||
private SWItem_14(){}
|
||||
|
||||
static Material getMaterial(String material) {
|
||||
if("CAULDRON_ITEM".equals(material))
|
||||
return Material.CAULDRON;
|
||||
try{
|
||||
return Material.valueOf(material);
|
||||
}catch(IllegalArgumentException e){
|
||||
|
@ -33,6 +33,7 @@ public class SWListInv<T> extends SWInventory {
|
||||
private final List<SWListEntry<T>> elements;
|
||||
|
||||
private final Map<Integer, SWItem> customItems = new HashMap<>();
|
||||
private final boolean dynamicSize;
|
||||
private ListCallback<T> callback;
|
||||
private int page;
|
||||
private boolean opened = false;
|
||||
@ -46,6 +47,7 @@ public class SWListInv<T> extends SWInventory {
|
||||
callback = c;
|
||||
elements = l;
|
||||
page = 0;
|
||||
this.dynamicSize = dynamicSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -55,7 +57,7 @@ public class SWListInv<T> extends SWInventory {
|
||||
callbacks.clear();
|
||||
setCallback(-999, (ClickType click) -> player.closeInventory());
|
||||
|
||||
if(elements.size() > 54){
|
||||
if(sizeBiggerMax()){
|
||||
if(page != 0)
|
||||
setItem(45, SWItem.getDye(10), (byte)10, "§eSeite zurück", (ClickType click) -> {
|
||||
page--;
|
||||
@ -73,7 +75,7 @@ public class SWListInv<T> extends SWInventory {
|
||||
}
|
||||
|
||||
int ipageLimit = elements.size() - page*45;
|
||||
if(ipageLimit > 45 && elements.size() > 54){
|
||||
if(ipageLimit > 45 && sizeBiggerMax()){
|
||||
ipageLimit = 45;
|
||||
}
|
||||
int i = page*45;
|
||||
@ -133,6 +135,10 @@ public class SWListInv<T> extends SWInventory {
|
||||
}
|
||||
return schemList;
|
||||
}
|
||||
|
||||
private boolean sizeBiggerMax(){
|
||||
return dynamicSize ? elements.size() > 45 : elements.size() > 54;
|
||||
}
|
||||
|
||||
private static int dynamicSize(int size){
|
||||
return (size>45) ? 54 : (size + 9-size%9);
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren