Add optional essentials integration for /f home delay and cooldown (enabled by default).
This commit is contained in:
parent
ace3853694
commit
92bddb0f9a
BIN
lib/Essentials.jar
Normal file
BIN
lib/Essentials.jar
Normal file
Binary file not shown.
@ -102,8 +102,8 @@ public class Conf
|
||||
public static boolean homesTeleportToOnDeath = true;
|
||||
public static boolean homesRespawnFromNoPowerLossWorlds = true;
|
||||
public static boolean homesTeleportCommandEnabled = true;
|
||||
public static boolean homesTeleportCommandEssentialsIntegration = true;
|
||||
public static boolean homesTeleportCommandSmokeEffectEnabled = true;
|
||||
public static float homesTeleportCommandSmokeEffectThickness = 3f;
|
||||
public static boolean homesTeleportAllowedFromEnemyTerritory = true;
|
||||
public static boolean homesTeleportAllowedFromDifferentWorld = true;
|
||||
public static double homesTeleportAllowedEnemyDistance = 32.0;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.massivecraft.factions;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
@ -361,7 +360,7 @@ public class Faction extends Entity implements EconomyParticipator
|
||||
public Set<FPlayer> getFPlayers()
|
||||
{
|
||||
// return a shallow copy of the FPlayer list, to prevent tampering and concurrency issues
|
||||
Set<FPlayer> ret = new HashSet(fplayers);
|
||||
Set<FPlayer> ret = new HashSet<FPlayer>(fplayers);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -3,10 +3,16 @@ package com.massivecraft.factions.cmd;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.earth2me.essentials.IEssentials;
|
||||
import com.earth2me.essentials.Teleport;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.massivecraft.factions.Board;
|
||||
import com.massivecraft.factions.Conf;
|
||||
import com.massivecraft.factions.FLocation;
|
||||
@ -18,6 +24,7 @@ import com.massivecraft.factions.struct.Permission;
|
||||
import com.massivecraft.factions.struct.Rel;
|
||||
import com.massivecraft.factions.zcore.util.SmokeUtil;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class CmdHome extends FCommand
|
||||
{
|
||||
|
||||
@ -123,6 +130,27 @@ public class CmdHome extends FCommand
|
||||
}
|
||||
}
|
||||
|
||||
// The teleport is either handled inhouse or by the Essentials plugin as a warp
|
||||
final Plugin grab = Bukkit.getPluginManager().getPlugin("Essentials");
|
||||
if (Conf.homesTeleportCommandEssentialsIntegration && grab != null && grab.isEnabled())
|
||||
{
|
||||
// Handled by Essentials
|
||||
IEssentials ess = (IEssentials) grab;
|
||||
Teleport teleport = (Teleport) ess.getUser(this.me).getTeleport();
|
||||
Trade trade = new Trade(Conf.econCostHome, ess);
|
||||
try
|
||||
{
|
||||
teleport.teleport(myFaction.getHome(), trade);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
me.sendMessage(ChatColor.RED.toString()+e.getMessage());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Handled by Factions
|
||||
|
||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
||||
if ( ! payForCommand(Conf.econCostHome, "to teleport to your faction home", "for teleporting to your faction home")) return;
|
||||
|
||||
@ -134,10 +162,12 @@ public class CmdHome extends FCommand
|
||||
smokeLocations.add(me.getLocation().clone().add(0, 1, 0));
|
||||
smokeLocations.add(myFaction.getHome());
|
||||
smokeLocations.add(myFaction.getHome().clone().add(0, 1, 0));
|
||||
SmokeUtil.spawnCloudRandom(smokeLocations, Conf.homesTeleportCommandSmokeEffectThickness);
|
||||
SmokeUtil.spawnCloudRandom(smokeLocations, 3f);
|
||||
}
|
||||
|
||||
me.teleport(myFaction.getHome());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user