1.8.3
Add English language,move what in "language.yml" to "lang\Chinese(English).yml",fix the bug of drop-item gui title.
This commit is contained in:
@@ -13,60 +13,67 @@ import org.bukkit.plugin.java.JavaPlugin;
|
||||
import xanadu.enderdragon.commands.MainCommand;
|
||||
import xanadu.enderdragon.commands.TabCompleter;
|
||||
import xanadu.enderdragon.events.*;
|
||||
import xanadu.enderdragon.lang.Message;
|
||||
import xanadu.enderdragon.listeners.InventoryClick;
|
||||
import xanadu.enderdragon.metrics.Metrics;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
|
||||
public final class EnderDragon extends JavaPlugin {
|
||||
|
||||
public static String prefix = "";
|
||||
public static String language = "";
|
||||
public static String langPath = "";
|
||||
public static Plugin plugin;
|
||||
public static Server server;
|
||||
public static PluginManager pm;
|
||||
public static File data0;
|
||||
public static File language0;
|
||||
public static File dataF;
|
||||
public static File langF;
|
||||
public static FileConfiguration data;
|
||||
public static FileConfiguration language;
|
||||
public static FileConfiguration lang;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
plugin = this;
|
||||
server = plugin.getServer();
|
||||
pm = Bukkit.getPluginManager();
|
||||
boolean configNotFound = false;
|
||||
boolean dataNotFound = false;
|
||||
if (!new File(getDataFolder(), "config.yml").exists()) {
|
||||
saveDefaultConfig();
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 未检测到config.yml文件,正在生成新的配置文件");
|
||||
configNotFound = true;
|
||||
}
|
||||
if (!new File(getDataFolder(), "data.yml").exists()) {
|
||||
this.saveResource("data.yml",false);
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 未检测到data.yml文件,正在生成新的配置文件");
|
||||
dataNotFound = true;
|
||||
}
|
||||
if (!new File(getDataFolder(), "language.yml").exists()) {
|
||||
this.saveResource("language.yml",false);
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 未检测到language.yml文件,正在生成新的配置文件");
|
||||
language = plugin.getConfig().getString("lang","English");
|
||||
langPath = "lang/" + language + ".yml";
|
||||
if (!new File(getDataFolder(), langPath).exists()) {
|
||||
this.saveResource(langPath, false);
|
||||
}
|
||||
data0 = new File(plugin.getDataFolder(),"data.yml");
|
||||
language0 = new File(plugin.getDataFolder(),"language.yml");
|
||||
data = YamlConfiguration.loadConfiguration(data0);
|
||||
language = YamlConfiguration.loadConfiguration(language0);
|
||||
prefix = language.getString("prefix");
|
||||
if(!getConfig().getString("version").equals("1.8.2") ){
|
||||
Bukkit.getConsoleSender().sendMessage("§c[EnderDragon] config.yml版本与插件不对应,请更新配置文件");
|
||||
sendMessage("§a[EnderDragon] Language: §6" + language);
|
||||
dataF = new File(plugin.getDataFolder(),"data.yml");
|
||||
langF = new File(getDataFolder(), langPath);
|
||||
lang = YamlConfiguration.loadConfiguration(langF);
|
||||
data = YamlConfiguration.loadConfiguration(dataF);
|
||||
Message.loadLanguage();
|
||||
prefix = lang.getString("prefix","§7[§eEnderDragon§7]§r ");
|
||||
if(configNotFound){sendMessage(Message.configNotFound);}
|
||||
if(dataNotFound){sendMessage(Message.dataNotFound);}
|
||||
if(!getConfig().getString("version").equals("1.8.3") ){
|
||||
sendMessage(Message.configWrongVersion);
|
||||
}
|
||||
if(!data.getString("version").equals("1.8.1") ){
|
||||
Bukkit.getConsoleSender().sendMessage("§c[EnderDragon] data.yml版本与插件不对应,请更新配置文件");
|
||||
sendMessage(Message.dataWrongVersion);
|
||||
}
|
||||
if(!language.getString("version").equals("1.8") ){
|
||||
Bukkit.getConsoleSender().sendMessage("§c[EnderDragon] language.yml版本与插件不对应,请更新配置文件");
|
||||
if(!lang.getString("version").equals("1.8.3") ){
|
||||
sendMessage(Message.langWrongVersion);
|
||||
}
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 插件已加载");
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 作者:Xanadu13");
|
||||
sendMessage(Message.loaded);
|
||||
sendMessage("§a[EnderDragon] Author: Xanadu13");
|
||||
pm.registerEvents(new CreatureHurt(),this);
|
||||
pm.registerEvents(new DragonAttack(),this);
|
||||
pm.registerEvents(new DragonDeath(),this);
|
||||
@@ -76,7 +83,7 @@ public final class EnderDragon extends JavaPlugin {
|
||||
getCommand("enderdragon").setExecutor(new MainCommand());
|
||||
getCommand("enderdragon").setTabCompleter(new TabCompleter());
|
||||
Metrics metrics = new Metrics(this,14850);
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 正在为您检查更新...");
|
||||
sendMessage(Message.checkingUpdate);
|
||||
try {
|
||||
URLConnection conn = new URL("https://api.github.com/repos/iXanadu13/EnderDragon/releases/latest").openConnection();
|
||||
conn.setConnectTimeout(20000);
|
||||
@@ -87,12 +94,12 @@ public final class EnderDragon extends JavaPlugin {
|
||||
String newVer = line.substring(line.indexOf("\"tag_name\"") + 13, line.indexOf("\"target_commitish\"") - 2);
|
||||
String localVer = plugin.getDescription().getVersion();
|
||||
if (!localVer.equals(newVer)) {
|
||||
Bukkit.getConsoleSender().sendMessage("§e[EnderDragon] 您正在使用的插件版本: v"+localVer);
|
||||
Bukkit.getConsoleSender().sendMessage("§e[EnderDragon] 检测到新版插件v"+newVer+"已发布,请尽快更新");
|
||||
Bukkit.getConsoleSender().sendMessage("§e[EnderDragon] 下载地址:https://www.mcbbs.net/thread-1314199-1-1.html");
|
||||
sendMessage(Message.OutOfDate1.replace("{0}",localVer));
|
||||
sendMessage(Message.OutOfDate2.replace("{1}",newVer));
|
||||
sendMessage(Message.OutOfDate3);
|
||||
}
|
||||
else{
|
||||
Bukkit.getConsoleSender().sendMessage("§a[EnderDragon] 您正在使用最新版的插件(v"+localVer+")...");
|
||||
sendMessage(Message.UpToDate.replace("{1}",newVer));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -103,7 +110,12 @@ public final class EnderDragon extends JavaPlugin {
|
||||
@Override
|
||||
public void onDisable()
|
||||
{
|
||||
Bukkit.getConsoleSender().sendMessage("§e[EnderDragon] 插件已卸载");
|
||||
sendMessage(Message.onDisable);
|
||||
}
|
||||
|
||||
|
||||
public void sendMessage(String msg) {
|
||||
Bukkit.getConsoleSender().sendMessage(msg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import xanadu.enderdragon.lang.Message;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -23,30 +25,42 @@ public class MainCommand implements CommandExecutor {
|
||||
if (args.length == 1) {
|
||||
if (args[0].equalsIgnoreCase("reload")) {
|
||||
if(!sender.hasPermission("ed.reload")){
|
||||
sender.sendMessage("§4你没有使用该命令的权限");
|
||||
sender.sendMessage(Message.NoCommandPermission);
|
||||
return false;
|
||||
}
|
||||
if (!new File(plugin.getDataFolder(), "config.yml").exists()) {
|
||||
plugin.saveDefaultConfig();
|
||||
}
|
||||
if (!new File(plugin.getDataFolder(), "data.yml").exists()) {
|
||||
plugin.saveResource("data.yml", false);
|
||||
}
|
||||
plugin.reloadConfig();
|
||||
data = YamlConfiguration.loadConfiguration(data0);
|
||||
language = YamlConfiguration.loadConfiguration(language0);
|
||||
prefix = language.getString("prefix");
|
||||
sender.sendMessage(prefix + "§a配置文件已重载");
|
||||
data = YamlConfiguration.loadConfiguration(dataF);
|
||||
language = plugin.getConfig().getString("lang","Chinese");
|
||||
langPath = "lang/" + language + ".yml";
|
||||
if (!new File(plugin.getDataFolder(), langPath).exists()) {
|
||||
plugin.saveResource(langPath, false);
|
||||
}
|
||||
langF = new File(plugin.getDataFolder(), langPath);
|
||||
lang = YamlConfiguration.loadConfiguration(langF);
|
||||
Message.loadLanguage();
|
||||
sender.sendMessage(prefix + Message.configReloaded);
|
||||
}
|
||||
}
|
||||
else if (args.length > 1 && args[0].equalsIgnoreCase("drop") ) {
|
||||
if (!(sender instanceof Player || args[1].equalsIgnoreCase("clear"))) {
|
||||
sender.sendMessage(prefix + "§c这个指令只能由玩家执行");
|
||||
sender.sendMessage(prefix + Message.PlayerCommand);
|
||||
return false;
|
||||
}
|
||||
if (args[1].equalsIgnoreCase("add")) {
|
||||
if(!sender.hasPermission("ed.drop.change")){
|
||||
sender.sendMessage("§4你没有使用该命令的权限");
|
||||
if(!sender.hasPermission("ed.drop.edit")){
|
||||
sender.sendMessage(Message.NoCommandPermission);
|
||||
return false;
|
||||
}
|
||||
if(args.length == 3 ) {
|
||||
Player p = (Player) sender;
|
||||
if(p.getItemInHand().getType() == Material.AIR){
|
||||
p.sendMessage(prefix + "§c添加掉落物失败,你手上没有拿物品...");
|
||||
p.sendMessage(prefix + Message.DropItemAddFail);
|
||||
return false;
|
||||
}
|
||||
String ChanceStr = args[2];
|
||||
@@ -54,10 +68,10 @@ public class MainCommand implements CommandExecutor {
|
||||
try {
|
||||
chance = Double.parseDouble(ChanceStr);
|
||||
} catch (NumberFormatException ex){
|
||||
p.sendMessage(prefix + "§c您应该输入数字而不是 " + ChanceStr);
|
||||
p.sendMessage(prefix + Message.MustNumber + ChanceStr);
|
||||
throw new NumberFormatException("\n\n"
|
||||
+ "\33[31;1m" + "错误的命令: /ed drop add " + ChanceStr + "\n"
|
||||
+ "\33[33;1m" + "正确用法: /ed drop add 数字" + "\n"
|
||||
+ "\33[31;1m" + "Error: /ed drop add " + ChanceStr + "\n"
|
||||
+ "\33[33;1m" + "Valid: /ed drop add " +Message.Number+ "\n"
|
||||
+ "\33[0m");
|
||||
}
|
||||
List<String> datum = data.getStringList("items");
|
||||
@@ -66,34 +80,34 @@ public class MainCommand implements CommandExecutor {
|
||||
datum.add(String.valueOf(chance));
|
||||
data.set("items", datum);
|
||||
try {
|
||||
data.save(data0);
|
||||
data.save(dataF);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
data = YamlConfiguration.loadConfiguration(data0);
|
||||
p.sendMessage(prefix + "§a掉落物添加成功,概率为: §c" + chance + "%");
|
||||
data = YamlConfiguration.loadConfiguration(dataF);
|
||||
p.sendMessage(prefix + Message.DropItemAddSucceed.replace("{chance}",""+chance));
|
||||
|
||||
}
|
||||
}
|
||||
if (args[1].equalsIgnoreCase("clear")) {
|
||||
if(!sender.hasPermission("ed.drop.change")){
|
||||
sender.sendMessage("§4你没有使用该命令的权限");
|
||||
if(!sender.hasPermission("ed.drop.edit")){
|
||||
sender.sendMessage(Message.NoCommandPermission);
|
||||
return false;
|
||||
}
|
||||
if(args.length == 2 ) {
|
||||
data.set("items","");
|
||||
try {
|
||||
data.save(data0);
|
||||
data.save(dataF);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
data = YamlConfiguration.loadConfiguration(data0);
|
||||
sender.sendMessage(prefix + "§a掉落物配置已清空");
|
||||
data = YamlConfiguration.loadConfiguration(dataF);
|
||||
sender.sendMessage(prefix + Message.ClearDropItemConfig);
|
||||
}
|
||||
}
|
||||
if (args[1].equalsIgnoreCase("gui")) {
|
||||
if(!sender.hasPermission("ed.drop.gui")){
|
||||
sender.sendMessage("§4你没有使用该命令的权限");
|
||||
sender.sendMessage(Message.NoCommandPermission);
|
||||
return false;
|
||||
}
|
||||
if(args.length == 2 ) {
|
||||
@@ -112,11 +126,11 @@ public class MainCommand implements CommandExecutor {
|
||||
if(meta != null) {
|
||||
List<String> lore = meta.getLore();
|
||||
if(lore != null) {
|
||||
lore.add("§6(掉落概率: " + chance + "%)§r");
|
||||
lore.add("§6("+Message.DropChance+": " + chance + "%)§r");
|
||||
meta.setLore(lore);
|
||||
}
|
||||
else{
|
||||
meta.setLore(Collections.singletonList("§6(掉落概率: " + chance + "%)§r"));
|
||||
meta.setLore(Collections.singletonList("§6("+Message.DropChance+": " + chance + "%)§r"));
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
@@ -130,8 +144,8 @@ public class MainCommand implements CommandExecutor {
|
||||
|
||||
}
|
||||
else {
|
||||
sender.sendMessage("§e/ed reload 重载配置文件");
|
||||
sender.sendMessage("§e/ed drop 特殊龙掉落物设置");
|
||||
sender.sendMessage(Message.CommandTips1);
|
||||
sender.sendMessage(Message.CommandTips2);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import xanadu.enderdragon.lang.Message;
|
||||
|
||||
import static xanadu.enderdragon.EnderDragon.*;
|
||||
|
||||
@@ -14,15 +15,15 @@ public class CreatureHurt implements Listener {
|
||||
@EventHandler
|
||||
public void OnCreatureHurt(EntityDamageByEntityEvent e){
|
||||
int DamageVisual = plugin.getConfig().getInt("special-dragon.damage-visible");
|
||||
String message = language.getString("damage-display");
|
||||
String MSG = Message.DamageDisplay;
|
||||
if(DamageVisual == 0){return;}
|
||||
if(e.getDamager().getType() != EntityType.PLAYER){return;}
|
||||
if(e.getEntity().getType() != EntityType.ENDER_DRAGON){return;}
|
||||
Player p = (Player) e.getDamager();
|
||||
double damage = e.getDamage();
|
||||
message = message.replaceAll("%damage%", String.valueOf(damage));
|
||||
if(DamageVisual == 1){p.sendTitle("",message,5,40,5);}
|
||||
if(DamageVisual == 2){p.sendMessage(message);}
|
||||
if(DamageVisual == 3){p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));}
|
||||
MSG = MSG.replaceAll("%damage%", String.valueOf(damage));
|
||||
if(DamageVisual == 1){p.sendTitle("",MSG,5,40,5);}
|
||||
if(DamageVisual == 2){p.sendMessage(MSG);}
|
||||
if(DamageVisual == 3){p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(MSG));}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import xanadu.enderdragon.EnderDragon;
|
||||
import xanadu.enderdragon.lang.Message;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
@@ -26,7 +27,7 @@ public class DragonDeath implements Listener {
|
||||
if(e.getEntity().getType() != EntityType.ENDER_DRAGON){return;}
|
||||
int times = data.getInt("times");
|
||||
data.set("times",times+1);
|
||||
data.save(data0);
|
||||
data.save(dataF);
|
||||
Player p = e.getEntity().getKiller();
|
||||
int exp = plugin.getConfig().getInt("special-dragon.exp-drop");
|
||||
int x = plugin.getConfig().getInt("special-dragon.dragon-egg-spawn.x");
|
||||
@@ -36,10 +37,10 @@ public class DragonDeath implements Listener {
|
||||
boolean UseCMD = plugin.getConfig().getBoolean("command.enable");
|
||||
boolean EggChance = plugin.getConfig().getInt("special-dragon.dragon-egg-spawn.chance") > ThreadLocalRandom.current().nextInt(0, 100);
|
||||
boolean AllBroadcast = !plugin.getConfig().getBoolean("only-special-death-remind");
|
||||
String skill = language.getString("killer-message");
|
||||
String KillMsg = language.getString("dragon-killing-broadcast");
|
||||
String nobody = language.getString("nobody-kill");
|
||||
String InvIsFull = language.getString("player-inv-full");
|
||||
String skill = Message.KillerMessage;
|
||||
String KillMsg = Message.DragonKillingBroadcast;
|
||||
String nobody = Message.NobodyKill;
|
||||
String InvIsFull = Message.PlayerInvFull;
|
||||
if(KillMsg != null) {
|
||||
if(p != null) {
|
||||
if ((e.getEntity().getScoreboardTags().contains("special")) || (AllBroadcast)) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
import xanadu.enderdragon.lang.Message;
|
||||
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
@@ -24,10 +25,11 @@ public class DragonSpawn implements Listener {
|
||||
double health = plugin.getConfig().getDouble("special-dragon.max-health");
|
||||
double SpawnHealth = plugin.getConfig().getDouble("special-dragon.spawn-health");
|
||||
int circle = plugin.getConfig().getInt("special-dragon.respawn-circle");
|
||||
if (circle == 0 ){circle = 999999999;}
|
||||
boolean chance = plugin.getConfig().getInt("special-dragon.chance") > ThreadLocalRandom.current().nextInt(0, 100);
|
||||
boolean SpecialMsg0 = plugin.getConfig().getBoolean("special-dragon.spawn-remind");
|
||||
String SpawnMsg = language.getString("dragon-spawn-broadcast");
|
||||
String SpecialMsg = language.getString("special-broadcast");
|
||||
String SpawnMsg = Message.DragonSpawnBroadcast;
|
||||
String SpecialMsg = Message.SpecialBroadcast;
|
||||
String Name = plugin.getConfig().getString("special-dragon.name");
|
||||
String NormalName = plugin.getConfig().getString("normal-dragon.name");
|
||||
String color = plugin.getConfig().getString("special-dragon.glow-color");
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#配置文件版本,请勿修改
|
||||
version: 1.8.3
|
||||
|
||||
configNotFound: '§a[EnderDragon] config.yml不存在, 已自动创建.'
|
||||
dataNotFound: '§a[EnderDragon] data.yml不存在, 已自动创建.'
|
||||
messageNotFound: '§a[EnderDragon] message.yml不存在, 已自动创建.'
|
||||
configWrongVersion: '§c[EnderDragon] config.yml版本与插件不对应,请更新配置文件'
|
||||
dataWrongVersion: '§c[EnderDragon] data.yml版本与插件不对应,请更新配置文件'
|
||||
langWrongVersion: '§c[EnderDragon] 语言文件版本与插件不对应,请更新语言文件'
|
||||
messageWrongVersion: '§c[EnderDragon] message.yml版本与插件不对应,请更新配置文件'
|
||||
loaded: '§a[EnderDragon] 插件已加载'
|
||||
checkingUpdate: '§a[EnderDragon] 正在为您检查更新...'
|
||||
OutOfDate1: '§e[EnderDragon] 您正在使用的插件版本: v{0}'
|
||||
OutOfDate2: '§e[EnderDragon] 检测到新版插件v{1}已发布,请尽快更新'
|
||||
OutOfDate3: '§e[EnderDragon] 下载地址:https://www.mcbbs.net/thread-1314199-1-1.html'
|
||||
UpToDate: '§a[EnderDragon] 您正在使用最新版的插件(v{1})...'
|
||||
onDisable: '§e[EnderDragon] 插件已卸载'
|
||||
|
||||
NoCommandPermission: '§4你没有使用该命令的权限'
|
||||
configReloaded: '§a配置文件已重载'
|
||||
PlayerCommand: '§c这个指令只能由玩家执行'
|
||||
DropItemAddFail: '§c添加掉落物失败,你手上没有拿物品...'
|
||||
DropItemAddSucceed: '§a掉落物添加成功,概率为: §c{chance}%'
|
||||
MustNumber: '§c您应该输入数字而不是 '
|
||||
Number: '数字'
|
||||
DropChance: '掉落概率'
|
||||
ClearDropItemConfig: '§a掉落物配置已清空'
|
||||
CommandTips1: '§e/ed reload 重载配置文件'
|
||||
CommandTips2: '§e/ed drop 特殊龙掉落物设置'
|
||||
|
||||
#消息提示前缀
|
||||
prefix: '§7[§eEnderDragon§7]§r '
|
||||
|
||||
#末影龙生成时全服提示内容
|
||||
#仅在此处有效:可用%times%代替这条末影龙的数字序号,输入“none”代表不提示
|
||||
dragon-spawn-broadcast: '§a第 %times% 条末影龙已被复活'
|
||||
|
||||
#生成特殊龙后全服提醒内容
|
||||
#只有当上一个值为true时,该提醒内容才有效
|
||||
special-broadcast: '§6这条末影龙散发着神秘的气息...'
|
||||
|
||||
#末影龙被击杀时全服提示内容
|
||||
#仅在此处有效:可用%times%代替这条末影龙的数字序号,可用%player%代替击杀末影龙的玩家的名字
|
||||
#插件会智能检测周围的玩家来替换%player%,如果实在检测不到将用下方条目中的内容替代%player%
|
||||
dragon-killing-broadcast: '§b第 %times% 条末影龙已被 %player% 击杀'
|
||||
|
||||
#无玩家参与时,%player%将被该项代替
|
||||
nobody-kill: '玩家远程'
|
||||
|
||||
#发给击杀特殊龙的玩家的话
|
||||
killer-message: '§6恭喜你,这条龙掉落了龙蛋和大量经验!'
|
||||
|
||||
#每次玩家攻击末影龙时,显示给攻击者的提示
|
||||
#仅在此处有效:可用%damage%代替伤害数值
|
||||
damage-display: '对末影龙的攻击伤害:%damage%'
|
||||
|
||||
#特殊末影龙成功掉落物品,但是击杀者背包已满时,显示给击杀者的提示
|
||||
player-inv-full: '§c您的背包没有空余格子,特殊末影龙战利品可能已掉落在您脚下'
|
||||
@@ -0,0 +1,57 @@
|
||||
version: 1.8.3
|
||||
|
||||
configNotFound: '§a[EnderDragon] File config.yml Not Found,Creating a new one...'
|
||||
dataNotFound: '§a[EnderDragon] File data.yml Not Found,Creating a new one...'
|
||||
messageNotFound: '§a[EnderDragon] File message.yml Not Found,Creating a new one...'
|
||||
configWrongVersion: '§c[EnderDragon] File config.yml out of date,please update it.'
|
||||
dataWrongVersion: '§c[EnderDragon] File data.yml out of date,please update it.'
|
||||
langWrongVersion: '§c[EnderDragon] language file out of date,please update it.'
|
||||
messageWrongVersion: '§c[EnderDragon] File message.yml out of date,please update it.'
|
||||
loaded: '§a[EnderDragon] Enabling the plugin...'
|
||||
checkingUpdate: '§a[EnderDragon] Checking update...'
|
||||
OutOfDate1: '§e[EnderDragon] Your version: v{0}'
|
||||
OutOfDate2: '§e[EnderDragon] New version: v{1}'
|
||||
OutOfDate3: '§e[EnderDragon] Download Link: https://www.spigotmc.org/resources/enderdragon-1-12-1-19.101583'
|
||||
UpToDate: '§a[EnderDragon] You are using the latest version (v{1})...'
|
||||
onDisable: '§e[EnderDragon] Disabling the plugin...'
|
||||
|
||||
NoCommandPermission: '§4Sorry,but you do not have permission to do that.'
|
||||
configReloaded: '§aConfig reload complete.'
|
||||
PlayerCommand: '§cOnly player can do this.'
|
||||
DropItemAddFail: '§cYour hand is empty!!Please hold something.'
|
||||
DropItemAddSucceed: '§aAdd succeed,drop-chance is §c{chance}%'
|
||||
MustNumber: '§cYou should enter a figure instead of this: '
|
||||
Number: '<amount>'
|
||||
DropChance: 'chance'
|
||||
ClearDropItemConfig: '§aDrop-item config has been cleared.'
|
||||
CommandTips1: '§e/ed reload §a reload the config'
|
||||
CommandTips2: '§e/ed drop §a set the drop-item'
|
||||
|
||||
prefix: '§7[§eEnderDragon§7]§r '
|
||||
|
||||
#message been sent to everyone when every dragon is respawned
|
||||
#You can use %times% to stand for the order number of dragon.
|
||||
#If you enter "none",noting will be sent.
|
||||
dragon-spawn-broadcast: '§aDragon No.%times% has spawned.'
|
||||
|
||||
#message been sent to everyone when a special dragon is respawned
|
||||
#You can shut it in config.yml.
|
||||
special-broadcast: '§6This dragon is emitting ancient mystery...'
|
||||
|
||||
#message been sent to everyone when every dragon is killed
|
||||
#You can use %times% to stand for the order number of dragon, and use %player% to stand for killer's name.
|
||||
#Plugin will judge killer intelligently,if plugin can't find the killer,%player% will be replaced by what is in 'nobody-kill'.
|
||||
dragon-killing-broadcast: '§bDragon No.%times% has been killed by %player%'
|
||||
|
||||
nobody-kill: 'mysterious man'
|
||||
|
||||
#message been sent to the killer of special dragon
|
||||
killer-message: '§6Congratulations!This dragon dropped lots of exp and a dragon egg'
|
||||
|
||||
#message been sent to the attacker if he or she is trying to hurt a dragon
|
||||
#You can use %damage% to stand for damage amount.
|
||||
damage-display: 'Damage amount to dragon : %damage%'
|
||||
|
||||
#message been sent to the killer of special dragon
|
||||
#called when special-ender-dragon drop item , but the inventory of the killer doesn't have empty slot.
|
||||
player-inv-full: '§cYour inventory is full,special drop-item maybe fell at your feet.'
|
||||
@@ -0,0 +1,72 @@
|
||||
package xanadu.enderdragon.lang;
|
||||
|
||||
import static xanadu.enderdragon.EnderDragon.lang;
|
||||
|
||||
public class Message {
|
||||
public static String configNotFound;
|
||||
public static String dataNotFound;
|
||||
public static String messageNotFound;
|
||||
public static String configWrongVersion;
|
||||
public static String dataWrongVersion;
|
||||
public static String langWrongVersion;
|
||||
public static String messageWrongVersion;
|
||||
public static String loaded;
|
||||
public static String checkingUpdate;
|
||||
public static String OutOfDate1;
|
||||
public static String OutOfDate2;
|
||||
public static String OutOfDate3;
|
||||
public static String UpToDate;
|
||||
public static String onDisable;
|
||||
public static String NoCommandPermission;
|
||||
public static String configReloaded;
|
||||
public static String PlayerCommand;
|
||||
public static String DropItemAddFail;
|
||||
public static String DropItemAddSucceed;
|
||||
public static String MustNumber;
|
||||
public static String Number;
|
||||
public static String DropChance;
|
||||
public static String ClearDropItemConfig;
|
||||
public static String CommandTips1;
|
||||
public static String CommandTips2;
|
||||
public static String DamageDisplay;
|
||||
public static String KillerMessage;
|
||||
public static String DragonKillingBroadcast;
|
||||
public static String NobodyKill;
|
||||
public static String PlayerInvFull;
|
||||
public static String DragonSpawnBroadcast;
|
||||
public static String SpecialBroadcast;
|
||||
public static void loadLanguage(){
|
||||
configNotFound = lang.getString("configNotFound","§a[EnderDragon] config.yml不存在, 已自动创建.");
|
||||
dataNotFound = lang.getString("dataNotFound","§a[EnderDragon] data.yml不存在, 已自动创建.");
|
||||
messageNotFound = lang.getString("messageNotFound","§a[EnderDragon] message.yml不存在, 已自动创建.");
|
||||
configWrongVersion = lang.getString("configWrongVersion","§c[EnderDragon] config.yml版本与插件不对应,请更新配置文件");
|
||||
dataWrongVersion = lang.getString("dataWrongVersion","§c[EnderDragon] data.yml版本与插件不对应,请更新配置文件");
|
||||
langWrongVersion = lang.getString("langWrongVersion","§c[EnderDragon] 语言文件版本与插件不对应,请更新语言文件");
|
||||
messageWrongVersion = lang.getString("messageWrongVersion","§c[EnderDragon] message.yml版本与插件不对应,请更新配置文件");
|
||||
loaded = lang.getString("loaded","§a[EnderDragon] 插件已加载");
|
||||
checkingUpdate = lang.getString("checkingUpdate","§a[EnderDragon] 正在为您检查更新...");
|
||||
OutOfDate1 = lang.getString("OutOfDate1","§e[EnderDragon] 您正在使用的插件版本: v{0}");
|
||||
OutOfDate2 = lang.getString("OutOfDate2","§e[EnderDragon] 检测到新版插件v{1}已发布,请尽快更新");
|
||||
OutOfDate3 = lang.getString("OutOfDate3","§e[EnderDragon] 下载地址:https://github.com/iXanadu13/EnderDragon/");
|
||||
UpToDate = lang.getString("UpToDate","§a[EnderDragon] 您正在使用最新版的插件(v{1})...");
|
||||
onDisable = lang.getString("onDisable","§e[EnderDragon] 插件已卸载");
|
||||
NoCommandPermission = lang.getString("NoCommandPermission","§4你没有使用该命令的权限");
|
||||
configReloaded = lang.getString("configReloaded","§a配置文件已重载");
|
||||
PlayerCommand = lang.getString("PlayerCommand","§c这个指令只能由玩家执行");
|
||||
DropItemAddFail = lang.getString("DropItemAddFail","§c添加掉落物失败,你手上没有拿物品...");
|
||||
DropItemAddSucceed = lang.getString("DropItemAddSucceed","§a掉落物添加成功,概率为: §c{chance}%");
|
||||
MustNumber = lang.getString("MustNumber","§c您应该输入数字而不是 ");
|
||||
Number = lang.getString("Number","数字");
|
||||
DropChance = lang.getString("DropChance","掉落概率");
|
||||
ClearDropItemConfig = lang.getString("ClearDropItemConfig","§a掉落物配置已清空");
|
||||
CommandTips1 = lang.getString("CommandTips1","§e/ed reload 重载配置文件");
|
||||
CommandTips2 = lang.getString("CommandTips2","§e/ed drop 特殊龙掉落物设置");
|
||||
DamageDisplay = lang.getString("damage-display","对末影龙的攻击伤害:%damage%");
|
||||
KillerMessage = lang.getString("killer-message","§6恭喜你,这条龙掉落了龙蛋和大量经验!");
|
||||
DragonKillingBroadcast = lang.getString("dragon-killing-broadcast","§b第 %times% 条末影龙已被 %player% 击杀");
|
||||
NobodyKill = lang.getString("nobody-kill","玩家远程");
|
||||
PlayerInvFull = lang.getString("player-inv-full","§c您的背包没有空余格子,特殊末影龙战利品可能已掉落在您脚下");
|
||||
DragonSpawnBroadcast = lang.getString("dragon-spawn-broadcast","§a第 %times% 条末影龙已被复活");
|
||||
SpecialBroadcast = lang.getString("special-broadcast","§6这条末影龙散发着神秘的气息...");
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,13 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
|
||||
import static xanadu.enderdragon.EnderDragon.plugin;
|
||||
|
||||
public class InventoryClick implements Listener {
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void OnInventoryClick(InventoryClickEvent e){
|
||||
if(!e.getView().getTitle().contains("§b特殊龙掉落物§r")){return;}
|
||||
String title = plugin.getConfig().getString("special-dragon.drop-gui-title");
|
||||
if(!e.getView().getTitle().contains(title)){return;}
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#配置文件版本,请勿修改
|
||||
version: 1.8.2
|
||||
version: 1.8.3
|
||||
|
||||
#可选: 'Chinese','English'
|
||||
lang: 'Chinese'
|
||||
|
||||
#普通末影龙
|
||||
normal-dragon:
|
||||
@@ -13,7 +16,7 @@ special-dragon:
|
||||
name: '特殊末影龙'
|
||||
|
||||
#每几次有概率复活出特殊的末影龙
|
||||
#千万不要设置该项为0!!!!!否则会引发报错
|
||||
#请输入大于0的整数
|
||||
#如果不希望复活出特殊末影龙,请设置下方的概率为0
|
||||
respawn-circle: 10
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
name: EnderDragon
|
||||
version: 1.8.2
|
||||
version: 1.8.3
|
||||
main: xanadu.enderdragon.EnderDragon
|
||||
author: Xanadu13
|
||||
api-version: 1.13
|
||||
#若要将插件装在低于1.13版本的服务器,请修改api-version的值为相应版本号
|
||||
#举例:如果我要装在1.12.2的服务器,那么设置如下:
|
||||
@@ -15,7 +16,7 @@ permissions:
|
||||
ed.reload:
|
||||
description: '允许重载插件配置文件'
|
||||
default: op
|
||||
ed.drop.change:
|
||||
ed.drop.edit:
|
||||
description: '允许修改特殊龙掉落物'
|
||||
default: op
|
||||
ed.drop.gui:
|
||||
|
||||
Reference in New Issue
Block a user