diff options
author | snowleo <schneeleo@gmail.com> | 2011-06-23 13:49:37 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-06-23 13:49:37 +0200 |
commit | 5dc1a70bcb6193c82a7612d9b61da9c1462e741c (patch) | |
tree | 6d58b69807a7a6d0db1f62c3d5b5c8c9653c6b44 | |
parent | 9c5a1bd70289ff22ed8ee31de0f31098a56227cc (diff) | |
parent | 909190ef4fd13c7f8cf7f47e3bfcab370c27607f (diff) | |
download | Essentials-5dc1a70bcb6193c82a7612d9b61da9c1462e741c.tar Essentials-5dc1a70bcb6193c82a7612d9b61da9c1462e741c.tar.gz Essentials-5dc1a70bcb6193c82a7612d9b61da9c1462e741c.tar.lz Essentials-5dc1a70bcb6193c82a7612d9b61da9c1462e741c.tar.xz Essentials-5dc1a70bcb6193c82a7612d9b61da9c1462e741c.zip |
Merge branch 'bukkitupdate'
Conflicts:
EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
6 files changed, 155 insertions, 8 deletions
diff --git a/Essentials/src/com/earth2me/essentials/FakeWorld.java b/Essentials/src/com/earth2me/essentials/FakeWorld.java index befe9db8b..30ef75639 100644 --- a/Essentials/src/com/earth2me/essentials/FakeWorld.java +++ b/Essentials/src/com/earth2me/essentials/FakeWorld.java @@ -3,6 +3,7 @@ package com.earth2me.essentials; import java.util.List; import org.bukkit.BlockChangeDelegate; import org.bukkit.Chunk; +import org.bukkit.ChunkSnapshot; import org.bukkit.Effect; import org.bukkit.Location; import org.bukkit.TreeType; @@ -355,5 +356,40 @@ public class FakeWorld implements World { throw new UnsupportedOperationException("Not supported yet."); } + + public boolean createExplosion(double d, double d1, double d2, float f, boolean bln) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean createExplosion(Location lctn, float f, boolean bln) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public <T extends Entity> T spawn(Location lctn, Class<T> type) throws IllegalArgumentException + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public ChunkSnapshot getEmptyChunkSnapshot(int i, int i1, boolean bln, boolean bln1) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setSpawnFlags(boolean bln, boolean bln1) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean getAllowAnimals() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean getAllowMonsters() + { + throw new UnsupportedOperationException("Not supported yet."); + } } diff --git a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java index bd80b057e..8427e2996 100644 --- a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java +++ b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java @@ -6,8 +6,10 @@ import java.util.List; import java.util.UUID; import org.bukkit.Achievement; import org.bukkit.Effect; +import org.bukkit.Instrument; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.Note; import org.bukkit.Server; import org.bukkit.Statistic; import org.bukkit.World; @@ -479,4 +481,34 @@ public class OfflinePlayer implements Player { return uniqueId; } + + public void playNote(Location lctn, Instrument i, Note note) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setPlayerTime(long l, boolean bln) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public long getPlayerTime() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public long getPlayerTimeOffset() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean isPlayerTimeRelative() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void resetPlayerTime() + { + throw new UnsupportedOperationException("Not supported yet."); + } } diff --git a/Essentials/src/com/earth2me/essentials/PlayerWrapper.java b/Essentials/src/com/earth2me/essentials/PlayerWrapper.java index a9666f64b..99ade90ce 100644 --- a/Essentials/src/com/earth2me/essentials/PlayerWrapper.java +++ b/Essentials/src/com/earth2me/essentials/PlayerWrapper.java @@ -530,4 +530,34 @@ public class PlayerWrapper implements Player { return base.getUniqueId(); } + + public void playNote(Location lctn, Instrument i, Note note) + { + base.playNote(lctn, i, note); + } + + public void setPlayerTime(long l, boolean bln) + { + base.setPlayerTime(l, bln); + } + + public long getPlayerTime() + { + return base.getPlayerTime(); + } + + public long getPlayerTimeOffset() + { + return base.getPlayerTimeOffset(); + } + + public boolean isPlayerTimeRelative() + { + return base.isPlayerTimeRelative(); + } + + public void resetPlayerTime() + { + base.resetPlayerTime(); + } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java index 9c4aa8c74..71bfb5965 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtime.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtime.java @@ -15,20 +15,45 @@ public class Commandtime extends EssentialsCommand } @Override - public void run(Server server, User user, String commandLabel, String[] args) throws Exception + public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { throw new NotEnoughArgumentsException(); } - World world = user.getWorld(); + if (user.isAuthorized("essentials.time.world")) + { + final World world = user.getWorld(); + + charge(user); + setWorldTime(world, args[0]); + } + else + { + if (user.isAuthorized("essentials.time.player")) + { - charge(user); - setWorldTime(world, args[0]); + long time = user.getPlayerTime(); + time -= time % 24000; + if ("day".equalsIgnoreCase(args[0])) + { + final World world = user.getWorld(); + user.setPlayerTime(time + 24000 - world.getTime(), true); + return; + } + if ("night".equalsIgnoreCase(args[0])) + { + final World world = user.getWorld(); + user.setPlayerTime(time + 37700 - world.getTime(), true); + return; + } + throw new Exception(Util.i18n("onlyDayNight")); + } + } } @Override - public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception + public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { @@ -42,10 +67,10 @@ public class Commandtime extends EssentialsCommand sender.sendMessage(Util.i18n("timeSet")); } - private void setWorldTime(World world, String timeString) throws Exception + private void setWorldTime(final World world, final String timeString) throws Exception { long time = world.getTime(); - time = time - time % 24000; + time -= time % 24000; if ("day".equalsIgnoreCase(timeString)) { world.setTime(time + 24000); diff --git a/Essentials/test/com/earth2me/essentials/FakeServer.java b/Essentials/test/com/earth2me/essentials/FakeServer.java index 07483fed7..4cabbb9f8 100644 --- a/Essentials/test/com/earth2me/essentials/FakeServer.java +++ b/Essentials/test/com/earth2me/essentials/FakeServer.java @@ -3,6 +3,7 @@ package com.earth2me.essentials; import com.avaje.ebean.config.ServerConfig; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.logging.Logger; import org.bukkit.Location; import org.bukkit.Server; @@ -218,4 +219,24 @@ public class FakeServer implements Server { throw new UnsupportedOperationException("Not supported yet."); } + + public Map<String, String[]> getCommandAliases() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public int getSpawnRadius() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void setSpawnRadius(int i) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public boolean getOnlineMode() + { + throw new UnsupportedOperationException("Not supported yet."); + } } diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java index cd3977b71..42a55c874 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java @@ -290,7 +290,10 @@ public class EssentialsProtectEntityListener extends EntityListener final User user = ess.getUser(event.getTarget());
if ((event.getReason() == TargetReason.CLOSEST_PLAYER
|| event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY
- || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET)
+ || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET
+ || event.getReason() == TargetReason.RANDOM_TARGET
+ || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER
+ || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET)
&& prot.getSettingBool(ProtectConfig.prevent_entitytarget)
&& !user.isAuthorized("essentials.protect.entitytarget.bypass"))
{
|