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

feat(bukkit): 添加 Slimefun 支持

This commit is contained in:
jhqwqmc
2025-09-06 15:28:27 +08:00
parent efe9070869
commit b1b7a15f22
3 changed files with 35 additions and 1 deletions

View File

@@ -15,7 +15,7 @@ repositories {
maven("https://repo.dmulloy2.net/repository/public/") // mcmmo required
maven("https://repo.auxilor.io/repository/maven-public/") // eco
maven("https://repo.hiusers.com/releases") // zaphkiel
maven("https://jitpack.io") // sxitem
maven("https://jitpack.io") // sxitem slimefun
}
dependencies {
@@ -77,6 +77,8 @@ dependencies {
compileOnly("com.arcaniax:HeadDatabase-API:1.3.2")
// SXItem
compileOnly("com.github.Saukiya:SX-Item:4.4.6")
// Slimefun
compileOnly("io.github.Slimefun:Slimefun4:RC-32")
}
java {

View File

@@ -271,6 +271,10 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
itemManager.registerExternalItemSource(new SXItemSource());
logHook("SX-Item");
}
if (this.isPluginEnabled("Slimefun")) {
itemManager.registerExternalItemSource(new SlimefunSource());
logHook("Slimefun");
}
}
private Plugin getPlugin(String name) {

View File

@@ -0,0 +1,28 @@
package net.momirealms.craftengine.bukkit.compatibility.item;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import net.momirealms.craftengine.core.item.ExternalItemSource;
import net.momirealms.craftengine.core.item.ItemBuildContext;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Nullable;
import java.util.Optional;
public class SlimefunSource implements ExternalItemSource<ItemStack> {
@Override
public String plugin() {
return "slimefun";
}
@Nullable
@Override
public ItemStack build(String id, ItemBuildContext context) {
return Optional.ofNullable(SlimefunItem.getById(id)).map(SlimefunItem::getItem).orElse(null);
}
@Override
public String id(ItemStack item) {
return Optional.ofNullable(SlimefunItem.getByItem(item)).map(SlimefunItem::getId).orElse(null);
}
}