9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-19 15:09:15 +00:00

Merge pull request #353 from iiabc/dev

feat(compatibility): 添加 Zaphkiel 物品来源支持
This commit is contained in:
XiaoMoMi
2025-08-30 19:49:08 +08:00
committed by GitHub
4 changed files with 43 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ repositories {
maven("https://nexus.neetgames.com/repository/maven-releases/") // mcmmo maven("https://nexus.neetgames.com/repository/maven-releases/") // mcmmo
maven("https://repo.dmulloy2.net/repository/public/") // mcmmo required maven("https://repo.dmulloy2.net/repository/public/") // mcmmo required
maven("https://repo.auxilor.io/repository/maven-public/") // eco maven("https://repo.auxilor.io/repository/maven-public/") // eco
maven("https://repo.hiusers.com/releases") // zaphkiel
} }
dependencies { dependencies {
@@ -67,6 +68,8 @@ dependencies {
compileOnly("com.willfp:libreforge:4.58.1") compileOnly("com.willfp:libreforge:4.58.1")
// AureliumSkills // AureliumSkills
compileOnly("com.github.Archy-X:AureliumSkills:Beta1.3.21") compileOnly("com.github.Archy-X:AureliumSkills:Beta1.3.21")
// Zaphkiel
compileOnly("ink.ptms:ZaphkielAPI:2.1.0")
} }
java { java {

View File

@@ -1,10 +1,7 @@
package net.momirealms.craftengine.bukkit.compatibility; package net.momirealms.craftengine.bukkit.compatibility;
import net.momirealms.craftengine.bukkit.block.BukkitBlockManager; import net.momirealms.craftengine.bukkit.block.BukkitBlockManager;
import net.momirealms.craftengine.bukkit.compatibility.item.CustomFishingSource; import net.momirealms.craftengine.bukkit.compatibility.item.*;
import net.momirealms.craftengine.bukkit.compatibility.item.MMOItemsSource;
import net.momirealms.craftengine.bukkit.compatibility.item.MythicMobsSource;
import net.momirealms.craftengine.bukkit.compatibility.item.NeigeItemsSource;
import net.momirealms.craftengine.bukkit.compatibility.legacy.slimeworld.LegacySlimeFormatStorageAdaptor; import net.momirealms.craftengine.bukkit.compatibility.legacy.slimeworld.LegacySlimeFormatStorageAdaptor;
import net.momirealms.craftengine.bukkit.compatibility.leveler.*; import net.momirealms.craftengine.bukkit.compatibility.leveler.*;
import net.momirealms.craftengine.bukkit.compatibility.model.bettermodel.BetterModelModel; import net.momirealms.craftengine.bukkit.compatibility.model.bettermodel.BetterModelModel;
@@ -249,6 +246,10 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
itemManager.registerExternalItemSource(new CustomFishingSource()); itemManager.registerExternalItemSource(new CustomFishingSource());
logHook("CustomFishing"); logHook("CustomFishing");
} }
if (this.isPluginEnabled("Zaphkiel")) {
itemManager.registerExternalItemSource(new ZaphkielSource());
logHook("Zaphkiel");
}
} }
private Plugin getPlugin(String name) { private Plugin getPlugin(String name) {

View File

@@ -0,0 +1,34 @@
package net.momirealms.craftengine.bukkit.compatibility.item;
import ink.ptms.zaphkiel.Zaphkiel;
import net.momirealms.craftengine.core.item.ExternalItemSource;
import net.momirealms.craftengine.core.item.ItemBuildContext;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import javax.annotation.Nullable;
import java.util.Optional;
/**
* @author iiabc
* @since 2025/8/30 09:39
*/
public class ZaphkielSource implements ExternalItemSource<ItemStack> {
@Override
public String plugin() {
return "zaphkiel";
}
@Override
public @Nullable ItemStack build(String id, ItemBuildContext context) {
Player player = Optional.ofNullable(context.player()).map(it -> (Player) it.platformPlayer()).orElse(null);
return Zaphkiel.INSTANCE.api().getItemManager().generateItemStack(id, player);
}
@Override
public String id(ItemStack item) {
return Zaphkiel.INSTANCE.api().getItemHandler().getItemId(item);
}
}

View File

@@ -82,6 +82,7 @@ paper {
register("MMOItems") { required = false } register("MMOItems") { required = false }
register("MythicMobs") { required = false } register("MythicMobs") { required = false }
register("CustomFishing") { required = false } register("CustomFishing") { required = false }
register("Zaphkiel") { required = false }
// leveler // leveler
register("AuraSkills") { required = false } register("AuraSkills") { required = false }