Skip to content

Commit 11f747d

Browse files
committed
1.3, adding option to disable respawn anchors in the over world and end.
1 parent 2f8158b commit 11f747d

File tree

5 files changed

+27
-66
lines changed

5 files changed

+27
-66
lines changed

src/main/java/me/krymz0n/simpleexploitfixer/Main.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import org.bukkit.plugin.PluginManager;
1212
import org.bukkit.plugin.java.JavaPlugin;
1313

14+
import java.util.Objects;
15+
1416
public final class Main extends JavaPlugin implements Listener {
1517

1618
@Override
@@ -20,12 +22,11 @@ public void onEnable() {
2022
pm.registerEvents(this, this);
2123
pm.registerEvents(new Bees(this), this);
2224
pm.registerEvents(new CreatureSpawn(this), this);
23-
pm.registerEvents(new ChunkLoad(this), this);
2425
pm.registerEvents(new ChunkBan(this), this);
2526
pm.registerEvents(new WitherSkulls(this), this);
2627
pm.registerEvents(new InteractEvent(this), this);
2728

28-
getCommand("sef").setExecutor(new Reload(this));
29+
Objects.requireNonNull(getCommand("sef")).setExecutor(new Reload(this));
2930

3031
if (getConfig().getBoolean("DisableAllProtocolLib")) {
3132
getLogger().info("You specified to disable all ProtocolLib patches.");

src/main/java/me/krymz0n/simpleexploitfixer/listener/ChunkLoad.java

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/main/java/me/krymz0n/simpleexploitfixer/listener/ExplosionEvent.java

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package me.krymz0n.simpleexploitfixer.listener;
22

33
import me.krymz0n.simpleexploitfixer.Main;
4+
import net.kyori.adventure.audience.Audience;
5+
import net.kyori.adventure.text.Component;
6+
import org.bukkit.Bukkit;
47
import org.bukkit.ChatColor;
58
import org.bukkit.Material;
9+
import org.bukkit.World;
610
import org.bukkit.block.Block;
7-
import org.bukkit.block.BlockState;
811
import org.bukkit.block.data.type.RespawnAnchor;
912
import org.bukkit.entity.Player;
1013
import org.bukkit.event.EventHandler;
1114
import org.bukkit.event.Listener;
1215
import org.bukkit.event.block.Action;
16+
import org.bukkit.event.block.BlockExplodeEvent;
1317
import org.bukkit.event.player.PlayerInteractEvent;
1418

15-
import static com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Int;
16-
1719
public class InteractEvent implements Listener {
1820
private final Main plugin;
1921

@@ -23,13 +25,21 @@ public InteractEvent(Main plugin) {
2325

2426
@EventHandler
2527
public void onInteract(PlayerInteractEvent evt) {
26-
Player p = evt.getPlayer();
27-
if (evt.getAction() == Action.RIGHT_CLICK_BLOCK) {
28-
Block block = evt.getClickedBlock();
29-
if (block.equals(Material.RESPAWN_ANCHOR) && p.getInventory().getItemInOffHand().getType().equals(Material.GLOWSTONE) || p.getInventory().getItemInMainHand().getType().equals(Material.GLOWSTONE)) {
30-
p.sendMessage(ChatColor.RED + "sorry");
31-
evt.setCancelled(true);
28+
if (plugin.getConfig().getBoolean("DisableRespawnAnchorExplosions")) {
29+
Player p = evt.getPlayer();
30+
if (evt.getAction() == Action.RIGHT_CLICK_BLOCK) {
31+
System.out.println("Right click");
32+
Block block = evt.getClickedBlock();
33+
assert block != null;
34+
if (block.getType().equals(Material.RESPAWN_ANCHOR)) {
35+
System.out.println("anchor");
36+
final RespawnAnchor ra = (RespawnAnchor) block.getBlockData();
37+
if (evt.getMaterial().equals(Material.GLOWSTONE) && ra.getCharges() >= ra.getMaximumCharges() && !p.getWorld().getEnvironment().equals(World.Environment.NETHER)) {
38+
evt.setCancelled(true);
39+
Audience.audience(p).sendActionBar(Component.text(ChatColor.RED + "Due to a poll in the discord, respawn anchor explosions have been disabled"));
40+
}
41+
}
3242
}
3343
}
3444
}
35-
}
45+
}

src/main/resources/config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# SimpleExploitFixer
22

3+
# Respawn Anchor
4+
DisableRespawnAnchorExplosions: false
5+
36
# Chunk Ban
47
PreventChunkBan: true
58
MaxItemFramePerChunk: 5
@@ -36,6 +39,7 @@ Enderman: false
3639
Phantom: false
3740
Wither: false
3841

42+
# Wither Lag
3943
RemoveWitherHeadsAutomatically: true
4044

4145
# ProtocolLib

0 commit comments

Comments
 (0)