summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2013-06-08 21:40:02 +0100
committerKHobbits <rob@khobbits.co.uk>2013-06-08 21:40:02 +0100
commit1c309995d1e8992d66c4a064fc8c023c4579da2e (patch)
tree415664ab6916734a4fda3a0718161b06621ec0bb
parenta0a3d856b1c54bae09c704db6736a80a61a6c9bf (diff)
downloadEssentials-1c309995d1e8992d66c4a064fc8c023c4579da2e.tar
Essentials-1c309995d1e8992d66c4a064fc8c023c4579da2e.tar.gz
Essentials-1c309995d1e8992d66c4a064fc8c023c4579da2e.tar.lz
Essentials-1c309995d1e8992d66c4a064fc8c023c4579da2e.tar.xz
Essentials-1c309995d1e8992d66c4a064fc8c023c4579da2e.zip
Turn Target into a real class.
-rw-r--r--Essentials/src/com/earth2me/essentials/ITarget.java10
-rw-r--r--Essentials/src/com/earth2me/essentials/LocationTarget.java28
-rw-r--r--Essentials/src/com/earth2me/essentials/PlayerTarget.java28
-rw-r--r--Essentials/src/com/earth2me/essentials/Teleport.java61
-rw-r--r--Essentials/src/com/earth2me/essentials/TimedTeleport.java8
-rw-r--r--Essentials/src/com/earth2me/essentials/Util.java82
-rw-r--r--Essentials/src/com/earth2me/essentials/api/ITeleport.java1
7 files changed, 127 insertions, 91 deletions
diff --git a/Essentials/src/com/earth2me/essentials/ITarget.java b/Essentials/src/com/earth2me/essentials/ITarget.java
new file mode 100644
index 000000000..4fa833807
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/ITarget.java
@@ -0,0 +1,10 @@
+package com.earth2me.essentials;
+
+import org.bukkit.Location;
+import org.bukkit.Server;
+
+
+public interface ITarget
+{
+ public Location getLocation();
+} \ No newline at end of file
diff --git a/Essentials/src/com/earth2me/essentials/LocationTarget.java b/Essentials/src/com/earth2me/essentials/LocationTarget.java
new file mode 100644
index 000000000..58e19fe42
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/LocationTarget.java
@@ -0,0 +1,28 @@
+package com.earth2me.essentials;
+
+import org.bukkit.Location;
+import org.bukkit.Server;
+
+
+public class LocationTarget implements ITarget
+{
+ private final Location location;
+ private final String name;
+
+ LocationTarget(Location location)
+ {
+ this.location = location;
+ this.name = null;
+ }
+
+ @Override
+ public Location getLocation(Server server)
+ {
+ if (this.name != null)
+ {
+
+ return server.getPlayerExact(name).getLocation();
+ }
+ return location;
+ }
+} \ No newline at end of file
diff --git a/Essentials/src/com/earth2me/essentials/PlayerTarget.java b/Essentials/src/com/earth2me/essentials/PlayerTarget.java
new file mode 100644
index 000000000..31aac25bd
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/PlayerTarget.java
@@ -0,0 +1,28 @@
+package com.earth2me.essentials;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+
+
+public class PlayerTarget implements ITarget
+{
+ private final Location location;
+ private final String name;
+
+ PlayerTarget(Player entity)
+ {
+ this.name = entity.getName();
+ this.location = null;
+ }
+
+ @Override
+ public Location getLocation()
+ {
+ if (this.name != null)
+ {
+ return Bukkit.getServer().getPlayerExact(name).getLocation();
+ }
+ return location;
+ }
+} \ No newline at end of file
diff --git a/Essentials/src/com/earth2me/essentials/Teleport.java b/Essentials/src/com/earth2me/essentials/Teleport.java
index 792a815d2..d6d4cf628 100644
--- a/Essentials/src/com/earth2me/essentials/Teleport.java
+++ b/Essentials/src/com/earth2me/essentials/Teleport.java
@@ -11,34 +11,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public class Teleport implements ITeleport
-{
- public class Target
- {
- private final Location location;
- private final String name;
-
- Target(Location location)
- {
- this.location = location;
- this.name = null;
- }
-
- Target(Player entity)
- {
- this.name = entity.getName();
- this.location = null;
- }
-
- public Location getLocation()
- {
- if (this.name != null)
- {
-
- return ess.getServer().getPlayerExact(name).getLocation();
- }
- return location;
- }
- }
+{
private final IUser teleportOwner;
private final IEssentials ess;
private TimedTeleport timedTeleport;
@@ -103,7 +76,7 @@ public class Teleport implements ITeleport
{
cooldown(false);
}
- now(teleportOwner, new Target(loc), cause);
+ now(teleportOwner, new LocationTarget(loc), cause);
}
@Override
@@ -113,10 +86,10 @@ public class Teleport implements ITeleport
{
cooldown(false);
}
- now(teleportOwner, new Target(entity), cause);
+ now(teleportOwner, new PlayerTarget(entity), cause);
}
- protected void now(IUser teleportee, Target target, TeleportCause cause) throws Exception
+ protected void now(IUser teleportee, ITarget target, TeleportCause cause) throws Exception
{
cancel(false);
teleportee.setLastLocation();
@@ -134,28 +107,28 @@ public class Teleport implements ITeleport
@Override
public void teleport(Location loc, Trade chargeFor, TeleportCause cause) throws Exception
{
- teleport(teleportOwner, new Target(loc), chargeFor, cause);
+ teleport(teleportOwner, new LocationTarget(loc), chargeFor, cause);
}
@Override
public void teleport(Player entity, Trade chargeFor, TeleportCause cause) throws Exception
{
- teleport(teleportOwner, new Target(entity), chargeFor, cause);
+ teleport(teleportOwner, new PlayerTarget(entity), chargeFor, cause);
}
@Override
public void teleportPlayer(IUser teleportee, Location loc, Trade chargeFor, TeleportCause cause) throws Exception
{
- teleport(teleportee, new Target(loc), chargeFor, cause);
+ teleport(teleportee, new LocationTarget(loc), chargeFor, cause);
}
@Override
public void teleportPlayer(IUser teleportee, Player entity, Trade chargeFor, TeleportCause cause) throws Exception
{
- teleport(teleportee, new Target(entity), chargeFor, cause);
+ teleport(teleportee, new PlayerTarget(entity), chargeFor, cause);
}
- private void teleport(IUser teleportee, Target target, Trade chargeFor, TeleportCause cause) throws Exception
+ private void teleport(IUser teleportee, ITarget target, Trade chargeFor, TeleportCause cause) throws Exception
{
double delay = ess.getSettings().getTeleportDelay();
@@ -185,7 +158,7 @@ public class Teleport implements ITeleport
@Override
public void teleportToMe(IUser otherUser, Trade chargeFor, TeleportCause cause) throws Exception
{
- Target target = new Target(teleportOwner);
+ ITarget target = new PlayerTarget(teleportOwner);
teleport(otherUser, target, chargeFor, cause);
}
@@ -221,7 +194,7 @@ public class Teleport implements ITeleport
Location bed = player.getBedSpawnLocation();
if (bed != null)
{
- now(teleportee, new Target(bed), cause);
+ now(teleportee, new LocationTarget(bed), cause);
}
else
{
@@ -231,7 +204,7 @@ public class Teleport implements ITeleport
}
final PlayerRespawnEvent pre = new PlayerRespawnEvent(player, player.getWorld().getSpawnLocation(), false);
ess.getServer().getPluginManager().callEvent(pre);
- now(teleportee, new Target(pre.getRespawnLocation()), cause);
+ now(teleportee, new LocationTarget(pre.getRespawnLocation()), cause);
}
}
@@ -241,28 +214,28 @@ public class Teleport implements ITeleport
{
Location loc = ess.getWarps().getWarp(warp);
teleportee.sendMessage(_("warpingTo", warp));
- teleport(teleportee, new Target(loc), chargeFor, cause);
+ teleport(teleportee, new LocationTarget(loc), chargeFor, cause);
}
//The back function is a wrapper used to teleportPlayer a player /back to their previous location.
@Override
public void back(Trade chargeFor) throws Exception
{
- teleport(teleportOwner, new Target(teleportOwner.getLastLocation()), chargeFor, TeleportCause.COMMAND);
+ teleport(teleportOwner, new LocationTarget(teleportOwner.getLastLocation()), chargeFor, TeleportCause.COMMAND);
}
//This function is used to throw a user back after a jail sentence
@Override
public void back() throws Exception
{
- now(teleportOwner, new Target(teleportOwner.getLastLocation()), TeleportCause.COMMAND);
+ now(teleportOwner, new LocationTarget(teleportOwner.getLastLocation()), TeleportCause.COMMAND);
}
//This function handles teleporting to /home
@Override
public void home(Location loc, Trade chargeFor) throws Exception
{
- teleport(teleportOwner, new Target(loc), chargeFor, TeleportCause.COMMAND);
+ teleport(teleportOwner, new LocationTarget(loc), chargeFor, TeleportCause.COMMAND);
}
//If we need to cancelTimer a pending teleportPlayer call this method
@@ -275,7 +248,7 @@ public class Teleport implements ITeleport
}
}
- private void initTimer(long delay, IUser teleportUser, Target target, Trade chargeFor, TeleportCause cause, boolean respawn)
+ private void initTimer(long delay, IUser teleportUser, ITarget target, Trade chargeFor, TeleportCause cause, boolean respawn)
{
timedTeleport = new TimedTeleport(teleportOwner, ess, this, delay, teleportUser, target, chargeFor, cause, respawn);
}
diff --git a/Essentials/src/com/earth2me/essentials/TimedTeleport.java b/Essentials/src/com/earth2me/essentials/TimedTeleport.java
index 8946ce3ae..f8a6d9d75 100644
--- a/Essentials/src/com/earth2me/essentials/TimedTeleport.java
+++ b/Essentials/src/com/earth2me/essentials/TimedTeleport.java
@@ -1,7 +1,6 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
-import com.earth2me.essentials.Teleport.Target;
import org.bukkit.Location;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -23,16 +22,15 @@ public class TimedTeleport implements Runnable
private long timer_initX;
private long timer_initY;
private long timer_initZ;
- private Target timer_teleportTarget;
+ private ITarget timer_teleportTarget;
private boolean timer_respawn;
private boolean timer_canMove;
private Trade timer_chargeFor;
-
private TeleportCause timer_cause;
- public TimedTeleport(IUser user, IEssentials ess, Teleport teleport, long delay, IUser teleportUser, Target target, Trade chargeFor, TeleportCause cause, boolean respawn)
+ public TimedTeleport(IUser user, IEssentials ess, Teleport teleport, long delay, IUser teleportUser, ITarget target, Trade chargeFor, TeleportCause cause, boolean respawn)
{
-
+
this.teleportOwner = user;
this.ess = ess;
this.teleport = teleport;
diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java
index 58ffa5d44..3b9b93939 100644
--- a/Essentials/src/com/earth2me/essentials/Util.java
+++ b/Essentials/src/com/earth2me/essentials/Util.java
@@ -234,48 +234,48 @@ public class Util
return c.getTimeInMillis();
}
// The player can stand inside these materials
- private static final Set<Integer> UNSAFE_MATERIALS = new HashSet<Integer>();
+ private static final Set<Integer> HOLLOW_MATERIALS = new HashSet<Integer>();
private static final HashSet<Byte> TRANSPARENT_MATERIALS = new HashSet<Byte>();
static
{
- UNSAFE_MATERIALS.add(Material.AIR.getId());
- UNSAFE_MATERIALS.add(Material.SAPLING.getId());
- UNSAFE_MATERIALS.add(Material.POWERED_RAIL.getId());
- UNSAFE_MATERIALS.add(Material.DETECTOR_RAIL.getId());
- UNSAFE_MATERIALS.add(Material.LONG_GRASS.getId());
- UNSAFE_MATERIALS.add(Material.DEAD_BUSH.getId());
- UNSAFE_MATERIALS.add(Material.YELLOW_FLOWER.getId());
- UNSAFE_MATERIALS.add(Material.RED_ROSE.getId());
- UNSAFE_MATERIALS.add(Material.BROWN_MUSHROOM.getId());
- UNSAFE_MATERIALS.add(Material.RED_MUSHROOM.getId());
- UNSAFE_MATERIALS.add(Material.TORCH.getId());
- UNSAFE_MATERIALS.add(Material.REDSTONE_WIRE.getId());
- UNSAFE_MATERIALS.add(Material.SEEDS.getId());
- UNSAFE_MATERIALS.add(Material.SIGN_POST.getId());
- UNSAFE_MATERIALS.add(Material.WOODEN_DOOR.getId());
- UNSAFE_MATERIALS.add(Material.LADDER.getId());
- UNSAFE_MATERIALS.add(Material.RAILS.getId());
- UNSAFE_MATERIALS.add(Material.WALL_SIGN.getId());
- UNSAFE_MATERIALS.add(Material.LEVER.getId());
- UNSAFE_MATERIALS.add(Material.STONE_PLATE.getId());
- UNSAFE_MATERIALS.add(Material.IRON_DOOR_BLOCK.getId());
- UNSAFE_MATERIALS.add(Material.WOOD_PLATE.getId());
- UNSAFE_MATERIALS.add(Material.REDSTONE_TORCH_OFF.getId());
- UNSAFE_MATERIALS.add(Material.REDSTONE_TORCH_ON.getId());
- UNSAFE_MATERIALS.add(Material.STONE_BUTTON.getId());
- UNSAFE_MATERIALS.add(Material.SNOW.getId());
- UNSAFE_MATERIALS.add(Material.SUGAR_CANE_BLOCK.getId());
- UNSAFE_MATERIALS.add(Material.DIODE_BLOCK_OFF.getId());
- UNSAFE_MATERIALS.add(Material.DIODE_BLOCK_ON.getId());
- UNSAFE_MATERIALS.add(Material.PUMPKIN_STEM.getId());
- UNSAFE_MATERIALS.add(Material.MELON_STEM.getId());
- UNSAFE_MATERIALS.add(Material.VINE.getId());
- UNSAFE_MATERIALS.add(Material.FENCE_GATE.getId());
- UNSAFE_MATERIALS.add(Material.WATER_LILY.getId());
- UNSAFE_MATERIALS.add(Material.NETHER_WARTS.getId());
-
- for (Integer integer : UNSAFE_MATERIALS)
+ HOLLOW_MATERIALS.add(Material.AIR.getId());
+ HOLLOW_MATERIALS.add(Material.SAPLING.getId());
+ HOLLOW_MATERIALS.add(Material.POWERED_RAIL.getId());
+ HOLLOW_MATERIALS.add(Material.DETECTOR_RAIL.getId());
+ HOLLOW_MATERIALS.add(Material.LONG_GRASS.getId());
+ HOLLOW_MATERIALS.add(Material.DEAD_BUSH.getId());
+ HOLLOW_MATERIALS.add(Material.YELLOW_FLOWER.getId());
+ HOLLOW_MATERIALS.add(Material.RED_ROSE.getId());
+ HOLLOW_MATERIALS.add(Material.BROWN_MUSHROOM.getId());
+ HOLLOW_MATERIALS.add(Material.RED_MUSHROOM.getId());
+ HOLLOW_MATERIALS.add(Material.TORCH.getId());
+ HOLLOW_MATERIALS.add(Material.REDSTONE_WIRE.getId());
+ HOLLOW_MATERIALS.add(Material.SEEDS.getId());
+ HOLLOW_MATERIALS.add(Material.SIGN_POST.getId());
+ HOLLOW_MATERIALS.add(Material.WOODEN_DOOR.getId());
+ HOLLOW_MATERIALS.add(Material.LADDER.getId());
+ HOLLOW_MATERIALS.add(Material.RAILS.getId());
+ HOLLOW_MATERIALS.add(Material.WALL_SIGN.getId());
+ HOLLOW_MATERIALS.add(Material.LEVER.getId());
+ HOLLOW_MATERIALS.add(Material.STONE_PLATE.getId());
+ HOLLOW_MATERIALS.add(Material.IRON_DOOR_BLOCK.getId());
+ HOLLOW_MATERIALS.add(Material.WOOD_PLATE.getId());
+ HOLLOW_MATERIALS.add(Material.REDSTONE_TORCH_OFF.getId());
+ HOLLOW_MATERIALS.add(Material.REDSTONE_TORCH_ON.getId());
+ HOLLOW_MATERIALS.add(Material.STONE_BUTTON.getId());
+ HOLLOW_MATERIALS.add(Material.SNOW.getId());
+ HOLLOW_MATERIALS.add(Material.SUGAR_CANE_BLOCK.getId());
+ HOLLOW_MATERIALS.add(Material.DIODE_BLOCK_OFF.getId());
+ HOLLOW_MATERIALS.add(Material.DIODE_BLOCK_ON.getId());
+ HOLLOW_MATERIALS.add(Material.PUMPKIN_STEM.getId());
+ HOLLOW_MATERIALS.add(Material.MELON_STEM.getId());
+ HOLLOW_MATERIALS.add(Material.VINE.getId());
+ HOLLOW_MATERIALS.add(Material.FENCE_GATE.getId());
+ HOLLOW_MATERIALS.add(Material.WATER_LILY.getId());
+ HOLLOW_MATERIALS.add(Material.NETHER_WARTS.getId());
+
+ for (Integer integer : HOLLOW_MATERIALS)
{
TRANSPARENT_MATERIALS.add(integer.byteValue());
}
@@ -407,7 +407,7 @@ public class Util
private static boolean isBlockAboveAir(final World world, final int x, final int y, final int z)
{
- return UNSAFE_MATERIALS.contains(world.getBlockAt(x, y - 1, z).getType().getId());
+ return HOLLOW_MATERIALS.contains(world.getBlockAt(x, y - 1, z).getType().getId());
}
public static boolean isBlockUnsafe(final World world, final int x, final int y, final int z)
@@ -437,8 +437,8 @@ public class Util
return true;
}
- if ((!UNSAFE_MATERIALS.contains(world.getBlockAt(x, y, z).getType().getId()))
- || (!UNSAFE_MATERIALS.contains(world.getBlockAt(x, y + 1, z).getType().getId())))
+ if ((!HOLLOW_MATERIALS.contains(world.getBlockAt(x, y, z).getType().getId()))
+ || (!HOLLOW_MATERIALS.contains(world.getBlockAt(x, y + 1, z).getType().getId())))
{
return true;
}
diff --git a/Essentials/src/com/earth2me/essentials/api/ITeleport.java b/Essentials/src/com/earth2me/essentials/api/ITeleport.java
index a7f296572..c1465077c 100644
--- a/Essentials/src/com/earth2me/essentials/api/ITeleport.java
+++ b/Essentials/src/com/earth2me/essentials/api/ITeleport.java
@@ -1,7 +1,6 @@
package com.earth2me.essentials.api;
import com.earth2me.essentials.IUser;
-import com.earth2me.essentials.Teleport.Target;
import com.earth2me.essentials.Trade;
import org.bukkit.Location;
import org.bukkit.entity.Player;