@Override public boolean initPlotMeConverter() { TaskManager.runTaskLaterAsync( new Runnable() { @Override public void run() { if (!(new LikePlotMeConverter("PlotMe").run(new ClassicPlotMeConnector()))) { new LikePlotMeConverter("AthionPlots").run(new ClassicPlotMeConnector()); } } }, 20); return Bukkit.getPluginManager().getPlugin("PlotMe") != null || Bukkit.getPluginManager().getPlugin("AthionPlots") != null; }
public static boolean plotEntry(final PlotPlayer pp, final Plot plot) { if (plot.isDenied(pp.getUUID()) && !Permissions.hasPermission(pp, "plots.admin.entry.denied")) { return false; } Plot last = pp.getMeta("lastplot"); if ((last != null) && !last.getId().equals(plot.getId())) { plotExit(pp, last); } if (ExpireManager.IMP != null) { ExpireManager.IMP.handleEntry(pp, plot); } pp.setMeta("lastplot", plot); EventUtil.manager.callEntry(pp, plot); if (plot.hasOwner()) { HashMap<String, Flag> flags = FlagManager.getPlotFlags(plot); int size = flags.size(); boolean titles = Settings.TITLES; final String greeting; if (size != 0) { Flag titleFlag = flags.get("titles"); if (titleFlag != null) { titles = (Boolean) titleFlag.getValue(); } Flag greetingFlag = flags.get("greeting"); if (greetingFlag != null) { greeting = (String) greetingFlag.getValue(); MainUtil.format( C.PREFIX_GREETING.s() + greeting, plot, pp, false, new RunnableVal<String>() { @Override public void run(String value) { MainUtil.sendMessage(pp, value); } }); } else { greeting = ""; } Flag enter = flags.get("notify-enter"); if (enter != null && (Boolean) enter.getValue()) { if (!Permissions.hasPermission(pp, "plots.flag.notify-enter.bypass")) { for (UUID uuid : plot.getOwners()) { PlotPlayer owner = UUIDHandler.getPlayer(uuid); if (owner != null && !owner.getUUID().equals(pp.getUUID())) { MainUtil.sendMessage( owner, C.NOTIFY_ENTER .s() .replace("%player", pp.getName()) .replace("%plot", plot.getId().toString())); } } } } Flag gamemodeFlag = flags.get("gamemode"); if (gamemodeFlag != null) { if (pp.getGameMode() != gamemodeFlag.getValue()) { if (!Permissions.hasPermission(pp, "plots.gamemode.bypass")) { pp.setGameMode((PlotGameMode) gamemodeFlag.getValue()); } else { MainUtil.sendMessage( pp, StringMan.replaceAll( C.GAMEMODE_WAS_BYPASSED.s(), "{plot}", plot.getId(), "{gamemode}", gamemodeFlag.getValue())); } } } Flag flyFlag = flags.get("fly"); if (flyFlag != null) { pp.setFlight((boolean) flyFlag.getValue()); } Flag timeFlag = flags.get("time"); if (timeFlag != null) { try { long time = (long) timeFlag.getValue(); pp.setTime(time); } catch (Exception e) { FlagManager.removePlotFlag(plot, "time"); } } Flag weatherFlag = flags.get("weather"); if (weatherFlag != null) { pp.setWeather((PlotWeather) weatherFlag.getValue()); } Flag musicFlag = flags.get("music"); if (musicFlag != null) { Integer id = (Integer) musicFlag.getValue(); if ((id >= 2256 && id <= 2267) || (id == 0)) { Location loc = pp.getLocation(); Location lastLoc = pp.getMeta("music"); if (lastLoc != null) { pp.playMusic(lastLoc, 0); if (id == 0) { pp.deleteMeta("music"); } } if (id != 0) { try { pp.setMeta("music", loc); pp.playMusic(loc, id); } catch (Exception ignored) { } } } } else { Location lastLoc = pp.getMeta("music"); if (lastLoc != null) { pp.deleteMeta("music"); pp.playMusic(lastLoc, 0); } } CommentManager.sendTitle(pp, plot); } else if (titles) { greeting = ""; } else { return true; } if (titles) { if (!C.TITLE_ENTERED_PLOT.s().isEmpty() || !C.TITLE_ENTERED_PLOT_SUB.s().isEmpty()) { TaskManager.runTaskLaterAsync( new Runnable() { @Override public void run() { Plot lastPlot = pp.getMeta("lastplot"); if ((lastPlot != null) && plot.getId().equals(lastPlot.getId())) { Map<String, String> replacements = new HashMap<>(); replacements.put("%x%", lastPlot.getId().x + ""); replacements.put("%z%", lastPlot.getId().y + ""); replacements.put("%world%", plot.getArea().toString()); replacements.put("%greeting%", greeting); replacements.put("%alias", plot.toString()); replacements.put("%s", MainUtil.getName(plot.owner)); String main = StringMan.replaceFromMap(C.TITLE_ENTERED_PLOT.s(), replacements); String sub = StringMan.replaceFromMap(C.TITLE_ENTERED_PLOT_SUB.s(), replacements); AbstractTitle.sendTitle(pp, main, sub); } } }, 20); } } return true; } return true; }