diff --git a/src/main/java/pw/kaboom/extras/Main.java b/src/main/java/pw/kaboom/extras/Main.java index 9535658..2aafc53 100644 --- a/src/main/java/pw/kaboom/extras/Main.java +++ b/src/main/java/pw/kaboom/extras/Main.java @@ -93,6 +93,8 @@ public final class Main extends JavaPlugin { this.getCommand("username").setExecutor(new CommandUsername()); /* Block-related modules */ + BlockPhysics.init(this); + this.getServer().getPluginManager().registerEvents(new BlockCheck(), this); this.getServer().getPluginManager().registerEvents(new BlockPhysics(), this); diff --git a/src/main/java/pw/kaboom/extras/modules/block/BlockPhysics.java b/src/main/java/pw/kaboom/extras/modules/block/BlockPhysics.java index c34d414..bb9adb9 100644 --- a/src/main/java/pw/kaboom/extras/modules/block/BlockPhysics.java +++ b/src/main/java/pw/kaboom/extras/modules/block/BlockPhysics.java @@ -16,12 +16,14 @@ import org.bukkit.event.block.BlockRedstoneEvent; import org.bukkit.event.entity.EntityChangeBlockEvent; import com.destroystokyo.paper.event.block.BlockDestroyEvent; +import org.bukkit.scheduler.BukkitScheduler; +import pw.kaboom.extras.Main; public final class BlockPhysics implements Listener { // This class contains code to prevent large areas of non-solid blocks // from crashing the server - + private static double tps = 20; private static HashSet blockFaces = new HashSet(); @EventHandler @@ -141,7 +143,6 @@ public final class BlockPhysics implements Listener { @EventHandler void onBlockRedstone(final BlockRedstoneEvent event) { - final double tps = Bukkit.getServer().getTPS()[0]; final int maxTps = 10; if (tps < maxTps) { @@ -169,4 +170,16 @@ public final class BlockPhysics implements Listener { public static HashSet getBlockFaces() { return blockFaces; } + + private static void updateTPS() { + final double[] tpsValues = Bukkit.getTPS(); + + tps = tpsValues[0]; + } + + public static void init(final Main main) { + final BukkitScheduler scheduler = Bukkit.getScheduler(); + + scheduler.runTaskTimer(main, BlockPhysics::updateTPS, 0L, 1200L); // 1 minute + } }