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:
@@ -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(" - 保存插件数据...");
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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.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初始化完毕...");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user