Rename internal CMagicGem implementation

This commit is contained in:
Coldsmiles
2026-10-05 01:46:32 +08:00
parent 953c15e380
commit ff9b6ce4f1
68 changed files with 298 additions and 306 deletions
@@ -0,0 +1,30 @@
package cn.infstar.magicgem;
/**
* Paper entry point for MagicGem Reforged.
*
* <p>The original {@code pku.yim.magicgem.MagicGem} superclass remains available
* so plugins compiled against the original public API can continue to resolve it.</p>
*/
public final class MagicGem extends pku.yim.magicgem.MagicGem {
public static MagicGem instance;
public static MagicGem getInstance() {
return instance;
}
@Override
public void onEnable() {
instance = this;
super.onEnable();
}
@Override
public void onDisable() {
try {
super.onDisable();
} finally {
if (instance == this) instance = null;
}
}
}
@@ -1,30 +1,30 @@
package cn.infstar.cmagicgem;
package cn.infstar.magicgem;
import cn.infstar.cmagicgem.api.event.CMagicReloadEvent;
import cn.infstar.cmagicgem.command.CMagicGemCommand;
import cn.infstar.cmagicgem.condition.ConditionEngine;
import cn.infstar.cmagicgem.config.PluginSettings;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.expression.Expression;
import cn.infstar.cmagicgem.expression.DynamicExpression;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.gem.GemService;
import cn.infstar.cmagicgem.gui.GemBrowser;
import cn.infstar.cmagicgem.gui.GemGuiManager;
import cn.infstar.cmagicgem.integration.EconomyBridge;
import cn.infstar.cmagicgem.integration.MythicBridge;
import cn.infstar.cmagicgem.integration.PlaceholderBridge;
import cn.infstar.cmagicgem.integration.PlayerPointsBridge;
import cn.infstar.cmagicgem.integration.ProtectionBridge;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.item.ItemMatcher;
import cn.infstar.cmagicgem.listener.GemUseListener;
import cn.infstar.cmagicgem.migration.LegacyDirectoryImporter;
import cn.infstar.cmagicgem.reward.RewardEngine;
import cn.infstar.cmagicgem.skill.SkillRegistry;
import cn.infstar.cmagicgem.skill.SkillEngine;
import cn.infstar.cmagicgem.util.MessageDispatcher;
import cn.infstar.magicgem.api.event.MagicReloadEvent;
import cn.infstar.magicgem.command.MagicGemCommand;
import cn.infstar.magicgem.condition.ConditionEngine;
import cn.infstar.magicgem.config.PluginSettings;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.expression.Expression;
import cn.infstar.magicgem.expression.DynamicExpression;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.gem.GemService;
import cn.infstar.magicgem.gui.GemBrowser;
import cn.infstar.magicgem.gui.GemGuiManager;
import cn.infstar.magicgem.integration.EconomyBridge;
import cn.infstar.magicgem.integration.MythicBridge;
import cn.infstar.magicgem.integration.PlaceholderBridge;
import cn.infstar.magicgem.integration.PlayerPointsBridge;
import cn.infstar.magicgem.integration.ProtectionBridge;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.item.ItemMatcher;
import cn.infstar.magicgem.listener.GemUseListener;
import cn.infstar.magicgem.migration.LegacyDirectoryImporter;
import cn.infstar.magicgem.reward.RewardEngine;
import cn.infstar.magicgem.skill.SkillRegistry;
import cn.infstar.magicgem.skill.SkillEngine;
import cn.infstar.magicgem.util.MessageDispatcher;
import de.tr7zw.changeme.nbtapi.NBT;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;
@@ -32,7 +32,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.Objects;
public class CMagicGem extends JavaPlugin {
public class MagicGemPlugin extends JavaPlugin {
private volatile PluginSettings settings;
private GemRegistry gemRegistry;
private SkillRegistry skillRegistry;
@@ -81,7 +81,7 @@ public class CMagicGem extends JavaPlugin {
guiManager = new GemGuiManager(this, gemRegistry, gemService, itemCodec, itemMatcher, messages, languages);
reloadAll();
CMagicGemCommand command = new CMagicGemCommand(gemRegistry, gemService, itemCodec, gemBrowser,
MagicGemCommand command = new MagicGemCommand(gemRegistry, gemService, itemCodec, gemBrowser,
guiManager, skillEngine, messages, languages, this::reloadScope);
PluginCommand pluginCommand = Objects.requireNonNull(getCommand("mgem"));
pluginCommand.setExecutor(command);
@@ -121,7 +121,7 @@ public class CMagicGem extends JavaPlugin {
else skillRegistry.clear();
}
if ((all || gems) && guiManager != null) guiManager.reload();
if (isEnabled()) getServer().getPluginManager().callEvent(new CMagicReloadEvent());
if (isEnabled()) getServer().getPluginManager().callEvent(new MagicReloadEvent());
}
protected void onSettingsReloaded(PluginSettings settings) { }
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
@@ -7,7 +7,7 @@ import org.bukkit.event.player.PlayerEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
public final class CMagicEquipmentChangeEvent extends PlayerEvent implements Cancellable {
public final class MagicEquipmentChangeEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private final String slot;
private final ItemStack oldItem;
@@ -15,7 +15,7 @@ public final class CMagicEquipmentChangeEvent extends PlayerEvent implements Can
private final Cause cause;
private boolean cancelled;
public CMagicEquipmentChangeEvent(Player player, String slot, ItemStack oldItem, ItemStack newItem, Cause cause) {
public MagicEquipmentChangeEvent(Player player, String slot, ItemStack oldItem, ItemStack newItem, Cause cause) {
super(player);
this.slot = slot;
this.oldItem = oldItem == null ? null : oldItem.clone();
@@ -1,19 +1,19 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemDefinition;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public final class CMagicGemUseEvent extends PlayerEvent implements Cancellable {
public final class MagicGemUseEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private final GemDefinition gem;
private final boolean use;
private boolean cancelled;
public CMagicGemUseEvent(Player player, GemDefinition gem, boolean use) {
public MagicGemUseEvent(Player player, GemDefinition gem, boolean use) {
super(player);
this.gem = gem;
this.use = use;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -7,13 +7,13 @@ import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public final class CMagicJumpEvent extends PlayerEvent implements Cancellable {
public final class MagicJumpEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private Location from;
private Location to;
private boolean cancelled;
public CMagicJumpEvent(Player player, Location from, Location to) {
public MagicJumpEvent(Player player, Location from, Location to) {
super(player);
this.from = from.clone();
this.to = to.clone();
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
@@ -8,7 +8,7 @@ import org.bukkit.event.player.PlayerEvent;
import org.bukkit.potion.PotionEffectType;
import org.jetbrains.annotations.NotNull;
public final class CMagicPotionBuffEvent extends PlayerEvent implements Cancellable {
public final class MagicPotionBuffEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private final LivingEntity target;
private final PotionEffectType type;
@@ -16,7 +16,7 @@ public final class CMagicPotionBuffEvent extends PlayerEvent implements Cancella
private int durationTicks;
private boolean cancelled;
public CMagicPotionBuffEvent(Player player, LivingEntity target, PotionEffectType type,
public MagicPotionBuffEvent(Player player, LivingEntity target, PotionEffectType type,
int amplifier, int durationTicks) {
super(player);
this.target = target;
@@ -1,13 +1,13 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
public final class CMagicReloadEvent extends Event {
public final class MagicReloadEvent extends Event {
private static final HandlerList HANDLERS = new HandlerList();
public CMagicReloadEvent() {
public MagicReloadEvent() {
super(false);
}
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.Cancellable;
@@ -6,13 +6,13 @@ import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
public final class CMagicSkillLoadEvent extends Event implements Cancellable {
public final class MagicSkillLoadEvent extends Event implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private final String name;
private final ConfigurationSection config;
private boolean cancelled;
public CMagicSkillLoadEvent(String name, ConfigurationSection config) {
public MagicSkillLoadEvent(String name, ConfigurationSection config) {
this.name = name;
this.config = config;
}
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.api.event;
package cn.infstar.magicgem.api.event;
import cn.infstar.cmagicgem.skill.SkillDefinition;
import cn.infstar.magicgem.skill.SkillDefinition;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
@@ -8,13 +8,13 @@ import org.bukkit.event.player.PlayerEvent;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
public final class CMagicSkillUseEvent extends PlayerEvent implements Cancellable {
public final class MagicSkillUseEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLERS = new HandlerList();
private final SkillDefinition skill;
private final ItemStack item;
private boolean cancelled;
public CMagicSkillUseEvent(Player player, SkillDefinition skill, ItemStack item) {
public MagicSkillUseEvent(Player player, SkillDefinition skill, ItemStack item) {
super(player);
this.skill = skill;
this.item = item;
@@ -1,15 +1,15 @@
package cn.infstar.cmagicgem.command;
package cn.infstar.magicgem.command;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.gem.GemService;
import cn.infstar.cmagicgem.gem.GemUseResult;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.gui.GemBrowser;
import cn.infstar.cmagicgem.gui.GemGuiManager;
import cn.infstar.cmagicgem.skill.SkillEngine;
import cn.infstar.cmagicgem.util.MessageDispatcher;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.gem.GemService;
import cn.infstar.magicgem.gem.GemUseResult;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.gui.GemBrowser;
import cn.infstar.magicgem.gui.GemGuiManager;
import cn.infstar.magicgem.skill.SkillEngine;
import cn.infstar.magicgem.util.MessageDispatcher;
import de.tr7zw.changeme.nbtapi.NBT;
import de.tr7zw.changeme.nbtapi.NBTType;
import de.tr7zw.changeme.nbtapi.iface.ReadableNBT;
@@ -33,7 +33,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
public final class CMagicGemCommand implements CommandExecutor, TabCompleter {
public final class MagicGemCommand implements CommandExecutor, TabCompleter {
private final GemRegistry registry;
private final GemService gemService;
private final ItemCodec itemCodec;
@@ -44,7 +44,7 @@ public final class CMagicGemCommand implements CommandExecutor, TabCompleter {
private final MessageDispatcher messages;
private final LanguageManager languages;
public CMagicGemCommand(GemRegistry registry, GemService gemService, ItemCodec itemCodec, GemBrowser browser,
public MagicGemCommand(GemRegistry registry, GemService gemService, ItemCodec itemCodec, GemBrowser browser,
GemGuiManager guiManager, SkillEngine skillEngine, MessageDispatcher messages,
LanguageManager languages, Consumer<String> reload) {
this.registry = registry;
@@ -1,18 +1,16 @@
package cn.infstar.cmagicgem.command;
package cn.infstar.magicgem.command;
import java.util.Locale;
import java.util.function.Predicate;
/** Keeps the legacy MagicGem admin node's "all permissions" behavior. */
/** Applies the MagicGem command permission hierarchy. */
final class PermissionPolicy {
private PermissionPolicy() { }
static boolean allows(String permission, Predicate<String> hasPermission) {
String requested = permission.toLowerCase(Locale.ROOT);
boolean admin = hasPermission.test("magicgem.command.admin")
|| hasPermission.test("cmagicgem.command.admin");
boolean admin = hasPermission.test("magicgem.command.admin");
if (admin) return true;
return hasPermission.test("magicgem.command." + requested)
|| hasPermission.test("cmagicgem.command." + requested);
return hasPermission.test("magicgem.command." + requested);
}
}
@@ -1,9 +1,9 @@
package cn.infstar.cmagicgem.condition;
package cn.infstar.magicgem.condition;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.expression.DynamicExpression;
import cn.infstar.cmagicgem.item.ItemMatcher;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.expression.DynamicExpression;
import cn.infstar.magicgem.item.ItemMatcher;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.config;
package cn.infstar.magicgem.config;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.config;
package cn.infstar.magicgem.config;
import org.bukkit.configuration.file.FileConfiguration;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.dsl;
package cn.infstar.magicgem.dsl;
import java.util.List;
import java.util.Locale;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.dsl;
package cn.infstar.magicgem.dsl;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -1,7 +1,7 @@
package cn.infstar.cmagicgem.expression;
package cn.infstar.magicgem.expression;
import cn.infstar.cmagicgem.integration.PlaceholderBridge;
import cn.infstar.cmagicgem.util.EnchantmentResolver;
import cn.infstar.magicgem.integration.PlaceholderBridge;
import cn.infstar.magicgem.util.EnchantmentResolver;
import de.tr7zw.changeme.nbtapi.NBT;
import org.bukkit.ChatColor;
import org.bukkit.enchantments.Enchantment;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.expression;
package cn.infstar.magicgem.expression;
import java.util.Locale;
import java.util.Map;
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.Directive;
import org.bukkit.Material;
import java.util.List;
@@ -1,9 +1,9 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.util.MaterialResolver;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.util.MaterialResolver;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -1,15 +1,15 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import cn.infstar.cmagicgem.api.event.CMagicGemUseEvent;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.condition.ConditionEngine;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.expression.DynamicExpression;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.item.ItemMatcher;
import cn.infstar.cmagicgem.reward.RewardContext;
import cn.infstar.cmagicgem.reward.RewardEngine;
import cn.infstar.cmagicgem.reward.RewardException;
import cn.infstar.magicgem.api.event.MagicGemUseEvent;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.condition.ConditionEngine;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.expression.DynamicExpression;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.item.ItemMatcher;
import cn.infstar.magicgem.reward.RewardContext;
import cn.infstar.magicgem.reward.RewardEngine;
import cn.infstar.magicgem.reward.RewardException;
import org.bukkit.entity.Player;
import org.bukkit.Bukkit;
import org.bukkit.inventory.ItemStack;
@@ -47,7 +47,7 @@ public final class GemService {
}
public GemUseResult use(Player player, GemDefinition requested, ItemStack target) {
CMagicGemUseEvent event = new CMagicGemUseEvent(player, requested, true);
MagicGemUseEvent event = new MagicGemUseEvent(player, requested, true);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) return GemUseResult.rejected(target,
languages.text("cmagic.use_cancelled", "&c宝石使用已被其他插件取消"));
@@ -157,7 +157,7 @@ public final class GemService {
if (found.isEmpty()) return GemUseResult.rejected(target,
languages.text("cmagic.gem_not_found", "&c未知宝石: {gem}", "gem", gemName));
GemDefinition gem = found.get();
CMagicGemUseEvent event = new CMagicGemUseEvent(player, gem, false);
MagicGemUseEvent event = new MagicGemUseEvent(player, gem, false);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) return GemUseResult.rejected(target,
languages.text("cmagic.remove_cancelled", "&c宝石拆卸已被其他插件取消"));
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import java.util.Locale;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import org.bukkit.inventory.ItemStack;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import java.util.ArrayDeque;
import java.util.Deque;
@@ -1,9 +1,9 @@
package cn.infstar.cmagicgem.gui;
package cn.infstar.magicgem.gui;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.item.ItemCodec;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@@ -1,14 +1,14 @@
package cn.infstar.cmagicgem.gui;
package cn.infstar.magicgem.gui;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.gem.GemService;
import cn.infstar.cmagicgem.gem.GemType;
import cn.infstar.cmagicgem.gem.GemUseResult;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.item.ItemMatcher;
import cn.infstar.cmagicgem.util.MessageDispatcher;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.gem.GemService;
import cn.infstar.magicgem.gem.GemType;
import cn.infstar.magicgem.gem.GemUseResult;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.item.ItemMatcher;
import cn.infstar.magicgem.util.MessageDispatcher;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gui;
package cn.infstar.magicgem.gui;
import org.bukkit.inventory.InventoryHolder;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import org.bukkit.OfflinePlayer;
import org.bukkit.plugin.RegisteredServiceProvider;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import de.tr7zw.changeme.nbtapi.NBT;
import de.tr7zw.changeme.nbtapi.iface.ReadWriteNBT;
@@ -54,7 +54,7 @@ public final class MMOItemsBridge {
copy.mergeCompound(nbt);
for (String key : new ArrayList<>(copy.getKeys())) {
String normalized = key.toUpperCase(Locale.ROOT);
if (!normalized.startsWith("CMAGICGEM_") && !normalized.equals("MYTHIC_TYPE")) copy.removeKey(key);
if (!normalized.startsWith("MAGICGEM_REFORGED_") && !normalized.equals("MYTHIC_TYPE")) copy.removeKey(key);
}
return copy;
});
@@ -1,12 +1,12 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import org.bukkit.inventory.ItemStack;
import org.bukkit.event.Event;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.Location;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.item.ItemCodec;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
@@ -128,8 +128,8 @@ public final class MythicBridge {
Plugin dependency = plugin.getServer().getPluginManager().getPlugin("MythicMobs");
if (dependency == null || !dependency.isEnabled()) return;
String adapter = hasClass(dependency, "io.lumine.mythic.bukkit.MythicBukkit")
? "cn.infstar.cmagicgem.integration.mythic.Mythic5Adapter"
: "cn.infstar.cmagicgem.integration.mythic.Mythic4Adapter";
? "cn.infstar.magicgem.integration.mythic.Mythic5Adapter"
: "cn.infstar.magicgem.integration.mythic.Mythic4Adapter";
try {
Class<?> type = Class.forName(adapter, true, plugin.getClass().getClassLoader());
Object instance = type.getConstructor(JavaPlugin.class, GemRegistry.class, ItemCodec.class,
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.integration;
package cn.infstar.magicgem.integration;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
@@ -1,11 +1,11 @@
package cn.infstar.cmagicgem.integration.mythic;
package cn.infstar.magicgem.integration.mythic;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.integration.MythicBridge.MythicDeathHandler;
import cn.infstar.cmagicgem.integration.MythicBridge.InlineMechanicExecutor;
import cn.infstar.cmagicgem.integration.ProtectionBridge;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.integration.MythicBridge.MythicDeathHandler;
import cn.infstar.magicgem.integration.MythicBridge.InlineMechanicExecutor;
import cn.infstar.magicgem.integration.ProtectionBridge;
import cn.infstar.magicgem.item.ItemCodec;
import io.lumine.xikage.mythicmobs.adapters.AbstractEntity;
import io.lumine.xikage.mythicmobs.adapters.AbstractItemStack;
import io.lumine.xikage.mythicmobs.adapters.bukkit.BukkitAdapter;
@@ -1,11 +1,11 @@
package cn.infstar.cmagicgem.integration.mythic;
package cn.infstar.magicgem.integration.mythic;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.integration.MythicBridge.MythicDeathHandler;
import cn.infstar.cmagicgem.integration.MythicBridge.InlineMechanicExecutor;
import cn.infstar.cmagicgem.integration.ProtectionBridge;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.integration.MythicBridge.MythicDeathHandler;
import cn.infstar.magicgem.integration.MythicBridge.InlineMechanicExecutor;
import cn.infstar.magicgem.integration.ProtectionBridge;
import cn.infstar.magicgem.item.ItemCodec;
import io.lumine.mythic.api.adapters.AbstractEntity;
import io.lumine.mythic.api.adapters.AbstractItemStack;
import io.lumine.mythic.api.config.MythicLineConfig;
@@ -1,10 +1,10 @@
package cn.infstar.cmagicgem.item;
package cn.infstar.magicgem.item;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.migration.LegacyItemMigrator;
import cn.infstar.cmagicgem.util.PotionTypes;
import cn.infstar.cmagicgem.util.MaterialResolver;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.migration.LegacyItemMigrator;
import cn.infstar.magicgem.util.PotionTypes;
import cn.infstar.magicgem.util.MaterialResolver;
import de.tr7zw.changeme.nbtapi.NBT;
import org.bukkit.ChatColor;
import org.bukkit.Bukkit;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.item;
package cn.infstar.magicgem.item;
import de.tr7zw.changeme.nbtapi.NBT;
import org.bukkit.ChatColor;
@@ -1,13 +1,13 @@
package cn.infstar.cmagicgem.listener;
package cn.infstar.magicgem.listener;
import cn.infstar.cmagicgem.config.PluginSettings;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemService;
import cn.infstar.cmagicgem.gem.GemType;
import cn.infstar.cmagicgem.gem.GemUseResult;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.gui.GemWorkbenchHolder;
import cn.infstar.cmagicgem.util.MessageDispatcher;
import cn.infstar.magicgem.config.PluginSettings;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemService;
import cn.infstar.magicgem.gem.GemType;
import cn.infstar.magicgem.gem.GemUseResult;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.gui.GemWorkbenchHolder;
import cn.infstar.magicgem.util.MessageDispatcher;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.migration;
package cn.infstar.magicgem.migration;
import org.bukkit.plugin.java.JavaPlugin;
@@ -1,7 +1,7 @@
package cn.infstar.cmagicgem.migration;
package cn.infstar.magicgem.migration;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import de.tr7zw.changeme.nbtapi.NBT;
import de.tr7zw.changeme.nbtapi.NBTType;
import de.tr7zw.changeme.nbtapi.iface.ReadableNBT;
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.reward;
package cn.infstar.magicgem.reward;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemDefinition;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -1,22 +1,22 @@
package cn.infstar.cmagicgem.reward;
package cn.infstar.magicgem.reward;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.expression.DynamicExpression;
import cn.infstar.cmagicgem.gem.GemDefinition;
import cn.infstar.cmagicgem.gem.GemRegistry;
import cn.infstar.cmagicgem.integration.EconomyBridge;
import cn.infstar.cmagicgem.integration.MythicBridge;
import cn.infstar.cmagicgem.integration.MMOItemsBridge;
import cn.infstar.cmagicgem.integration.PlaceholderBridge;
import cn.infstar.cmagicgem.integration.PlayerPointsBridge;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.item.ItemMatcher;
import cn.infstar.cmagicgem.skill.SkillDefinition;
import cn.infstar.cmagicgem.skill.SkillRegistry;
import cn.infstar.cmagicgem.util.PotionTypes;
import cn.infstar.cmagicgem.util.MaterialResolver;
import cn.infstar.cmagicgem.util.EnchantmentResolver;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.expression.DynamicExpression;
import cn.infstar.magicgem.gem.GemDefinition;
import cn.infstar.magicgem.gem.GemRegistry;
import cn.infstar.magicgem.integration.EconomyBridge;
import cn.infstar.magicgem.integration.MythicBridge;
import cn.infstar.magicgem.integration.MMOItemsBridge;
import cn.infstar.magicgem.integration.PlaceholderBridge;
import cn.infstar.magicgem.integration.PlayerPointsBridge;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.item.ItemMatcher;
import cn.infstar.magicgem.skill.SkillDefinition;
import cn.infstar.magicgem.skill.SkillRegistry;
import cn.infstar.magicgem.util.PotionTypes;
import cn.infstar.magicgem.util.MaterialResolver;
import cn.infstar.magicgem.util.EnchantmentResolver;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
@@ -482,7 +482,7 @@ public final class RewardEngine {
private void rewardLimit(RewardContext context, Directive directive) throws RewardException {
int limit = directive.intArgument(0, "limit");
if (limit <= 0) return;
String key = "CMAGICGEM_LIMIT_" + Integer.toUnsignedString(directive.source().hashCode(), 36);
String key = "MAGICGEM_REFORGED_LIMIT_" + Integer.toUnsignedString(directive.source().hashCode(), 36);
int current = NBT.get(context.item(), nbt -> { return nbt.hasTag(key) ? nbt.getInteger(key) : 0; });
if (!context.removal() && current >= limit) throw new RewardException("该奖励已达到次数上限");
int changedCount = context.removal() ? Math.max(0, current - 1) : current + 1;
@@ -622,7 +622,7 @@ public final class RewardEngine {
? new ArrayList<>(meta.getLore()) : new ArrayList<>();
List<String> nbtSkills = itemCodec.skills(changed);
String requested = directive.argument("", "name", "skill", "s");
String snapshotKey = "CMAGICGEM_HIDDEN_SKILL_LORE";
String snapshotKey = "MAGICGEM_REFORGED_HIDDEN_SKILL_LORE";
JsonObject snapshots;
try {
String encoded = NBT.get(changed, nbt -> nbt.hasTag(snapshotKey) ? nbt.getString(snapshotKey) : "{}");
@@ -789,7 +789,7 @@ public final class RewardEngine {
String mode = directive.argument("RIGHT_CLICK", "mode");
if (id.isBlank()) throw new RewardException("MMOAbility 缺少 id");
String abilityKey = "MMOITEMS_ABILITY";
String marker = "CMAGICGEM_MMO_" + Integer.toUnsignedString(directive.source().hashCode(), 36);
String marker = "MAGICGEM_REFORGED_MMO_" + Integer.toUnsignedString(directive.source().hashCode(), 36);
String snapshotKey = marker + "_SNAPSHOT";
ItemStack changed = context.item().clone();
String encoded = NBT.get(changed, nbt -> { return nbt.hasTag(abilityKey) ? nbt.getString(abilityKey) : "[]"; });
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.reward;
package cn.infstar.magicgem.reward;
public final class RewardException extends Exception {
public RewardException(String message) {
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.Directive;
import java.util.List;
import java.util.Map;
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.Directive;
import java.util.List;
import java.util.Set;
@@ -1,21 +1,21 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.api.event.CMagicEquipmentChangeEvent;
import cn.infstar.cmagicgem.api.event.CMagicJumpEvent;
import cn.infstar.cmagicgem.api.event.CMagicPotionBuffEvent;
import cn.infstar.cmagicgem.api.event.CMagicSkillUseEvent;
import cn.infstar.cmagicgem.condition.ConditionEngine;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.expression.DynamicExpression;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.cmagicgem.integration.MythicBridge;
import cn.infstar.cmagicgem.integration.ProtectionBridge;
import cn.infstar.cmagicgem.reward.RewardContext;
import cn.infstar.cmagicgem.reward.RewardEngine;
import cn.infstar.cmagicgem.reward.RewardException;
import cn.infstar.cmagicgem.util.MessageDispatcher;
import cn.infstar.cmagicgem.util.PotionTypes;
import cn.infstar.magicgem.api.event.MagicEquipmentChangeEvent;
import cn.infstar.magicgem.api.event.MagicJumpEvent;
import cn.infstar.magicgem.api.event.MagicPotionBuffEvent;
import cn.infstar.magicgem.api.event.MagicSkillUseEvent;
import cn.infstar.magicgem.condition.ConditionEngine;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.expression.DynamicExpression;
import cn.infstar.magicgem.item.ItemCodec;
import cn.infstar.magicgem.integration.MythicBridge;
import cn.infstar.magicgem.integration.ProtectionBridge;
import cn.infstar.magicgem.reward.RewardContext;
import cn.infstar.magicgem.reward.RewardEngine;
import cn.infstar.magicgem.reward.RewardException;
import cn.infstar.magicgem.util.MessageDispatcher;
import cn.infstar.magicgem.util.PotionTypes;
import de.tr7zw.changeme.nbtapi.NBT;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -191,7 +191,7 @@ public final class SkillEngine implements Listener {
tip(player, skill.failTip());
return;
}
CMagicSkillUseEvent useEvent = new CMagicSkillUseEvent(player, skill, item);
MagicSkillUseEvent useEvent = new MagicSkillUseEvent(player, skill, item);
Bukkit.getPluginManager().callEvent(useEvent);
if (useEvent.isCancelled()) return;
boolean executed = false;
@@ -304,7 +304,7 @@ public final class SkillEngine implements Listener {
int refresh = Math.max(0, (int) Math.round(value(mechanic.argument("0", "refresh"), player, item) * 20));
PotionEffect old = living.getPotionEffect(type);
if (old != null && (old.getAmplifier() > level - 1 || old.getDuration() > refresh)) return;
CMagicPotionBuffEvent event = new CMagicPotionBuffEvent(player, living, type, level - 1, duration);
MagicPotionBuffEvent event = new MagicPotionBuffEvent(player, living, type, level - 1, duration);
Bukkit.getPluginManager().callEvent(event);
if (!event.isCancelled()) living.addPotionEffect(new PotionEffect(type, event.getDurationTicks(),
event.getAmplifier(), true, true, true), true);
@@ -392,17 +392,17 @@ public final class SkillEngine implements Listener {
String tag = mechanic.argument("default", "tag");
long count;
if (mechanic.booleanArgument(false, "persist", "p")) {
String key = "cmagicgem_counter_" + Integer.toHexString(tag.hashCode());
String key = "magicgem_reforged_counter_" + Integer.toHexString(tag.hashCode());
count = NBT.get(item, nbt -> { return nbt.hasTag(key) ? nbt.getLong(key) + 1 : 1L; });
long stored = count;
NBT.modify(item, nbt -> { nbt.setLong(key, stored); });
} else {
String itemId = NBT.get(item, nbt -> nbt.hasTag("CMAGICGEM_RUNTIME_ID")
? nbt.getString("CMAGICGEM_RUNTIME_ID") : "");
String itemId = NBT.get(item, nbt -> nbt.hasTag("MAGICGEM_REFORGED_RUNTIME_ID")
? nbt.getString("MAGICGEM_REFORGED_RUNTIME_ID") : "");
if (itemId.isBlank()) {
itemId = UUID.randomUUID().toString();
String generated = itemId;
NBT.modify(item, nbt -> { nbt.setString("CMAGICGEM_RUNTIME_ID", generated); });
NBT.modify(item, nbt -> { nbt.setString("MAGICGEM_REFORGED_RUNTIME_ID", generated); });
}
String key = player.getUniqueId() + ":" + itemId + ':' + slot + ':'
+ Integer.toUnsignedString(mechanic.source().hashCode(), 36) + ':' + tag;
@@ -634,7 +634,7 @@ public final class SkillEngine implements Listener {
public void onJump(PlayerJumpEvent event) {
Player player = event.getPlayer();
if (debuffed(player, "JUMP")) { event.setCancelled(true); return; }
CMagicJumpEvent jump = new CMagicJumpEvent(player, event.getFrom(), event.getTo());
MagicJumpEvent jump = new MagicJumpEvent(player, event.getFrom(), event.getTo());
Bukkit.getPluginManager().callEvent(jump);
if (jump.isCancelled()) { event.setCancelled(true); return; }
trigger(player, TriggerType.JUMP, List.of(), null, jump.getTo(), event);
@@ -764,23 +764,23 @@ public final class SkillEngine implements Listener {
@EventHandler(ignoreCancelled = true)
public void onArmorChange(PlayerArmorChangeEvent event) {
equipmentChange(event.getPlayer(), event.getSlotType().name().toLowerCase(Locale.ROOT),
event.getOldItem(), event.getNewItem(), CMagicEquipmentChangeEvent.Cause.ARMOR, event);
event.getOldItem(), event.getNewItem(), MagicEquipmentChangeEvent.Cause.ARMOR, event);
}
@EventHandler(ignoreCancelled = true)
public void onHeld(PlayerItemHeldEvent event) {
Player player = event.getPlayer();
equipmentChange(player, "mainhand", player.getInventory().getItem(event.getPreviousSlot()),
player.getInventory().getItem(event.getNewSlot()), CMagicEquipmentChangeEvent.Cause.HELD, event);
player.getInventory().getItem(event.getNewSlot()), MagicEquipmentChangeEvent.Cause.HELD, event);
}
@EventHandler(ignoreCancelled = true)
public void onSwap(PlayerSwapHandItemsEvent event) {
Player player = event.getPlayer();
equipmentChange(player, "mainhand", player.getInventory().getItemInMainHand(), event.getMainHandItem(),
CMagicEquipmentChangeEvent.Cause.SWAP, event);
MagicEquipmentChangeEvent.Cause.SWAP, event);
equipmentChange(player, "offhand", player.getInventory().getItemInOffHand(), event.getOffHandItem(),
CMagicEquipmentChangeEvent.Cause.SWAP, event);
MagicEquipmentChangeEvent.Cause.SWAP, event);
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
@@ -793,10 +793,10 @@ public final class SkillEngine implements Listener {
ItemStack currentOffHand = snapshot(player.getInventory().getItemInOffHand());
if (!sameItem(mainHand, currentMainHand))
equipmentChange(player, "mainhand", mainHand, currentMainHand,
CMagicEquipmentChangeEvent.Cause.INVENTORY, event);
MagicEquipmentChangeEvent.Cause.INVENTORY, event);
if (!sameItem(offHand, currentOffHand))
equipmentChange(player, "offhand", offHand, currentOffHand,
CMagicEquipmentChangeEvent.Cause.INVENTORY, event);
MagicEquipmentChangeEvent.Cause.INVENTORY, event);
});
}
@@ -804,7 +804,7 @@ public final class SkillEngine implements Listener {
public void onBreak(PlayerItemBreakEvent event) {
if (isArmor(event.getBrokenItem().getType())) return;
equipmentChange(event.getPlayer(), slotFor(event.getPlayer(), event.getBrokenItem()), event.getBrokenItem(),
null, CMagicEquipmentChangeEvent.Cause.BREAK, event);
null, MagicEquipmentChangeEvent.Cause.BREAK, event);
}
@EventHandler
@@ -828,8 +828,8 @@ public final class SkillEngine implements Listener {
}
private void equipmentChange(Player player, String slot, ItemStack oldItem, ItemStack newItem,
CMagicEquipmentChangeEvent.Cause cause, Event source) {
CMagicEquipmentChangeEvent event = new CMagicEquipmentChangeEvent(player, slot, oldItem, newItem, cause);
MagicEquipmentChangeEvent.Cause cause, Event source) {
MagicEquipmentChangeEvent event = new MagicEquipmentChangeEvent(player, slot, oldItem, newItem, cause);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) return;
if (oldItem != null && !oldItem.getType().isAir())
@@ -1,8 +1,8 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.api.event.CMagicSkillLoadEvent;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.api.event.MagicSkillLoadEvent;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
@@ -53,7 +53,7 @@ public final class SkillRegistry {
ConfigurationSection section = yaml.getConfigurationSection(key);
if (section == null) continue;
try {
CMagicSkillLoadEvent event = new CMagicSkillLoadEvent(key, section);
MagicSkillLoadEvent event = new MagicSkillLoadEvent(key, section);
plugin.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) loaded.put(key.toLowerCase(Locale.ROOT), parse(key, event.getConfig()));
}
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import java.util.Locale;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.util;
package cn.infstar.magicgem.util;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.util;
package cn.infstar.magicgem.util;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -1,10 +1,10 @@
package cn.infstar.cmagicgem.util;
package cn.infstar.magicgem.util;
import cn.infstar.cmagicgem.config.LanguageManager;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.integration.PlaceholderBridge;
import cn.infstar.cmagicgem.item.ItemCodec;
import cn.infstar.magicgem.config.LanguageManager;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.integration.PlaceholderBridge;
import cn.infstar.magicgem.item.ItemCodec;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import net.kyori.adventure.title.Title;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.util;
package cn.infstar.magicgem.util;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
@@ -1,27 +0,0 @@
package cn.infstar.magicgemreforged;
import pku.yim.magicgem.MagicGem;
/** Paper entry point for MagicGem Reforged. The superclass keeps the original public API available. */
public final class MagicGemReforged extends MagicGem {
public static MagicGemReforged instance;
public static MagicGemReforged getInstance() {
return instance;
}
@Override
public void onEnable() {
instance = this;
super.onEnable();
}
@Override
public void onDisable() {
try {
super.onDisable();
} finally {
if (instance == this) instance = null;
}
}
}
+3 -3
View File
@@ -1,12 +1,12 @@
package pku.yim.magicgem;
import cn.infstar.cmagicgem.CMagicGem;
import cn.infstar.cmagicgem.config.PluginSettings;
import cn.infstar.magicgem.MagicGemPlugin;
import cn.infstar.magicgem.config.PluginSettings;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
/** Compatibility base class retained for plugins compiled against the original MagicGem API. */
public class MagicGem extends CMagicGem {
public class MagicGem extends MagicGemPlugin {
public static MagicGem instance;
public static boolean placeholderapi;
public static boolean MMCorMMA;
+1 -8
View File
@@ -1,7 +1,7 @@
name: MagicGem-Reforged
version: '${version}'
description: MagicGem Reforged for Paper 1.21.x
main: cn.infstar.magicgemreforged.MagicGemReforged
main: cn.infstar.magicgem.MagicGem
api-version: '1.21'
authors: [ Coldsmile_7 ]
softdepend: [PlaceholderAPI, Vault, PlayerPoints, MythicMobs, MMOItems, MythicArtifacts, MythicCrucible, Residence, PvPManager, EcoEnchants, GoldenEnchants]
@@ -9,14 +9,7 @@ commands:
mgem:
description: MagicGem Reforged main command
usage: /mgem help
aliases: [cmgem, cmg]
permissions:
cmagicgem.command.admin:
default: op
cmagicgem.command.view:
default: op
cmagicgem.command.embed:
default: op
magicgem.command.admin:
default: op
magicgem.command.view:
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.api;
package cn.infstar.magicgem.api;
import org.junit.jupiter.api.Test;
import pku.yim.magicgem.api.PlayerSlotType;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.command;
package cn.infstar.magicgem.command;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.dsl;
package cn.infstar.magicgem.dsl;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.expression;
package cn.infstar.magicgem.expression;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.gem;
package cn.infstar.magicgem.gem;
import org.bukkit.Material;
import org.junit.jupiter.api.Test;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.migration;
package cn.infstar.magicgem.migration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
@@ -1,4 +1,4 @@
package cn.infstar.cmagicgem.reward;
package cn.infstar.magicgem.reward;
import org.junit.jupiter.api.Test;
@@ -1,8 +1,8 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.dsl.Directive;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.cmagicgem.reward.RewardEngine;
import cn.infstar.magicgem.dsl.Directive;
import cn.infstar.magicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.reward.RewardEngine;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.junit.jupiter.api.Test;
@@ -27,11 +27,9 @@ class BundledConfigurationTest {
YamlConfiguration descriptor = YamlConfiguration.loadConfiguration(new File("src/main/resources/plugin.yml"));
assertTrue(descriptor.getString("name").equalsIgnoreCase("MagicGem-Reforged"));
assertTrue(descriptor.getString("main").equals("cn.infstar.magicgemreforged.MagicGemReforged"));
assertTrue(descriptor.getString("main").equals("cn.infstar.magicgem.MagicGem"));
assertNotNull(descriptor.getConfigurationSection("commands.mgem"));
assertTrue(descriptor.getStringList("commands.mgem.aliases").contains("cmg"));
assertTrue(descriptor.getStringList("commands.mgem.aliases").contains("cmgem"));
assertNull(descriptor.getConfigurationSection("commands.cmgem"));
assertTrue(descriptor.getStringList("commands.mgem.aliases").isEmpty());
assertNull(descriptor.getConfigurationSection("commands.magicgem"));
assertNotNull(descriptor.getConfigurationSection("permissions.magicgem.command.admin"));
assertNotNull(descriptor.getConfigurationSection("permissions.magicgem.command.view"));
@@ -1,6 +1,6 @@
package cn.infstar.cmagicgem.skill;
package cn.infstar.magicgem.skill;
import cn.infstar.cmagicgem.dsl.DirectiveParser;
import cn.infstar.magicgem.dsl.DirectiveParser;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;