use player scheduler

This commit is contained in:
rockyhawk64 2025-10-12 02:10:52 +11:00
parent 855334ce0a
commit 4b1a7c87f8

View File

@ -5,7 +5,6 @@ import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import me.rockyhawk.commandpanels.Context; import me.rockyhawk.commandpanels.Context;
import me.rockyhawk.commandpanels.builder.inventory.InventoryPanelBuilder; import me.rockyhawk.commandpanels.builder.inventory.InventoryPanelBuilder;
import me.rockyhawk.commandpanels.builder.inventory.items.ItemBuilder; import me.rockyhawk.commandpanels.builder.inventory.items.ItemBuilder;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey; import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
@ -49,9 +48,8 @@ public class InventoryPanelUpdater {
ItemBuilder builder = new ItemBuilder(ctx, panelBuilder); ItemBuilder builder = new ItemBuilder(ctx, panelBuilder);
// Main update task // Main update task
this.updateTask = Bukkit.getRegionScheduler().runAtFixedRate( this.updateTask = p.getScheduler().runAtFixedRate(
ctx.plugin, ctx.plugin,
p.getLocation(),
(scheduledTask) -> { (scheduledTask) -> {
Inventory inv = p.getOpenInventory().getTopInventory(); Inventory inv = p.getOpenInventory().getTopInventory();
InventoryHolder holder = inv.getHolder(); InventoryHolder holder = inv.getHolder();
@ -97,6 +95,7 @@ public class InventoryPanelUpdater {
inv.setItem(slot, newItem); inv.setItem(slot, newItem);
} }
}, },
null,
updateDelay, updateDelay,
updateDelay updateDelay
); );
@ -104,9 +103,8 @@ public class InventoryPanelUpdater {
final boolean isUsingPermObserver = ctx.fileHandler.config.getBoolean("permission-observer"); final boolean isUsingPermObserver = ctx.fileHandler.config.getBoolean("permission-observer");
// Fast heartbeat check task, should run frequently // Fast heartbeat check task, should run frequently
this.checkTask = Bukkit.getRegionScheduler().runAtFixedRate( this.checkTask = p.getScheduler().runAtFixedRate(
ctx.plugin, ctx.plugin,
p.getLocation(),
(scheduledTask) -> { (scheduledTask) -> {
Inventory inv = p.getOpenInventory().getTopInventory(); Inventory inv = p.getOpenInventory().getTopInventory();
InventoryHolder holder = inv.getHolder(); InventoryHolder holder = inv.getHolder();
@ -128,6 +126,7 @@ public class InventoryPanelUpdater {
} }
} }
}, },
null,
2, 2,
2 2
); );