mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-28 19:39:11 +00:00
添加qs兼容
This commit is contained in:
@@ -16,6 +16,7 @@ repositories {
|
||||
maven("https://repo.auxilor.io/repository/maven-public/") // eco
|
||||
maven("https://repo.hiusers.com/releases") // zaphkiel
|
||||
maven("https://jitpack.io") // sxitem slimefun
|
||||
maven("https://repo.codemc.io/repository/maven-public/") // quickshop
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -79,6 +80,8 @@ dependencies {
|
||||
compileOnly("com.github.Saukiya:SX-Item:4.4.6")
|
||||
// Slimefun
|
||||
compileOnly("io.github.Slimefun:Slimefun4:RC-32")
|
||||
// QuickShop
|
||||
compileOnly("com.ghostchu:quickshop-api:6.2.0.10")
|
||||
}
|
||||
|
||||
java {
|
||||
|
||||
@@ -12,6 +12,7 @@ import net.momirealms.craftengine.bukkit.compatibility.mythicmobs.MythicItemDrop
|
||||
import net.momirealms.craftengine.bukkit.compatibility.mythicmobs.MythicSkillHelper;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.papi.PlaceholderAPIUtils;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.permission.LuckPermsEventListeners;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.quickshop.QuickShopItemExpressionHandler;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.region.WorldGuardRegionCondition;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.skript.SkriptHook;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.slimeworld.SlimeFormatStorageAdaptor;
|
||||
@@ -141,6 +142,10 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
|
||||
ModelEngineUtils.registerConstantBlockEntityRender();
|
||||
logHook("ModelEngine");
|
||||
}
|
||||
if (this.isPluginEnabled("QuickShop-Hikari")) {
|
||||
new QuickShopItemExpressionHandler(this.plugin);
|
||||
logHook("QuickShop-Hikari");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
package net.momirealms.craftengine.bukkit.compatibility.quickshop;
|
||||
|
||||
import com.ghostchu.quickshop.api.QuickShopAPI;
|
||||
import com.ghostchu.quickshop.api.event.QSConfigurationReloadEvent;
|
||||
import com.ghostchu.quickshop.api.registry.BuiltInRegistry;
|
||||
import com.ghostchu.quickshop.api.registry.Registry;
|
||||
import com.ghostchu.quickshop.api.registry.builtin.itemexpression.ItemExpressionHandler;
|
||||
import com.ghostchu.quickshop.api.registry.builtin.itemexpression.ItemExpressionRegistry;
|
||||
import net.momirealms.craftengine.bukkit.api.CraftEngineItems;
|
||||
import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
|
||||
import net.momirealms.craftengine.core.util.Key;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class QuickShopItemExpressionHandler implements ItemExpressionHandler, Listener {
|
||||
private final BukkitCraftEngine plugin;
|
||||
|
||||
public QuickShopItemExpressionHandler(BukkitCraftEngine plugin) {
|
||||
this.plugin = plugin;
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin.javaPlugin());
|
||||
init();
|
||||
}
|
||||
|
||||
public void init() {
|
||||
Registry registry = QuickShopAPI.getInstance().getRegistry().getRegistry(BuiltInRegistry.ITEM_EXPRESSION);
|
||||
if (!(registry instanceof ItemExpressionRegistry itemExpressionRegistry)) return;
|
||||
if (!itemExpressionRegistry.registerHandlerSafely(this)) return;
|
||||
this.plugin.logger().info("[Compatibility] Successfully registered CraftEngine ItemExpressionHandler to QuickShop-Hikari");
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
|
||||
public void onQuickShopReload(final QSConfigurationReloadEvent event) {
|
||||
init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Plugin getPlugin() {
|
||||
return this.plugin.javaPlugin();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrefix() {
|
||||
return "craftengine";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean match(ItemStack itemStack, String id) {
|
||||
Key customId = CraftEngineItems.getCustomItemId(itemStack);
|
||||
return customId != null && id.equals(customId.asString());
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,7 @@ paper {
|
||||
}
|
||||
register("LuckPerms") { required = false }
|
||||
register("ViaVersion") { required = false }
|
||||
register("QuickShop-Hikari") { required = false }
|
||||
|
||||
// external models
|
||||
register("ModelEngine") { required = false }
|
||||
|
||||
Reference in New Issue
Block a user