@Override public boolean useTravelAgent() { return p.useTravelAgent(); }
@Override public void useTravelAgent(boolean useTravelAgent) { p.useTravelAgent(useTravelAgent); }
if(event.useTravelAgent())
@EventHandler public void onTravel(PlayerPortalEvent event) { if (!SavageFactions.plugin.getConfig().getBoolean("portals.limit", false)) { return; // Don't do anything if they don't want us to. } TravelAgent agent = event.getPortalTravelAgent(); // If they aren't able to find a portal, it'll try to create one. if (event.useTravelAgent() && agent.getCanCreatePortal() && agent.findPortal(event.getTo()) == null) { FLocation loc = new FLocation(event.getTo()); Faction faction = Board.getInstance().getFactionAt(loc); if (faction.isWilderness()) { return; // We don't care about wilderness. } else if (!faction.isNormal() && !event.getPlayer().isOp()) { // Don't let non ops make portals in safezone or warzone. event.setCancelled(true); return; } FPlayer fp = FPlayers.getInstance().getByPlayer(event.getPlayer()); String mininumRelation = SavageFactions.plugin.getConfig().getString("portals.minimum-relation", "MEMBER"); // Defaults to Neutral if typed wrong. if (!fp.getFaction().getRelationTo(faction).isAtLeast(Relation.fromString(mininumRelation))) { event.setCancelled(true); } } }
return; if (!event.useTravelAgent()) { // either end travel (even though we checked cause) or another plugin is fucking with us, shouldn't create a portal though return;