SteamWar/SpigotCore
Archiviert
13
0

Improve GUI #79

Manuell gemergt
Lixfel hat 1 Commits von improveGUI nach master 2020-12-24 13:23:45 +01:00 zusammengeführt
2 geänderte Dateien mit 10 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -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){

Datei anzeigen

@ -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);