Skip to content

Commit c5cfd23

Browse files
committed
patch bundle crash
1 parent f9347d8 commit c5cfd23

File tree

2 files changed

+72
-0
lines changed
  • AnarchyExploitFixesFolia/src/main/java/me/xginko/aef/modules/packets
  • AnarchyExploitFixesLegacy/src/main/java/me/xginko/aef/modules/packets

2 files changed

+72
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package me.xginko.aef.modules.packets;
2+
3+
import com.github.retrooper.packetevents.event.PacketListenerPriority;
4+
import com.github.retrooper.packetevents.event.PacketReceiveEvent;
5+
import com.github.retrooper.packetevents.manager.server.ServerVersion;
6+
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
7+
import com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientSelectBundleItem;
8+
import me.xginko.aef.utils.enums.Platform;
9+
10+
public class BundleCrash extends PacketModule {
11+
12+
private final boolean log, kick;
13+
14+
public BundleCrash() {
15+
super("patches.bundle-crash-patch",
16+
Platform.getServerVersion().isNewerThanOrEquals(ServerVersion.V_1_20_5)
17+
&& !Platform.getServerVersion().isOlderThan(ServerVersion.V_1_21_4),
18+
PacketListenerPriority.HIGHEST,
19+
"Patches a crash exploit found and made public by autism inc involving bundles.");
20+
this.log = config.getBoolean(configPath + ".log", false);
21+
this.kick = config.getBoolean(configPath + ".kick-player", false);
22+
}
23+
24+
@Override
25+
public void onPacketReceive(PacketReceiveEvent event) {
26+
if (event.isCancelled() || event.getPacketType() != PacketType.Play.Client.SELECT_BUNDLE_ITEM) return;
27+
28+
WrapperPlayClientSelectBundleItem selectBundleItem = new WrapperPlayClientSelectBundleItem(event);
29+
30+
if (selectBundleItem.getSelectedItemIndex() < -1) {
31+
selectBundleItem.setSelectedItemIndex(-1);
32+
event.markForReEncode(true);
33+
onCancel(log, kick, event.getUser());
34+
}
35+
}
36+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package me.xginko.aef.modules.packets;
2+
3+
import com.github.retrooper.packetevents.event.PacketListenerPriority;
4+
import com.github.retrooper.packetevents.event.PacketReceiveEvent;
5+
import com.github.retrooper.packetevents.manager.server.ServerVersion;
6+
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
7+
import com.github.retrooper.packetevents.wrapper.play.client.WrapperPlayClientSelectBundleItem;
8+
import me.xginko.aef.utils.enums.Platform;
9+
10+
public class BundleCrash extends PacketModule {
11+
12+
private final boolean log, kick;
13+
14+
public BundleCrash() {
15+
super("patches.bundle-crash-patch",
16+
Platform.getServerVersion().isNewerThanOrEquals(ServerVersion.V_1_20_5)
17+
&& !Platform.getServerVersion().isOlderThan(ServerVersion.V_1_21_4),
18+
PacketListenerPriority.HIGHEST,
19+
"Patches a crash exploit found and made public by autism inc involving bundles.");
20+
this.log = config.getBoolean(configPath + ".log", false);
21+
this.kick = config.getBoolean(configPath + ".kick-player", false);
22+
}
23+
24+
@Override
25+
public void onPacketReceive(PacketReceiveEvent event) {
26+
if (event.isCancelled() || event.getPacketType() != PacketType.Play.Client.SELECT_BUNDLE_ITEM) return;
27+
28+
WrapperPlayClientSelectBundleItem selectBundleItem = new WrapperPlayClientSelectBundleItem(event);
29+
30+
if (selectBundleItem.getSelectedItemIndex() < -1) {
31+
selectBundleItem.setSelectedItemIndex(-1);
32+
event.markForReEncode(true);
33+
onCancel(log, kick, event.getUser());
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)