9
0
mirror of https://github.com/Xiao-MoMi/Custom-Crops.git synced 2025-12-25 09:59:20 +00:00

Improved location context

This commit is contained in:
XiaoMoMi
2024-09-05 22:52:20 +08:00
parent 62bc8f6b21
commit 7fc14dfa9b
25 changed files with 415 additions and 90 deletions

View File

@@ -18,10 +18,10 @@
package net.momirealms.customcrops.bukkit.integration;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.integration.IntegrationManager;
import net.momirealms.customcrops.api.integration.ItemProvider;
import net.momirealms.customcrops.api.integration.LevelerProvider;
import net.momirealms.customcrops.api.integration.SeasonProvider;
import net.momirealms.customcrops.api.integration.*;
import net.momirealms.customcrops.bukkit.integration.entity.ItemsAdderEntityProvider;
import net.momirealms.customcrops.bukkit.integration.entity.MythicEntityProvider;
import net.momirealms.customcrops.bukkit.integration.entity.VanillaEntityProvider;
import net.momirealms.customcrops.bukkit.integration.item.*;
import net.momirealms.customcrops.bukkit.integration.level.*;
import net.momirealms.customcrops.bukkit.integration.papi.CustomCropsPapi;
@@ -43,6 +43,7 @@ public class BukkitIntegrationManager implements IntegrationManager {
private final BukkitCustomCropsPlugin plugin;
private final HashMap<String, LevelerProvider> levelerProviders = new HashMap<>();
private final HashMap<String, EntityProvider> entityProviders = new HashMap<>();
public BukkitIntegrationManager(BukkitCustomCropsPlugin plugin) {
this.plugin = plugin;
@@ -60,6 +61,7 @@ public class BukkitIntegrationManager implements IntegrationManager {
@Override
public void load() {
registerEntityProvider(new VanillaEntityProvider());
if (isHooked("MMOItems")) {
registerItemProvider(new MMOItemsItemProvider());
}
@@ -69,11 +71,15 @@ public class BukkitIntegrationManager implements IntegrationManager {
if (isHooked("NeigeItems")) {
registerItemProvider(new NeigeItemsItemProvider());
}
if (isHooked("ItemsAdder")) {
registerEntityProvider(new ItemsAdderEntityProvider());
}
if (isHooked("CustomFishing", "2.2", "2.3", "2.4")) {
registerItemProvider(new CustomFishingItemProvider());
}
if (isHooked("MythicMobs", "5")) {
registerItemProvider(new MythicMobsItemProvider());
registerEntityProvider(new MythicEntityProvider());
}
if (isHooked("EcoJobs")) {
registerLevelerProvider(new EcoJobsLevelerProvider());
@@ -157,8 +163,8 @@ public class BukkitIntegrationManager implements IntegrationManager {
@Override
@Nullable
public LevelerProvider getLevelerProvider(String plugin) {
return levelerProviders.get(plugin);
public LevelerProvider getLevelerProvider(String id) {
return levelerProviders.get(id);
}
@Override
@@ -175,4 +181,22 @@ public class BukkitIntegrationManager implements IntegrationManager {
public boolean unregisterItemProvider(@NotNull String id) {
return ((BukkitItemManager) plugin.getItemManager()).unregisterItemProvider(id);
}
@Override
public boolean registerEntityProvider(@NotNull EntityProvider entity) {
if (entityProviders.containsKey(entity.identifier())) return false;
entityProviders.put(entity.identifier(), entity);
return true;
}
@Override
public boolean unregisterEntityProvider(@NotNull String id) {
return entityProviders.remove(id) != null;
}
@Nullable
@Override
public EntityProvider getEntityProvider(String id) {
return entityProviders.get(id);
}
}

View File

@@ -30,7 +30,6 @@ import net.momirealms.customcrops.api.core.world.adaptor.AbstractWorldAdaptor;
import net.momirealms.customcrops.api.util.StringUtils;
import net.momirealms.customcrops.common.helper.GsonHelper;
import net.momirealms.customcrops.common.helper.VersionHelper;
import net.momirealms.customcrops.common.util.FileUtils;
import net.momirealms.customcrops.common.util.Key;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;