File tree Expand file tree Collapse file tree 9 files changed +69
-35
lines changed
java/me/krymz0n/simpleexploitfixer Expand file tree Collapse file tree 9 files changed +69
-35
lines changed Original file line number Diff line number Diff line change 66
77 <groupId >me.krymz0n</groupId >
88 <artifactId >SimpleExploitFixer</artifactId >
9- <version >1.5 </version >
9+ <version >1.6 </version >
1010 <packaging >jar</packaging >
1111
1212 <name >SimpleExploitFixer</name >
Original file line number Diff line number Diff line change 44import me .krymz0n .simpleexploitfixer .commands .Reload ;
55import me .krymz0n .simpleexploitfixer .listener .*;
66import me .krymz0n .simpleexploitfixer .listener .exploit .BowBomb ;
7+ import me .krymz0n .simpleexploitfixer .listener .exploit .Log4J ;
78import me .krymz0n .simpleexploitfixer .listener .exploit .TabComplete ;
89import me .krymz0n .simpleexploitfixer .listener .lag .*;
910import me .krymz0n .simpleexploitfixer .listener .misc .Chat ;
@@ -45,7 +46,8 @@ public void onEnable() {
4546 pm .registerEvents (new Rail (this ), this );
4647 pm .registerEvents (new Chat (this ), this );
4748 pm .registerEvents (new BowBomb (this ), this );
48- pm .registerEvents (new TabComplete (this ), this );
49+ //pm.registerEvents(new TabComplete(this), this);
50+ pm .registerEvents (new Log4J (this ), this );
4951
5052 Objects .requireNonNull (getCommand ("sef" )).setExecutor (new Reload (this ));
5153
Original file line number Diff line number Diff line change @@ -46,35 +46,6 @@ public void onPacketReceiving(PacketEvent event) {
4646 }
4747 }
4848 });
49-
50- protocolManager .addPacketListener (
51- new PacketAdapter (plugin , ListenerPriority .NORMAL , PacketType .Play .Client .TAB_COMPLETE ) {
52-
53- @ Override
54- public void onPacketReceiving (PacketEvent event ) {
55- if (event .getPacketType () == PacketType .Play .Client .TAB_COMPLETE ) {
56- System .out .println ("0" );
57- PacketContainer packet = event .getPacket ();
58- String command = packet .getStrings ().read (0 ); // reads the amount of strings that are sent on the packet.
59- if (command .equals ("/" )) {
60- event .setCancelled (true );
61- System .out .println ("1" );
62- if (plugin .getConfig ().getBoolean ("SendFakePlugins" )) {
63- Player player = event .getPlayer ();
64- PacketContainer response = new PacketContainer (PacketType .Play .Server .TAB_COMPLETE );
65- response .getStringArrays ().write (0 , Utils .formatPlugins ());
66- try {
67- Main .getInstance ().getProtocolManager ().sendServerPacket (player , response );
68- } catch (Exception e ) {
69- e .printStackTrace ();
70- }
71- }
72-
73- }
74- }
75- }
76- }
77- );
7849 }
7950 }
8051}
Original file line number Diff line number Diff line change 1+ package me .krymz0n .simpleexploitfixer .listener .exploit ;
2+
3+ import me .krymz0n .simpleexploitfixer .Main ;
4+ import org .bukkit .event .EventHandler ;
5+ import org .bukkit .event .EventPriority ;
6+ import org .bukkit .event .Listener ;
7+ import org .bukkit .event .entity .PlayerDeathEvent ;
8+ import org .bukkit .event .player .AsyncPlayerChatEvent ;
9+ import org .bukkit .event .player .PlayerCommandPreprocessEvent ;
10+
11+ import java .util .Objects ;
12+
13+ public class Log4J implements Listener {
14+ private final Main plugin ;
15+
16+ public Log4J (Main plugin ) {
17+ this .plugin = plugin ;
18+ }
19+
20+ @ EventHandler
21+ public void onChat (AsyncPlayerChatEvent evt ) {
22+ if (plugin .getConfig ().getBoolean ("Log4J" ) && evt .getMessage ().startsWith ("${" )) {
23+ evt .setCancelled (true );
24+ }
25+ }
26+
27+
28+ @ EventHandler (priority = EventPriority .HIGH , ignoreCancelled = true )
29+ public void onCommandPreprocess (PlayerCommandPreprocessEvent evt ) {
30+ if (plugin .getConfig ().getBoolean ("Log4J" ) && evt .getMessage ().contains ("${" )) {
31+ evt .setCancelled (true );
32+ }
33+ }
34+
35+ @ EventHandler
36+ public void onDeathMessage (PlayerDeathEvent evt ) {
37+ if (plugin .getConfig ().getBoolean ("Log4J" ) && Objects .requireNonNull (evt .getDeathMessage ()).contains ("${" )) {
38+ evt .setCancelled (true );
39+ }
40+ }
41+ }
Original file line number Diff line number Diff line change @@ -14,7 +14,15 @@ public TabComplete(Main plugin) {
1414 this .plugin = plugin ;
1515 }
1616
17- @ EventHandler // should work as a patch, however I need more testing before I make a new release.
17+ @ EventHandler
18+ public void onTabComplete (PlayerCommandSendEvent evt ) {
19+ evt .getCommands ().clear ();
20+ System .out .println ("Cleared plugins list" );
21+ evt .getCommands ().add ("test" );
22+
23+ }
24+
25+ @ EventHandler
1826 public void onTabComplete (TabCompleteEvent evt ) {
1927 System .out .println ("test" );
2028 if (evt .getBuffer ().equalsIgnoreCase ("/" )) {
Original file line number Diff line number Diff line change @@ -27,7 +27,12 @@ private void onChat(AsyncPlayerChatEvent evt) {
2727 evt .setCancelled (true );
2828 }
2929
30- if (evt .getMessage ().contains ("discord.gg" ) || evt .getMessage ().contains ("discord.com" ) || evt .getMessage ().contains ("discord.media" ) || evt .getMessage ().contains ("discordapp.com" ) || evt .getMessage ().contains ("discordapp.net" ) || evt .getMessage ().contains ("discordstatus.com" )) {
30+ if (evt .getMessage ().contains ("discord.gg" )
31+ || evt .getMessage ().contains ("discord.com" )
32+ || evt .getMessage ().contains ("discord.media" )
33+ || evt .getMessage ().contains ("discordapp.com" )
34+ || evt .getMessage ().contains ("discordapp.net" )
35+ || evt .getMessage ().contains ("discordstatus.com" )) {
3136 evt .setCancelled (true );
3237 }
3338 }
Original file line number Diff line number Diff line change @@ -27,14 +27,17 @@ public InteractEvent(Main plugin) {
2727 public void onInteract (PlayerInteractEvent evt ) {
2828 if (plugin .getConfig ().getBoolean ("DisableRespawnAnchorExplosions" )) {
2929 Player p = evt .getPlayer ();
30+
3031 if (evt .getAction () == Action .RIGHT_CLICK_BLOCK ) {
3132 Block block = evt .getClickedBlock ();
3233 assert block != null ;
34+
3335 if (block .getType ().equals (Material .RESPAWN_ANCHOR )) {
34- final RespawnAnchor ra = (RespawnAnchor ) block .getBlockData ();
36+ final RespawnAnchor ra = (RespawnAnchor ) block .getBlockData (); // Getting the block data
37+
3538 if (evt .getMaterial ().equals (Material .GLOWSTONE ) && ra .getCharges () >= ra .getMaximumCharges () || !evt .getMaterial ().equals (Material .GLOWSTONE ) && ra .getCharges () > 0 && !p .getWorld ().getEnvironment ().equals (World .Environment .NETHER )) {
3639 evt .setCancelled (true );
37- Audience .audience (p ).sendActionBar (Component .text (ChatColor .RED + "Due to a poll in the discord, respawn anchor explosions have been disabled" ));
40+ Audience .audience (p ).sendActionBar (Component .text (ChatColor .RED + "Due to a poll in the discord, respawn anchor explosions have been disabled" )); //sending action bar
3841 }
3942 }
4043 }
Original file line number Diff line number Diff line change 11package me .krymz0n .simpleexploitfixer .util ;
22
33import me .krymz0n .simpleexploitfixer .Main ;
4+ import org .bukkit .ChatColor ;
45import org .bukkit .entity .Entity ;
56
67import java .util .ArrayList ;
Original file line number Diff line number Diff line change @@ -73,6 +73,9 @@ DelayOfRailClock: 1
7373PreventBowBombExploit : true
7474MaxBowSquaredVelocity : 15
7575
76+ # Log4Shell
77+ Log4J : true
78+
7679# ProtocolLib
7780DisableAllProtocolLib : false
7881PreventNoComCoordinateExploit : true
You can’t perform that action at this time.
0 commit comments