From a4bb3c50dd0d86579e5a9e0c7695fcf911878e37 Mon Sep 17 00:00:00 2001 From: Shevchik Date: Sun, 1 Sep 2013 15:17:52 +0400 Subject: [PATCH] Fix sit occupied check. Add sit break check. --- src/com/cnaude/chairs/Chairs.java | 3 ++ src/com/cnaude/chairs/EventListener.java | 44 +++++++++++++++++----- src/com/cnaude/chairs/PacketListener.java | 19 ++++++++++ target/Chairs.jar | Bin 22900 -> 23752 bytes 4 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/com/cnaude/chairs/Chairs.java b/src/com/cnaude/chairs/Chairs.java index 4c69491..cc01a30 100644 --- a/src/com/cnaude/chairs/Chairs.java +++ b/src/com/cnaude/chairs/Chairs.java @@ -11,6 +11,7 @@ import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.block.Block; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; @@ -39,6 +40,8 @@ public class Chairs extends JavaPlugin { private File pluginFolder; private File configFile; public HashMap sit = new HashMap(); + public HashMap sitblock = new HashMap(); + public HashMap sitblockbr = new HashMap(); public static final String PLUGIN_NAME = "Chairs"; public static final String LOG_HEADER = "[" + PLUGIN_NAME + "]"; static final Logger log = Bukkit.getLogger(); diff --git a/src/com/cnaude/chairs/EventListener.java b/src/com/cnaude/chairs/EventListener.java index d2568c4..12abfce 100644 --- a/src/com/cnaude/chairs/EventListener.java +++ b/src/com/cnaude/chairs/EventListener.java @@ -1,15 +1,19 @@ package com.cnaude.chairs; +import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; +import org.bukkit.craftbukkit.v1_6_R2.entity.CraftArrow; import org.bukkit.entity.Entity; import org.bukkit.entity.ItemFrame; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; +import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.material.Stairs; import org.bukkit.material.Step; @@ -51,11 +55,32 @@ public class EventListener implements Listener { private void unSit(Player player) { plugin.sit.get(player.getName()).remove(); + plugin.sitblock.remove(plugin.sitblockbr.get(player.getName())); + plugin.sitblockbr.remove(player.getName()); plugin.sit.remove(player.getName()); if (plugin.notifyplayer && !plugin.msgStanding.isEmpty()) { player.sendMessage(plugin.msgStanding); } } + + @EventHandler(priority=EventPriority.MONITOR,ignoreCancelled=true) + public void onBlockBreak(BlockBreakEvent event) + { + Block b = event.getBlock(); + if (plugin.sitblock.containsKey(b)) + { + String playername = plugin.sitblock.get(b); + Player player = Bukkit.getPlayerExact(playername); + final Entity arrow = plugin.sit.get(playername); + net.minecraft.server.v1_6_R2.EntityArrow nmsarrow = ((CraftArrow) arrow).getHandle(); + nmsarrow.motX = 0; + nmsarrow.motY = 0; + nmsarrow.motZ = 0; + nmsarrow.boundingBox.b = -1; + player.eject(); + unSit(player); + } + } @EventHandler public void onPlayerInteract(PlayerInteractEvent event) { @@ -209,14 +234,13 @@ public class EventListener implements Listener { // Sit-down process. if (plugin.seatOccupiedCheck) { if (!plugin.sit.isEmpty()) { - for (String s : plugin.sit.keySet()) { - if (plugin.sit.get(s).equals(block.getLocation())) { - if (!plugin.msgOccupied.isEmpty()) { - player.sendMessage(plugin.msgOccupied.replaceAll("%PLAYER%", s)); - } - return; - } - } + if (plugin.sitblock.containsKey(block)) + { + if (!plugin.msgOccupied.isEmpty()) { + player.sendMessage(plugin.msgOccupied.replaceAll("%PLAYER%", plugin.sitblock.get(block))); + } + return; + } } } @@ -249,12 +273,14 @@ public class EventListener implements Listener { player.sendMessage(plugin.msgSitting); } - player.getPlayer().teleport(plocation); + player.teleport(plocation); Entity arrow = block.getWorld().spawnArrow(getBlockCentre(block).subtract(0, 0.5, 0), new Vector(0, 0, 0), 0, 0); arrow.setPassenger(player); player.setSneaking(false); arrow.setTicksLived(1); plugin.sit.put(player.getName(), arrow); + plugin.sitblock.put(block, player.getName()); + plugin.sitblockbr.put(player.getName(), block); event.setCancelled(true); } } diff --git a/src/com/cnaude/chairs/PacketListener.java b/src/com/cnaude/chairs/PacketListener.java index 2182053..bda5416 100644 --- a/src/com/cnaude/chairs/PacketListener.java +++ b/src/com/cnaude/chairs/PacketListener.java @@ -1,6 +1,8 @@ package com.cnaude.chairs; import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.block.Block; import org.bukkit.craftbukkit.v1_6_R2.entity.CraftArrow; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; @@ -41,6 +43,7 @@ public class PacketListener { final Player player = e.getPlayer(); if (e.getPacket().getBooleans().getValues().get(1)) { + //hacks to avoid nope error final Entity arrow = pluginInstance.sit.get(player.getName()); if (arrow != null) { @@ -50,6 +53,9 @@ public class PacketListener { nmsarrow.motZ = 0; nmsarrow.boundingBox.b = -1; } + //teleport player to correct location + + //unsit player Bukkit.getScheduler().scheduleSyncDelayedTask(pluginInstance, new Runnable() { public void run() @@ -69,11 +75,24 @@ public class PacketListener { if (pluginInstance.sit.containsKey(player.getName())) { pluginInstance.sit.get(player.getName()).remove(); + pluginInstance.sitblock.remove(pluginInstance.sitblockbr.get(player.getName())); + pluginInstance.sitblockbr.remove(player.getName()); pluginInstance.sit.remove(player.getName()); if (pluginInstance.notifyplayer && !pluginInstance.msgStanding.isEmpty()) { player.sendMessage(pluginInstance.msgStanding); } } } + + + private Location getTeleportLoc(Player player) + { + Block sittingon = pluginInstance.sitblockbr.get(player.getName()); + sittingon.getLocation(); + player.getLocation().getYaw(); + Location to = player.getLineOfSight(null, 5).get(0).getLocation(); + return to; + } + } diff --git a/target/Chairs.jar b/target/Chairs.jar index b9d439dfef59c7cbedd3c6dd0d8221b3e74c4208..92b14c8c8a27ae3a4cae9679b6dae048348f3648 100644 GIT binary patch delta 16053 zcmZ8|19T-%^LDVYHnwfs&W&x`w(iEZxv`Utz0r*~+StjBHny?*?eG2Td*7ZjQ!_o) z)zjznneKY(srzQg@h(VYRR!ozh!7C)5D@2nDaiCtXMQQXu~cV%K)QTo%^MsLbCjA)FJ{&1oe+JgvR;wkMx9Fgu*!gYX()XfP@ko0s@~I0)hl0 z%~c00?F%#v(1XRo(agi6oFB+-p^+Ui7oG^vDxZTN~P0>5@p@x_zzg?;MY- zt@Birxqi}vnH+wPqp2KD8|#@hqd$JTW)RuTJiexaKyCWtr!NCF604C*?+Dj6IKV_r z*LFC~+ABI|;)~+tmDp=Mp-j6mc7Z4ZZp7spz7^=w8{g4iZnFsQIah-MhP#9Qj;37W zUn3A%ZU@LaJK+i4Vq$4IngD~=Xz5^cwDw(focWqPz-Ei$AP?Hqz@ehhS{S1%b%(NA z;}&!Vu(JkUXP>}$xLVqmpn-X4LG9P90E}dvLnl1S`L!vn_YLjP*N2GJ1hva!aKwmi z-^n0f;b8qIR;r1w>7m~dQ>#xK>`9KDJoSDf!5v7(l~U9qC( zz7erH9PdrBqGrAsv3YpL^?Te*=la;+EPRDAT~u#mB6+KyH6nRyeUW^&PX{+#IW?Sh zZcrmdHExt6eX4zVK>?cY{Gb4>-Xt&%b_YkV$zU*AzRQc0{)iKka{xN(u0A%Ys#_Es z(0V`Y-7i`cE#MkGP;+Dq&u=rVf56258ewzdE3H;wEO1ZS>5?I5 z9Xhk~0HND>#0A_Z%m*@3f;DjyY|BpUq+0sinu=v}xH461m0r0<$IUHw&R^i{^o7

n%)+F3W4%53U4H)mJo!8f!_9f{sya?wm{ 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 Uh=BNS2&{kBe{%y4t$#=VA8^scEC2ui