1
0
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:
502647092
2015-09-29 20:48:01 +08:00
parent 7ff378d3c8
commit cbefdc9ac2
8 changed files with 73 additions and 14 deletions

View File

@@ -317,7 +317,7 @@ public class ResidenceMain extends JavaPlugin {
yml.load();
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;
} catch (final Exception ex) {
this.getLogger().warning("领地数据载入时发生错误,请报告以下内容给作者: ");
@@ -510,15 +510,15 @@ public class ResidenceMain extends JavaPlugin {
}
}
this.getLogger().info("载入完成! 版本: " + this.getDescription().getVersion() + " 重制 by 喵♂呜");
backup = new DataBackup(this);
init = true;
} catch (final Exception ex) {
init = false;
setEnabled(false);
this.getServer().getPluginManager().disablePlugin(this);
this.getLogger().warning(" - 初始化失败! 卸载插件! 请报告以下错误给作者,谢谢!");
this.getLogger().warning("错误: " + ex);
ex.printStackTrace();
init = false;
}
backup = new DataBackup(this);
new VersionChecker(this);
}
@@ -577,7 +577,6 @@ public class ResidenceMain extends JavaPlugin {
File ymlSaveLoc = new File(saveFolder, "forsale.yml");
File tmpFile = new File(saveFolder, "tmp_forsale.yml");
yml = new YMLSaveHelper(tmpFile);
yml.save();
yml.getRoot().put("Version", saveVersion);
yml.getRoot().put("Economy", tmanager.save());
yml.save();
@@ -645,7 +644,7 @@ public class ResidenceMain extends JavaPlugin {
ymlSaveLoc.renameTo(backupFile);
}
tmpFile.renameTo(ymlSaveLoc);
this.getLogger().info("保存领地数据到文件中,耗时" + ((float) (System.currentTimeMillis() - time) / 1000) + ")");
this.getLogger().info("保存领地数据到文件中,耗时 " + ((float) (System.currentTimeMillis() - time) / 1000) + "");
if (cmanager.showIntervalMessages()) {
this.getLogger().info(" - 保存插件数据...");
}

View File

@@ -21,13 +21,14 @@ public class ResidenceBugFix implements Listener {
public ResidenceBugFix(final ResidenceMain plugin) {
this.plugin = plugin;
plugin.getLogger().info("防刷甘蔗补丁已加载...");
plugin.getLogger().info("防刷单元补丁已加载...");
plugin.getLogger().info("防刷铁轨补丁已加载...");
}
@EventHandler
public void onPhysics(final BlockPhysicsEvent e) {
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);
}
}
@@ -56,7 +57,7 @@ public class ResidenceBugFix implements Listener {
if (b1.getType() != Material.AIR && b2.getType() == Material.AIR) {
if (!perms.playerHas(p.getName(), world, "place", false)) {
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) {

View File

@@ -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));
}
}

View File

@@ -9,6 +9,7 @@ import org.bukkit.plugin.PluginManager;
import com.bekvon.bukkit.residence.ResidenceMain;
import com.bekvon.bukkit.residence.listeners.flag.ResidenceAnimalKillingListener;
import com.bekvon.bukkit.residence.listeners.flag.ResidenceFlyListener;
import com.bekvon.bukkit.residence.listeners.flag.ResidenceInteractListener;
import cn.citycraft.PluginHelper.config.FileConfig;
@@ -26,16 +27,19 @@ public class FlagManager {
public void init() {
final PluginManager pm = plugin.getServer().getPluginManager();
plugin.getLogger().info("初始化扩展Flag...");
flagmap = new HashMap<Boolean, Listener>();
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.Interact", false), new ResidenceInteractListener(plugin));
for (final Entry<Boolean, Listener> fm : flagmap.entrySet()) {
if (fm.getKey()) {
pm.registerEvents(fm.getValue(), plugin);
}
}
plugin.getLogger().info("扩展Flag初始化完毕!");
plugin.getLogger().info("扩展Flag初始化完毕...");
}
}