mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-26 18:39:17 +00:00
Additional slime world event listener
This commit is contained in:
@@ -45,7 +45,7 @@ public abstract class BukkitItemFactory extends ItemFactory<CustomCropsPlugin, R
|
||||
return new UniversalItemFactory(plugin);
|
||||
}
|
||||
case "1.20.5", "1.20.6",
|
||||
"1.21", "1.21.1", "1.21.2" -> {
|
||||
"1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4" -> {
|
||||
return new ComponentItemFactory(plugin);
|
||||
}
|
||||
default -> throw new IllegalStateException("Unsupported server version: " + plugin.getServerVersion());
|
||||
|
||||
@@ -56,12 +56,16 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
this.plugin = plugin;
|
||||
try {
|
||||
Class.forName("com.infernalsuite.aswm.api.SlimePlugin");
|
||||
adaptors.add(new SlimeWorldAdaptorR1(1));
|
||||
SlimeWorldAdaptorR1 adaptor = new SlimeWorldAdaptorR1(1);
|
||||
adaptors.add(adaptor);
|
||||
Bukkit.getPluginManager().registerEvents(adaptor, plugin.getBootstrap());
|
||||
plugin.getPluginLogger().info("SlimeWorldManager hooked!");
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
}
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("SlimeWorldPlugin")) {
|
||||
adaptors.add(new SlimeWorldAdaptorR1(2));
|
||||
SlimeWorldAdaptorR1 adaptor = new SlimeWorldAdaptorR1(2);
|
||||
adaptors.add(adaptor);
|
||||
Bukkit.getPluginManager().registerEvents(adaptor, plugin.getBootstrap());
|
||||
plugin.getPluginLogger().info("AdvancedSlimePaper hooked!");
|
||||
}
|
||||
this.adaptors.add(new BukkitWorldAdaptor());
|
||||
@@ -140,6 +144,19 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
this.worldSettings.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
this.unload();
|
||||
for (World world : Bukkit.getWorlds()) {
|
||||
unloadWorld(world, true);
|
||||
}
|
||||
for (WorldAdaptor<?> adaptor : this.adaptors) {
|
||||
if (adaptor instanceof Listener listener) {
|
||||
HandlerList.unregisterAll(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void loadConfig() {
|
||||
YamlDocument config = BukkitConfigManager.getMainConfig();
|
||||
|
||||
@@ -176,14 +193,6 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
this.unload();
|
||||
for (World world : Bukkit.getWorlds()) {
|
||||
unloadWorld(world, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CustomCropsWorld<?> loadWorld(World world) {
|
||||
Optional<CustomCropsWorld<?>> optionalWorld = getWorld(world);
|
||||
@@ -282,7 +291,9 @@ public class BukkitWorldManager implements WorldManager, Listener {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMechanicEnabled(World world) {
|
||||
if (world == null) return false;
|
||||
if (matchRule == MatchRule.WHITELIST) {
|
||||
return worldList.contains(world.getName());
|
||||
} else if (matchRule == MatchRule.BLACKLIST) {
|
||||
|
||||
Reference in New Issue
Block a user