diff --git a/bukkit/loader/build.gradle.kts b/bukkit/loader/build.gradle.kts index 7f2a8a975..f80ad94df 100644 --- a/bukkit/loader/build.gradle.kts +++ b/bukkit/loader/build.gradle.kts @@ -59,7 +59,7 @@ artifacts { tasks { shadowJar { - archiveFileName = "${rootProject.name}-plugin-${rootProject.properties["project_version"]}.jar" + archiveFileName = "${rootProject.name}-plugin-${rootProject.properties["project_version"]}-community-edition.jar" destinationDirectory.set(file("$rootDir/target")) relocate("net.kyori", "net.momirealms.craftengine.libraries") relocate("net.momirealms.sparrow.nbt", "net.momirealms.craftengine.libraries.nbt") diff --git a/bukkit/loader/src/main/java/net/momirealms/craftengine/bukkit/BukkitBootstrap.java b/bukkit/loader/src/main/java/net/momirealms/craftengine/bukkit/BukkitBootstrap.java index 3e73cf8ea..9c8e4671e 100644 --- a/bukkit/loader/src/main/java/net/momirealms/craftengine/bukkit/BukkitBootstrap.java +++ b/bukkit/loader/src/main/java/net/momirealms/craftengine/bukkit/BukkitBootstrap.java @@ -1,8 +1,13 @@ package net.momirealms.craftengine.bukkit; import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; +import java.util.Collection; +import java.util.concurrent.TimeUnit; + public class BukkitBootstrap extends JavaPlugin { private final BukkitCraftEngine plugin; @@ -12,16 +17,34 @@ public class BukkitBootstrap extends JavaPlugin { @Override public void onLoad() { + if (!Bukkit.getServer().getOnlineMode()) { + return; + } this.plugin.onPluginLoad(); } @Override public void onEnable() { - this.plugin.onPluginEnable(); + if (!Bukkit.getServer().getOnlineMode()) { + this.plugin.logger().warn("CraftEngine Community Edition requires online mode to be enabled."); + } else { + this.plugin.scheduler().asyncRepeating(() -> { + Collection players = Bukkit.getOnlinePlayers(); + if (players.size() > 20) { + this.plugin.logger().warn("CraftEngine Community Edition restricts servers to a maximum of 20 concurrent players."); + this.plugin.logger().warn("Your server has exceeded this limit and will be shut down."); + Bukkit.shutdown(); + } + }, 1, 1, TimeUnit.MINUTES); + this.plugin.onPluginEnable(); + } } @Override public void onDisable() { + if (!Bukkit.getServer().getOnlineMode()) { + return; + } this.plugin.onPluginDisable(); } }