tangled
alpha
login
or
join now
keii.dev
/
uberbukkit
Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
0
fork
atom
overview
issues
pulls
pipelines
Add PacketSentEvent
Cody
2 years ago
b0cbe0b6
6ef90252
+57
-3
5 changed files
expand all
collapse all
unified
split
src
main
java
net
minecraft
server
NetServerHandler.java
org
bukkit
event
Event.java
packet
PacketListener.java
PacketSentEvent.java
plugin
java
JavaPluginLoader.java
+8
-1
src/main/java/net/minecraft/server/NetServerHandler.java
···
25
25
import org.bukkit.event.block.BlockRedstoneEvent;
26
26
import org.bukkit.event.block.SignChangeEvent;
27
27
import org.bukkit.event.packet.PacketReceivedEvent;
28
28
+
import org.bukkit.event.packet.PacketSentEvent;
28
29
import org.bukkit.event.player.PlayerAnimationEvent;
29
30
import org.bukkit.event.player.PlayerChatEvent;
30
31
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
···
936
937
}
937
938
//Poseidon End
938
939
940
940
+
// UberBukkit
941
941
+
PacketSentEvent packetSentEvent = new PacketSentEvent(getPlayer(), packet);
942
942
+
Bukkit.getPluginManager().callEvent(packetSentEvent);
943
943
+
if (packetSentEvent.isCancelled()) {
944
944
+
return;
945
945
+
}
946
946
+
packet = packetSentEvent.getPacket();
939
947
940
940
-
// uberbukkit
941
948
Protocol protocol = Uberbukkit.getProtocolHandler();
942
949
if (!protocol.canReceivePacket(packet.b())) {
943
950
this.g = this.f;
+2
src/main/java/org/bukkit/event/Event.java
···
154
154
155
155
PACKET_RECEIVED(Category.PACKET),
156
156
157
157
+
PACKET_SENT(Category.PACKET),
158
158
+
157
159
158
160
/**
159
161
* Called when a player first starts their connection. Called before UUID is known.
+2
-2
src/main/java/org/bukkit/event/packet/PacketListener.java
···
5
5
/**
6
6
* @author moderator_man
7
7
*/
8
8
-
public class PacketListener implements Listener
9
9
-
{
8
8
+
public class PacketListener implements Listener {
10
9
public void onPacketReceived(PacketReceivedEvent event) {}
10
10
+
public void onPacketSent(PacketSentEvent event) {}
11
11
}
+36
src/main/java/org/bukkit/event/packet/PacketSentEvent.java
···
1
1
+
package org.bukkit.event.packet;
2
2
+
3
3
+
import net.minecraft.server.Packet;
4
4
+
import org.bukkit.entity.Player;
5
5
+
import org.bukkit.event.Event;
6
6
+
import org.jetbrains.annotations.Nullable;
7
7
+
8
8
+
public class PacketSentEvent extends Event {
9
9
+
private Player player;
10
10
+
private Packet packet;
11
11
+
private boolean cancelled;
12
12
+
13
13
+
public PacketSentEvent(Player player, Packet packet) {
14
14
+
super(Type.PACKET_SENT);
15
15
+
16
16
+
this.player = player;
17
17
+
this.packet = packet;
18
18
+
}
19
19
+
20
20
+
@Nullable
21
21
+
public Player getPlayer() {
22
22
+
return player;
23
23
+
}
24
24
+
25
25
+
public Packet getPacket() {
26
26
+
return packet;
27
27
+
}
28
28
+
29
29
+
public boolean isCancelled() {
30
30
+
return cancelled;
31
31
+
}
32
32
+
33
33
+
public void setCancelled(boolean cancelled) {
34
34
+
this.cancelled = cancelled;
35
35
+
}
36
36
+
}
+9
src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
···
14
14
import org.bukkit.event.inventory.InventoryTransactionEvent;
15
15
import org.bukkit.event.packet.PacketListener;
16
16
import org.bukkit.event.packet.PacketReceivedEvent;
17
17
+
import org.bukkit.event.packet.PacketSentEvent;
17
18
import org.bukkit.event.painting.PaintingBreakEvent;
18
19
import org.bukkit.event.painting.PaintingPlaceEvent;
19
20
import org.bukkit.event.player.*;
···
348
349
349
350
switch (type)
350
351
{
352
352
+
// UberBukkit events
353
353
+
case PACKET_SENT:
354
354
+
return new EventExecutor() {
355
355
+
public void execute(Listener listener, Event event) {
356
356
+
((PacketListener) listener).onPacketSent((PacketSentEvent) event);
357
357
+
}
358
358
+
};
359
359
+
351
360
// Poseidon events
352
361
case PACKET_RECEIVED:
353
362
return new EventExecutor()