9
0
mirror of https://github.com/Xiao-MoMi/Custom-Crops.git synced 2025-12-29 11:59:15 +00:00

Add 1.21.4+ asp compatibility

This commit is contained in:
XiaoMoMi
2025-12-23 01:52:45 +08:00
parent 8e4d72ed04
commit 893f9e4d35
7 changed files with 684 additions and 62 deletions

View File

@@ -17,7 +17,7 @@ dependencies {
}
implementation(project(":compatibility"))
implementation(project(":compatibility-asp-r1"))
// implementation(project(":compatibility-asp-r2"))
implementation(project(":compatibility-asp-r2"))
implementation("net.kyori:adventure-api:${rootProject.properties["adventure_bundle_version"]}")
implementation("net.kyori:adventure-text-minimessage:${rootProject.properties["adventure_bundle_version"]}")

View File

@@ -28,6 +28,7 @@ import net.momirealms.customcrops.api.integration.SeasonProvider;
import net.momirealms.customcrops.bukkit.config.BukkitConfigManager;
import net.momirealms.customcrops.bukkit.integration.adaptor.BukkitWorldAdaptor;
import net.momirealms.customcrops.bukkit.integration.adaptor.asp_r1.SlimeWorldAdaptorR1;
import net.momirealms.customcrops.bukkit.integration.adaptor.asp_r2.SlimeWorldAdaptorR2;
import net.momirealms.customcrops.common.helper.VersionHelper;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
@@ -59,17 +60,22 @@ public class BukkitWorldManager implements WorldManager, Listener {
try {
Class.forName("com.infernalsuite.aswm.api.SlimePlugin");
SlimeWorldAdaptorR1 adaptor = new SlimeWorldAdaptorR1(1);
adaptors.add(adaptor);
this.adaptors.add(adaptor);
Bukkit.getPluginManager().registerEvents(adaptor, plugin.getBootstrap());
plugin.getPluginLogger().info("SlimeWorldManager hooked!");
} catch (ClassNotFoundException ignored) {
}
if (Bukkit.getPluginManager().isPluginEnabled("SlimeWorldPlugin")) {
SlimeWorldAdaptorR1 adaptor = new SlimeWorldAdaptorR1(2);
adaptors.add(adaptor);
this.adaptors.add(adaptor);
Bukkit.getPluginManager().registerEvents(adaptor, plugin.getBootstrap());
plugin.getPluginLogger().info("AdvancedSlimePaper hooked!");
}
} else {
SlimeWorldAdaptorR2 adaptor = new SlimeWorldAdaptorR2();
this.adaptors.add(adaptor);
Bukkit.getPluginManager().registerEvents(adaptor, plugin.getBootstrap());
plugin.getPluginLogger().info("AdvancedSlimePaper hooked!");
}
this.adaptors.add(new BukkitWorldAdaptor());
this.seasonProvider = new SeasonProvider() {
@@ -369,7 +375,7 @@ public class BukkitWorldManager implements WorldManager, Listener {
@Override
public CustomCropsWorld<?> adapt(String name) {
for (WorldAdaptor<?> adaptor : adaptors) {
for (WorldAdaptor<?> adaptor : this.adaptors) {
Object world = adaptor.getWorld(name);
if (world != null) {
return adaptor.adapt(world);