From 30d8b724b9b9306ddc565532948832a6a7103faa Mon Sep 17 00:00:00 2001 From: Shevchik Date: Sun, 1 Sep 2013 21:00:49 +0400 Subject: [PATCH] Finally i got this working. No more falling through chairs. And even if you fall no Nope kick after dismount. --- src/com/cnaude/chairs/Chairs.java | 15 +++++++++---- src/com/cnaude/chairs/PacketListener.java | 26 ++++++++++++++++++++++ target/Chairs.jar | Bin 23782 -> 25399 bytes 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/com/cnaude/chairs/Chairs.java b/src/com/cnaude/chairs/Chairs.java index 38d7d4c..1f83a4a 100644 --- a/src/com/cnaude/chairs/Chairs.java +++ b/src/com/cnaude/chairs/Chairs.java @@ -116,11 +116,18 @@ public class Chairs extends JavaPlugin { protected void reSitPlayer(final Player player) { player.eject(); - sit.get(player.getName()).remove(); + final Entity prevarrow = sit.get(player.getName()); Block block = sitblockbr.get(player.getName()); - Entity arrow = block.getWorld().spawnArrow(block.getLocation().add(0.5, 0, 0.5), new Vector(0, 0, 0), 0, 0); - arrow.setPassenger(player); - sit.put(player.getName(), arrow); + final Entity arrow = block.getWorld().spawnArrow(block.getLocation().add(0.5, 0, 0.5), new Vector(0, 0, 0), 0, 0); + arrow.setPassenger(player); + sit.put(player.getName(), arrow); + Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() + { + public void run() + { + prevarrow.remove(); + } + },40); } protected void ejectPlayer(final Player player) { diff --git a/src/com/cnaude/chairs/PacketListener.java b/src/com/cnaude/chairs/PacketListener.java index 027a4ea..3848b14 100644 --- a/src/com/cnaude/chairs/PacketListener.java +++ b/src/com/cnaude/chairs/PacketListener.java @@ -17,6 +17,7 @@ public class PacketListener { this.pm = pm; this.pluginInstance = plugin; playerDismountListener(); + falledPlayerDismountListener(); } @@ -50,6 +51,31 @@ public class PacketListener { } + private void falledPlayerDismountListener() + { + pm.getAsynchronousManager().registerAsyncHandler( + new PacketAdapter(PacketAdapter + .params(pluginInstance, Packets.Client.ENTITY_ACTION) + .clientSide() + .listenerPriority(ListenerPriority.HIGHEST) + .optionIntercept() + ) + { + @Override + public void onPacketReceiving(final PacketEvent e) + { + if (!e.isCancelled()) + { + Player player = e.getPlayer(); + if (pluginInstance.sit.containsKey(player.getName())) + { + pluginInstance.ejectPlayer(player); + } + } + } + }).syncStart(); + } + diff --git a/target/Chairs.jar b/target/Chairs.jar index 1c1ac2cf63fae18f987badb3f9bf2f3566b5eca7..7f19ca72c8633e3b1a3cced441263287670a0a18 100644 GIT binary patch delta 10492 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 delta 8998 zcmZX41yo!;*Dg|gfZ|SZcemp1#oetq6d81I_rcwzxVvj{cM5}BVQBGE`nT`B_q*S_ z{+yNdob2pmCui*>XXV-LW3b1aumE)>_&2C9Fvu`4#s$d$MmVE_Wd0Z$;{r-4nEy&| z{=8edII;gr`-mRSxB!d+%k~GFMPW(d{-O~){+qw(fwT;V^0%9XG3{*#SQ$VA;$*XQ zH2?I;Q^VM0i39h&vt)Bya4KgZ35laR#gr&q51e0>xFiz?I!|eDXVr@D)FqP}-8UkX zK+Hv^H<&Llfw=oZ)h+K?8r|yy0{pK!*Is{KKfHrsZ`cth!>rM7wW&qH#54qk)kThz z=L3P0^CFOs-YMTTlQ~)LJo#dfK%)!EJdNtI*-OCoZND$`4f5OyoFU&6pK{7ed-Y%8a|9G35I-#+Wf9UcfdKiU$$v=Z7viZ>7L~2WfepRbk$$I@}`J;hfXWc-ehRF^%FYH(NNyZMAbirGG|w zkc-ZzH>Br*;}KJ=Lr?1n)HLNiMpUEuap z=wr`74}$`zWF?S;m0;f4g~(G#geZu^NkfC*d7Gw$P6eF24|=RDZf)&r?SqD|B5fKN zCX-6nw5~3u>uha4J8PeB>C_r5Fe%#J|LpUlAt?M^f1H!Iv9Xc$CvUv>4)}3;0K;Lt zeI34gAcC&;J!HTq94ZXTohy)iW!ani^78TfVnvoAD>2)xBo>>+A+9s)ao;MHQHWAj zTigPlbKYl&JDD!foG^dv@of7OB53w@Ur}T#7O~D^d9ENRqMTsN!Vk;KtRg{zu5Q&e zo?y(pn?P!PRB}kjU>j!v>d3C#bQk5z8R6zk%VTsA&Saz;cF_nj9R9Rk^Qo5ueePiH zN#>EYCrFIIzGEr?!5h1I$0Jaj? z9Pn;;r3=tejbblDmiP^L2(I1YNnU8CSo~(x8m?GUJ5~z-D@$~GV)dJ

;#Tb&oq=kNVMvJ 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