Skip to content

Commit ac8b6bc

Browse files
committed
cancel packets
1 parent e9011c9 commit ac8b6bc

File tree

2 files changed

+93
-132
lines changed

2 files changed

+93
-132
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package org.cloudanarchy.queueplugin;
2+
3+
import com.comphenix.protocol.PacketType;
4+
import com.comphenix.protocol.events.PacketAdapter;
5+
import com.comphenix.protocol.events.PacketEvent;
6+
import org.bukkit.entity.EntityType;
7+
import org.bukkit.event.EventHandler;
8+
import org.bukkit.event.Listener;
9+
import org.bukkit.event.block.BlockPhysicsEvent;
10+
import org.bukkit.event.entity.EntitySpawnEvent;
11+
import org.bukkit.event.player.PlayerAttemptPickupItemEvent;
12+
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
13+
import org.bukkit.event.raid.RaidTriggerEvent;
14+
import org.bukkit.plugin.java.JavaPlugin;
15+
16+
import java.util.HashSet;
17+
import java.util.Set;
18+
import java.util.stream.Collectors;
19+
20+
public class EventCanceler extends PacketAdapter implements Listener {
21+
22+
public EventCanceler(JavaPlugin plugin) {
23+
super(plugin, getAllPacketTypes());
24+
}
25+
26+
private static Iterable<? extends PacketType> getAllPacketTypes() {
27+
final Set<PacketType> types = new HashSet<>();
28+
types.addAll(PacketType.Play.Client.getInstance().values().stream().filter(PacketType::isSupported).collect(Collectors.toSet()));
29+
types.addAll(PacketType.Play.Server.getInstance().values().stream().filter(PacketType::isSupported).collect(Collectors.toSet()));
30+
return types;
31+
}
32+
33+
@Override
34+
public void onPacketReceiving(PacketEvent ev) {
35+
if (ev.getPacketType() == PacketType.Play.Client.KEEP_ALIVE) return;
36+
ev.setCancelled(true);
37+
}
38+
39+
@Override
40+
public void onPacketSending(PacketEvent ev) {
41+
if (ev.getPacketType() == PacketType.Play.Server.KEEP_ALIVE) return;
42+
if (ev.getPacketType() == PacketType.Play.Server.CHAT) return;
43+
ev.setCancelled(true);
44+
}
45+
46+
@EventHandler
47+
public void onEntitySpawn(EntitySpawnEvent ev) {
48+
if (ev.getEntityType() == EntityType.PLAYER) return;
49+
ev.setCancelled(true);
50+
}
51+
52+
@EventHandler
53+
public void onBlockPhysics(BlockPhysicsEvent ev) {
54+
ev.setCancelled(true);
55+
}
56+
57+
@EventHandler
58+
public void onCommand(PlayerCommandPreprocessEvent ev) {
59+
ev.setCancelled(true);
60+
}
61+
62+
@EventHandler
63+
public void onPlayerAttemptPickupItem(PlayerAttemptPickupItemEvent ev) {
64+
ev.setCancelled(true);
65+
}
66+
67+
@EventHandler
68+
public void onRaidTrigger(RaidTriggerEvent ev) {
69+
ev.setCancelled(true);
70+
}
71+
72+
}
Lines changed: 21 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
11
package org.cloudanarchy.queueplugin;
22

33

4+
import com.comphenix.protocol.ProtocolLibrary;
45
import net.kyori.adventure.text.Component;
56
import org.bukkit.GameMode;
67
import org.bukkit.Location;
7-
import org.bukkit.entity.EntityType;
88
import org.bukkit.entity.Player;
99
import org.bukkit.event.EventHandler;
1010
import org.bukkit.event.Listener;
11-
import org.bukkit.event.block.BlockBreakEvent;
12-
import org.bukkit.event.block.BlockPhysicsEvent;
13-
import org.bukkit.event.block.BlockPlaceEvent;
14-
import org.bukkit.event.entity.EntitySpawnEvent;
15-
import org.bukkit.event.inventory.InventoryInteractEvent;
16-
import org.bukkit.event.inventory.InventoryMoveItemEvent;
17-
import org.bukkit.event.inventory.InventoryOpenEvent;
18-
import org.bukkit.event.player.*;
19-
import org.bukkit.event.raid.RaidTriggerEvent;
20-
import org.bukkit.event.server.TabCompleteEvent;
11+
import org.bukkit.event.player.PlayerAdvancementDoneEvent;
12+
import org.bukkit.event.player.PlayerJoinEvent;
13+
import org.bukkit.event.player.PlayerQuitEvent;
14+
import org.bukkit.event.player.PlayerRespawnEvent;
2115
import org.bukkit.plugin.java.JavaPlugin;
2216
import org.bukkit.scheduler.BukkitRunnable;
2317
import org.jetbrains.annotations.NotNull;
2418

2519
public final class QueuePlugin extends JavaPlugin implements Listener {
2620

21+
private static QueuePlugin instance;
22+
23+
public static QueuePlugin getInstance() {
24+
return instance;
25+
}
26+
27+
@Override
28+
public void onLoad() {
29+
if (instance == null) {
30+
instance = this;
31+
}
32+
}
33+
2734
private void process(@NotNull Player player) {
2835
player.teleport(new Location(getServer().getWorlds().get(0), 0, 140, 0));
2936
player.setAllowFlight(true);
@@ -38,6 +45,9 @@ private void process(@NotNull Player player) {
3845
@Override
3946
public void onEnable() {
4047
getServer().getPluginManager().registerEvents(this, this);
48+
EventCanceler eventCanceler = new EventCanceler(this);
49+
getServer().getPluginManager().registerEvents(eventCanceler, this);
50+
ProtocolLibrary.getProtocolManager().addPacketListener(eventCanceler);
4151
}
4252

4353
@EventHandler
@@ -62,130 +72,9 @@ public void onPlayerLeave(PlayerQuitEvent ev) {
6272
ev.quitMessage(Component.empty());
6373
}
6474

65-
@EventHandler
66-
public void onBlockBreak(BlockBreakEvent ev) {
67-
ev.setCancelled(true);
68-
}
69-
70-
@EventHandler
71-
public void onBlockPhysics(BlockPhysicsEvent ev) {
72-
ev.setCancelled(true);
73-
}
74-
75-
@EventHandler
76-
public void onBlockPlace(BlockPlaceEvent ev) {
77-
ev.setCancelled(true);
78-
}
79-
80-
@EventHandler
81-
public void onCommand(PlayerCommandPreprocessEvent ev) {
82-
ev.setCancelled(true);
83-
}
84-
85-
@EventHandler
86-
public void onEntitySpawn(EntitySpawnEvent ev) {
87-
if (ev.getEntityType() == EntityType.PLAYER) return;
88-
ev.setCancelled(true);
89-
}
90-
91-
@EventHandler
92-
public void onInventoryInteract(InventoryInteractEvent ev) {
93-
ev.setCancelled(true);
94-
}
95-
96-
@EventHandler
97-
public void onInventoryMoveItem(InventoryMoveItemEvent ev) {
98-
ev.setCancelled(true);
99-
}
100-
101-
@EventHandler
102-
public void onInventoryOpen(InventoryOpenEvent ev) {
103-
ev.setCancelled(true);
104-
}
105-
10675
@EventHandler
10776
public void onPlayerAdvancementDone(PlayerAdvancementDoneEvent ev) {
10877
ev.message(Component.empty());
10978
}
11079

111-
@EventHandler
112-
public void onPlayerAnimation(PlayerAnimationEvent ev) {
113-
ev.setCancelled(true);
114-
}
115-
116-
@EventHandler
117-
public void onPlayerAttemptPickupItem(PlayerAttemptPickupItemEvent ev) {
118-
ev.setCancelled(true);
119-
}
120-
121-
@EventHandler
122-
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent ev) {
123-
ev.setCancelled(true);
124-
}
125-
126-
@EventHandler
127-
public void onPlayerHarvestBlock(PlayerHarvestBlockEvent ev) {
128-
ev.setCancelled(true);
129-
}
130-
131-
@EventHandler
132-
public void onPlayerInteract(PlayerInteractEvent ev) {
133-
ev.setCancelled(true);
134-
}
135-
136-
@EventHandler
137-
public void onPlayerItemHeld(PlayerItemHeldEvent ev) {
138-
ev.setCancelled(true);
139-
}
140-
141-
@EventHandler
142-
public void onPlayerMove(PlayerMoveEvent ev) {
143-
ev.setCancelled(true);
144-
}
145-
146-
@EventHandler
147-
public void onPlayerPortal(PlayerPortalEvent ev) {
148-
ev.setCancelled(true);
149-
}
150-
151-
@EventHandler
152-
public void onPlayerRecipeDiscover(PlayerRecipeDiscoverEvent ev) {
153-
ev.setCancelled(true);
154-
}
155-
156-
@EventHandler
157-
public void onPlayerStatisticIncrement(PlayerStatisticIncrementEvent ev) {
158-
ev.setCancelled(true);
159-
}
160-
161-
@EventHandler
162-
public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent ev) {
163-
ev.setCancelled(true);
164-
}
165-
166-
@EventHandler
167-
public void onPlayerToggleSneak(PlayerToggleSneakEvent ev) {
168-
ev.setCancelled(true);
169-
}
170-
171-
@EventHandler
172-
public void onPlayerToggleSprint(PlayerToggleSprintEvent ev) {
173-
ev.setCancelled(true);
174-
}
175-
176-
@EventHandler
177-
public void onPlayerVelocity(PlayerVelocityEvent ev) {
178-
ev.setCancelled(true);
179-
}
180-
181-
@EventHandler
182-
public void onRaidTrigger(RaidTriggerEvent ev) {
183-
ev.setCancelled(true);
184-
}
185-
186-
@EventHandler
187-
public void onTabComplete(TabCompleteEvent ev) {
188-
ev.setCancelled(true);
189-
}
190-
19180
}

0 commit comments

Comments
 (0)