mirror of
https://github.com/kaboomserver/extras.git
synced 2024-05-16 09:51:18 +00:00
39 lines
1.3 KiB
Java
39 lines
1.3 KiB
Java
package pw.kaboom.extras.modules.server;
|
|
|
|
import io.papermc.paper.event.world.WorldGameRuleChangeEvent;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.GameRule;
|
|
import org.bukkit.World;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.scheduler.BukkitScheduler;
|
|
import pw.kaboom.extras.Main;
|
|
|
|
public final class ServerGameRule implements Listener {
|
|
@EventHandler
|
|
void onGameRuleChange(final WorldGameRuleChangeEvent event) {
|
|
final GameRule<?> gameRule = event.getGameRule();
|
|
|
|
if ((gameRule == GameRule.RANDOM_TICK_SPEED
|
|
&& Integer.parseInt(event.getValue()) > 6)
|
|
|| (event.getGameRule() == GameRule.SPAWN_RADIUS
|
|
&& Integer.parseInt(event.getValue()) > 100)
|
|
|| (event.getGameRule() == GameRule.COMMAND_MODIFICATION_BLOCK_LIMIT
|
|
&& Integer.parseInt(event.getValue()) > 32768)) {
|
|
event.setCancelled(true);
|
|
}
|
|
}
|
|
|
|
private static void enableAutoSave() {
|
|
for (final World world: Bukkit.getWorlds()) {
|
|
world.setAutoSave(true);
|
|
}
|
|
}
|
|
|
|
public static void init(final Main main) {
|
|
final BukkitScheduler scheduler = Bukkit.getScheduler();
|
|
|
|
scheduler.runTaskTimer(main, ServerGameRule::enableAutoSave, 0L, 600L); // 30 seconds
|
|
}
|
|
}
|