mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-24 21:46:16 +00:00
update language config and add new flag
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>cn.citycraft</groupId>
|
<groupId>cn.citycraft</groupId>
|
||||||
<artifactId>Residence</artifactId>
|
<artifactId>Residence</artifactId>
|
||||||
<version>2.8.0.1</version>
|
<version>2.8.0.2</version>
|
||||||
<name>Residence</name>
|
<name>Residence</name>
|
||||||
<description>重制版本的领地插件 - 喵♂呜</description>
|
<description>重制版本的领地插件 - 喵♂呜</description>
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ public class ResidenceMain extends JavaPlugin {
|
|||||||
yml.load();
|
yml.load();
|
||||||
rentmanager = RentManager.load(this, (Map<String, Object>) yml.getRoot().get("RentSystem"));
|
rentmanager = RentManager.load(this, (Map<String, Object>) yml.getRoot().get("RentSystem"));
|
||||||
}
|
}
|
||||||
this.getLogger().info("从配置文件中读取领地数据,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
|
this.getLogger().info("从配置文件中读取领地数据,耗时 " + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒");
|
||||||
return true;
|
return true;
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
this.getLogger().warning("领地数据载入时发生错误,请报告以下内容给作者: ");
|
this.getLogger().warning("领地数据载入时发生错误,请报告以下内容给作者: ");
|
||||||
@@ -510,15 +510,15 @@ public class ResidenceMain extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.getLogger().info("载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
|
this.getLogger().info("载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
|
||||||
|
backup = new DataBackup(this);
|
||||||
init = true;
|
init = true;
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
init = false;
|
this.getServer().getPluginManager().disablePlugin(this);
|
||||||
setEnabled(false);
|
|
||||||
this.getLogger().warning(" - 初始化失败! 卸载插件! 请报告以下错误给作者,谢谢!");
|
this.getLogger().warning(" - 初始化失败! 卸载插件! 请报告以下错误给作者,谢谢!");
|
||||||
this.getLogger().warning("错误: " + ex);
|
this.getLogger().warning("错误: " + ex);
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
init = false;
|
||||||
}
|
}
|
||||||
backup = new DataBackup(this);
|
|
||||||
new VersionChecker(this);
|
new VersionChecker(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -577,7 +577,6 @@ public class ResidenceMain extends JavaPlugin {
|
|||||||
File ymlSaveLoc = new File(saveFolder, "forsale.yml");
|
File ymlSaveLoc = new File(saveFolder, "forsale.yml");
|
||||||
File tmpFile = new File(saveFolder, "tmp_forsale.yml");
|
File tmpFile = new File(saveFolder, "tmp_forsale.yml");
|
||||||
yml = new YMLSaveHelper(tmpFile);
|
yml = new YMLSaveHelper(tmpFile);
|
||||||
yml.save();
|
|
||||||
yml.getRoot().put("Version", saveVersion);
|
yml.getRoot().put("Version", saveVersion);
|
||||||
yml.getRoot().put("Economy", tmanager.save());
|
yml.getRoot().put("Economy", tmanager.save());
|
||||||
yml.save();
|
yml.save();
|
||||||
@@ -645,7 +644,7 @@ public class ResidenceMain extends JavaPlugin {
|
|||||||
ymlSaveLoc.renameTo(backupFile);
|
ymlSaveLoc.renameTo(backupFile);
|
||||||
}
|
}
|
||||||
tmpFile.renameTo(ymlSaveLoc);
|
tmpFile.renameTo(ymlSaveLoc);
|
||||||
this.getLogger().info("保存领地数据到文件中,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒)");
|
this.getLogger().info("保存领地数据到文件中,耗时 " + ((float) (System.currentTimeMillis() - time) / 1000) + " 秒");
|
||||||
if (cmanager.showIntervalMessages()) {
|
if (cmanager.showIntervalMessages()) {
|
||||||
this.getLogger().info(" - 保存插件数据...");
|
this.getLogger().info(" - 保存插件数据...");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,13 +21,14 @@ public class ResidenceBugFix implements Listener {
|
|||||||
public ResidenceBugFix(final ResidenceMain plugin) {
|
public ResidenceBugFix(final ResidenceMain plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
plugin.getLogger().info("防刷甘蔗补丁已加载...");
|
plugin.getLogger().info("防刷甘蔗补丁已加载...");
|
||||||
|
plugin.getLogger().info("防刷单元补丁已加载...");
|
||||||
plugin.getLogger().info("防刷铁轨补丁已加载...");
|
plugin.getLogger().info("防刷铁轨补丁已加载...");
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPhysics(final BlockPhysicsEvent e) {
|
public void onPhysics(final BlockPhysicsEvent e) {
|
||||||
final Material mat = e.getChangedType();
|
final Material mat = e.getChangedType();
|
||||||
if (mat == Material.RAILS || mat == Material.POWERED_RAIL || mat == Material.ACTIVATOR_RAIL) {
|
if (mat == Material.RAILS || mat == Material.POWERED_RAIL || mat == Material.ACTIVATOR_RAIL || mat == Material.DETECTOR_RAIL) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,7 +57,7 @@ public class ResidenceBugFix implements Listener {
|
|||||||
if (b1.getType() != Material.AIR && b2.getType() == Material.AIR) {
|
if (b1.getType() != Material.AIR && b2.getType() == Material.AIR) {
|
||||||
if (!perms.playerHas(p.getName(), world, "place", false)) {
|
if (!perms.playerHas(p.getName(), world, "place", false)) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
p.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission") + "(你在尝试刷甘蔗?)");
|
p.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission") + ChatColor.DARK_RED + " 别费劲了 领地BUG早修了");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (final Exception e2) {
|
} catch (final Exception e2) {
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
package com.bekvon.bukkit.residence.listeners.flag;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import com.bekvon.bukkit.residence.ResidenceMain;
|
||||||
|
import com.bekvon.bukkit.residence.manager.EntityManager;
|
||||||
|
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
|
||||||
|
import com.bekvon.bukkit.residence.protection.FlagPermissions;
|
||||||
|
|
||||||
|
public class ResidenceInteractListener implements Listener {
|
||||||
|
EntityManager entitymanager;
|
||||||
|
ResidenceMain plugin;
|
||||||
|
|
||||||
|
public ResidenceInteractListener(final ResidenceMain plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
this.entitymanager = plugin.getEntityManager();
|
||||||
|
FlagPermissions.addFlag("interact");
|
||||||
|
FlagPermissions.addFlagToFlagGroup("trusted", "interact");
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
|
public void onInteract(final PlayerInteractEvent e) {
|
||||||
|
final Player p = e.getPlayer();
|
||||||
|
if (plugin.isResAdminOn(p)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final ItemStack it = p.getItemInHand();
|
||||||
|
if (it == null || it.getType() == Material.AIR) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final Location loc = e.getClickedBlock().getLocation();
|
||||||
|
final ClaimedResidence res = plugin.getResidenceManager().getByLoc(loc);
|
||||||
|
if (res == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final FlagPermissions hasPerm = plugin.getPermsByLocForPlayer(loc, p);
|
||||||
|
e.setCancelled(hasPerm.has("interact", true));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ import org.bukkit.plugin.PluginManager;
|
|||||||
import com.bekvon.bukkit.residence.ResidenceMain;
|
import com.bekvon.bukkit.residence.ResidenceMain;
|
||||||
import com.bekvon.bukkit.residence.listeners.flag.ResidenceAnimalKillingListener;
|
import com.bekvon.bukkit.residence.listeners.flag.ResidenceAnimalKillingListener;
|
||||||
import com.bekvon.bukkit.residence.listeners.flag.ResidenceFlyListener;
|
import com.bekvon.bukkit.residence.listeners.flag.ResidenceFlyListener;
|
||||||
|
import com.bekvon.bukkit.residence.listeners.flag.ResidenceInteractListener;
|
||||||
|
|
||||||
import cn.citycraft.PluginHelper.config.FileConfig;
|
import cn.citycraft.PluginHelper.config.FileConfig;
|
||||||
|
|
||||||
@@ -26,16 +27,19 @@ public class FlagManager {
|
|||||||
public void init() {
|
public void init() {
|
||||||
final PluginManager pm = plugin.getServer().getPluginManager();
|
final PluginManager pm = plugin.getServer().getPluginManager();
|
||||||
|
|
||||||
|
plugin.getLogger().info("初始化扩展Flag...");
|
||||||
|
|
||||||
flagmap = new HashMap<Boolean, Listener>();
|
flagmap = new HashMap<Boolean, Listener>();
|
||||||
|
|
||||||
flagmap.put(config.getBoolean("Flag.Fly", true), new ResidenceFlyListener(plugin));
|
flagmap.put(config.getBoolean("Flag.Fly", true), new ResidenceFlyListener(plugin));
|
||||||
flagmap.put(config.getBoolean("Flag.AnimalKilling", true), new ResidenceAnimalKillingListener(plugin));
|
flagmap.put(config.getBoolean("Flag.AnimalKilling", true), new ResidenceAnimalKillingListener(plugin));
|
||||||
|
flagmap.put(config.getBoolean("Flag.Interact", false), new ResidenceInteractListener(plugin));
|
||||||
|
|
||||||
for (final Entry<Boolean, Listener> fm : flagmap.entrySet()) {
|
for (final Entry<Boolean, Listener> fm : flagmap.entrySet()) {
|
||||||
if (fm.getKey()) {
|
if (fm.getKey()) {
|
||||||
pm.registerEvents(fm.getValue(), plugin);
|
pm.registerEvents(fm.getValue(), plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plugin.getLogger().info("扩展Flag初始化完毕!");
|
plugin.getLogger().info("扩展Flag初始化完毕...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#领地插件配置文件2.7.0.0 重制 By: 喵♂呜(部分汉化来自宝石汉化组 大刘,Zesty).
|
#领地插件配置文件2.8.0.0 重制 By: 喵♂呜(部分汉化来自宝石汉化组 大刘,Zesty).
|
||||||
Global:
|
Global:
|
||||||
# 载入的语言文件
|
# 载入的语言文件
|
||||||
Language: Chinese
|
Language: Chinese
|
||||||
@@ -109,9 +109,13 @@ Global:
|
|||||||
burn: true
|
burn: true
|
||||||
explode: false
|
explode: false
|
||||||
fireball: true
|
fireball: true
|
||||||
|
# 以下为新增Flag(交互Flag)
|
||||||
|
interact: true
|
||||||
# 以下为领地飞行的Flag
|
# 以下为领地飞行的Flag
|
||||||
fly: true
|
fly: true
|
||||||
# 以下为领地扩展的Flag
|
# 以下为领地扩展的Flag
|
||||||
|
animalkilling: true
|
||||||
|
# 以下扩展的Flag暂未启用
|
||||||
zombie: true
|
zombie: true
|
||||||
skeleton: true
|
skeleton: true
|
||||||
creeperspawn: true
|
creeperspawn: true
|
||||||
@@ -140,7 +144,6 @@ Global:
|
|||||||
witherspawn: true
|
witherspawn: true
|
||||||
melt: true
|
melt: true
|
||||||
form: true
|
form: true
|
||||||
animalkilling: true
|
|
||||||
mobkilling: true
|
mobkilling: true
|
||||||
drops: true
|
drops: true
|
||||||
pickup: true
|
pickup: true
|
||||||
@@ -179,6 +182,8 @@ Global:
|
|||||||
piston: false
|
piston: false
|
||||||
ignite: false
|
ignite: false
|
||||||
firespread: false
|
firespread: false
|
||||||
|
# 以下为新增Flag(交互Flag)
|
||||||
|
interact: false
|
||||||
# 以下为领地飞行的Flag
|
# 以下为领地飞行的Flag
|
||||||
fly: false
|
fly: false
|
||||||
# 以下为领地扩展的Flag
|
# 以下为领地扩展的Flag
|
||||||
@@ -191,6 +196,8 @@ Global:
|
|||||||
use: true
|
use: true
|
||||||
ignite: true
|
ignite: true
|
||||||
container: true
|
container: true
|
||||||
|
# 以下为新增Flag(交互Flag)
|
||||||
|
interact: true
|
||||||
# 以下为领地飞行的Flag
|
# 以下为领地飞行的Flag
|
||||||
fly: true
|
fly: true
|
||||||
# 以下为领地扩展的Flag
|
# 以下为领地扩展的Flag
|
||||||
|
|||||||
@@ -2,3 +2,4 @@
|
|||||||
Flag:
|
Flag:
|
||||||
Fly: true
|
Fly: true
|
||||||
AnimalKilling: true
|
AnimalKilling: true
|
||||||
|
Interact: false
|
||||||
@@ -53,7 +53,7 @@ Language:
|
|||||||
SelectionSky: 扩大到允许的最高高度。
|
SelectionSky: 扩大到允许的最高高度。
|
||||||
SelectionArea: 在领地 %2 中选择区域 %1 。
|
SelectionArea: 在领地 %2 中选择区域 %1 。
|
||||||
SelectDiabled: 你没有圈地权限。
|
SelectDiabled: 你没有圈地权限。
|
||||||
NoPermission: 你没有使用此命令的权限。
|
NoPermission: 你没有当前操作的权限。
|
||||||
OwnerNoPermission: 所有者无此命令的权限。
|
OwnerNoPermission: 所有者无此命令的权限。
|
||||||
ParentNoPermission: 你没有改变父区域的权限。
|
ParentNoPermission: 你没有改变父区域的权限。
|
||||||
MessageChange: 消息已设置...
|
MessageChange: 消息已设置...
|
||||||
|
|||||||
Reference in New Issue
Block a user