88import me .hsgamer .bettergui .builder .InventoryBuilder ;
99import me .hsgamer .bettergui .util .ProcessApplierConstants ;
1010import me .hsgamer .bettergui .util .StringReplacerApplier ;
11+ import me .hsgamer .bettergui .util .TickUtil ;
1112import me .hsgamer .hscore .bukkit .gui .BukkitGUIDisplay ;
1213import me .hsgamer .hscore .bukkit .gui .BukkitGUIHolder ;
1314import me .hsgamer .hscore .common .MapUtils ;
2829import java .util .*;
2930import java .util .concurrent .ConcurrentHashMap ;
3031import java .util .concurrent .ConcurrentSkipListSet ;
32+ import java .util .concurrent .TimeUnit ;
3133import java .util .function .Consumer ;
3234
3335import static me .hsgamer .bettergui .BetterGUI .getInstance ;
@@ -42,15 +44,17 @@ public abstract class BaseInventoryMenu<B extends ButtonMap> extends BaseMenu {
4244 private final B buttonMap ;
4345 private final Set <UUID > forceClose = new ConcurrentSkipListSet <>();
4446 private final Map <UUID , Task > updateTasks = new ConcurrentHashMap <>();
45- private final long ticks ;
47+ private final long refreshMillis ;
4648
4749 protected BaseInventoryMenu (Config config ) {
4850 super (config );
4951 guiHolder = new BukkitGUIHolder (getInstance ()) {
5052 @ Override
5153 protected @ NotNull BukkitGUIDisplay newDisplay (UUID uuid ) {
5254 BukkitGUIDisplay guiDisplay = super .newDisplay (uuid );
53- if (ticks >= 0 ) {
55+ if (refreshMillis >= 0 ) {
56+ long millis = refreshMillis == 0 ? 50L : refreshMillis ;
57+
5458 Player player = Bukkit .getPlayer (uuid );
5559 assert player != null ;
5660
@@ -61,7 +65,7 @@ protected BaseInventoryMenu(Config config) {
6165 } else {
6266 return false ;
6367 }
64- }, ticks , ticks ));
68+ }, millis , millis , TimeUnit . MILLISECONDS ));
6569 }
6670 return guiDisplay ;
6771 }
@@ -140,10 +144,9 @@ protected void onClose(@NotNull CloseEvent event) {
140144 .map (i -> Math .max (1 , i ))
141145 .ifPresent (guiHolder ::setSize );
142146
143- ticks = Optional .ofNullable (MapUtils .getIfFound (menuSettings , "auto-refresh" , "ticks" ))
147+ refreshMillis = Optional .ofNullable (MapUtils .getIfFound (menuSettings , "auto-refresh" , "ticks" ))
144148 .map (String ::valueOf )
145- .flatMap (Validate ::getNumber )
146- .map (BigDecimal ::longValue )
149+ .flatMap (TickUtil ::toMillis )
147150 .orElse (0L );
148151
149152 Optional .ofNullable (menuSettings .get ("cached" ))
0 commit comments