AuCardBackpack/src/main/java/com/yaohun/cardbackpack/AuCardBackpack.java
2025-07-25 12:36:33 +08:00

111 lines
4.0 KiB
Java

package com.yaohun.cardbackpack;
import com.yaohun.cardbackpack.config.Config;
import com.yaohun.cardbackpack.data.PlayerData;
import com.yaohun.cardbackpack.gui.CardGui;
import com.yaohun.cardbackpack.gui.CardGui_Others;
import com.yaohun.cardbackpack.gui.ConfirmGui;
import com.yaohun.cardbackpack.listener.KillMobsListener;
import com.yaohun.cardbackpack.listener.PlayerListener;
import com.yaohun.cardbackpack.manage.CacheManager;
import com.yaohun.cardbackpack.manage.DataManager;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class AuCardBackpack extends JavaPlugin {
private static AuCardBackpack instance;
private static DataManager dataManager;
private static CacheManager cacheManager;
@Override
public void onEnable() {
instance = this;
dataManager = new DataManager();
cacheManager = new CacheManager();
Config.reloadConfig();
getServer().getPluginManager().registerEvents(new CardGui(), this);
getServer().getPluginManager().registerEvents(new ConfirmGui(), this);
getServer().getPluginManager().registerEvents(new PlayerListener(), this);
getServer().getPluginManager().registerEvents(new KillMobsListener(), this);
getServer().getPluginManager().registerEvents(new CardGui_Others(), this);
}
@Override
public void onDisable() {
getDataManager().SaveAllPlayerData();
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String Command, String[] args) {
if (args.length == 1 && args[0].equalsIgnoreCase("open")) {
CardGui.OpenGui((Player) sender);
return true;
}
if (!sender.isOp()) {
return true;
}
if (args.length == 0) {
sender.sendMessage("");
sender.sendMessage("§e------- ======= §6魂卡背包 §e======= -------");
sender.sendMessage("§2/"+Command+" open §f- §2打开背包");
sender.sendMessage("§2/"+Command+" open §e[玩家] §f- §2打开玩家背包");
sender.sendMessage("§2/"+Command+" reload §f- §2重载配置文件");
sender.sendMessage("§e------- ======= §6魂卡背包 §e======= -------");
sender.sendMessage("");
return true;
}
if(args.length == 1 && args[0].equalsIgnoreCase("reload")) {
getDataManager().reloadDataManager();
sender.sendMessage("§f[§c魂卡§f] §a配置文件已重载.");
return true;
}
if("open".equalsIgnoreCase(args[0])){
if(args.length == 1){
sender.sendMessage("[魂卡] 缺少目标玩家参数.");
return true;
}
String othersName = args[1];
CardGui_Others.openGui((Player) sender, othersName);
return true;
}
return false;
}
public static AuCardBackpack inst() {
return instance;
}
public static DataManager getDataManager() {
return dataManager;
}
public static CacheManager getCacheManager() {
return cacheManager;
}
public static void sendMessage(CommandSender sender, String message) {
String prefix = Config.langData.getMessage("prefix");
if(sender instanceof Player){
Player player = (Player) sender;
player.sendMessage(prefix+message);
} else {
sender.sendMessage(prefix+message);
}
}
public static void sendMessage(CommandSender sender, String message, Sound sound) {
String prefix = Config.langData.getMessage("prefix");
if(sender instanceof Player){
Player player = (Player) sender;
player.sendMessage(prefix+message);
player.playSound(player.getLocation(), sound, 0.5f, 1.2f);
} else {
sender.sendMessage(prefix+message);
}
}
}