Added option to disable anchor bombing outside the nether

This commit is contained in:
Falvyu committed 2020-08-03 18:39:22 +02:00
1 parent 7260a0f3c7
commit 14c0c4bf65
3 files changed
+31 -7

No files matched your search

@@ -9,6 +9,7 @@ import org.bukkit.configuration.ConfigurationSection;
import com.programmerdan.minecraft.simpleadminhacks.SimpleAdminHacks;
import com.programmerdan.minecraft.simpleadminhacks.SimpleHackConfig;
import org.bukkit.event.EventHandler;
public class GameFixesConfig extends SimpleHackConfig {
@@ -19,6 +20,7 @@ public class GameFixesConfig extends SimpleHackConfig {
private boolean stopRailDupe;
private boolean stopEndPortalDeletion;
private boolean stopBedBombing;
private boolean stopAnchorBombing;
private ArrayList<BlockFace> bfArray;
private ArrayList<Material> railArray;
@@ -57,6 +59,9 @@ public class GameFixesConfig extends SimpleHackConfig {
stopBedBombing = config.getBoolean("stopBedBombingInHellBiomes", true);
if (stopBedBombing) plugin().log(" Stop Bed Bombing In Hell Biomes is enabled.");
stopAnchorBombing = config.getBoolean("stopAnchorBombing", true);
if (stopAnchorBombing) plugin().log("Stop Anchor bombing outside the Nether is enabled");
preventTreeWrap = config.getBoolean("preventTreeWraparound", true);
if (preventTreeWrap) plugin().log(" Stop tree wrapping into bedrock is enabled.");
@@ -151,6 +156,10 @@ public class GameFixesConfig extends SimpleHackConfig {
return this.stopBedBombing;
}
public boolean stopAnchorBombing() {
return this.stopAnchorBombing;
}
public boolean stopTreeWraparound() {
return preventTreeWrap;
}
@@ -179,4 +188,4 @@ public class GameFixesConfig extends SimpleHackConfig {
return cancelLongSignEvent;
}
}
}
@@ -14,17 +14,13 @@ import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.type.Dispenser;
import org.bukkit.block.data.type.Hopper;
import org.bukkit.block.data.type.RespawnAnchor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockDispenseEvent;
import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.event.block.BlockPistonExtendEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.block.*;
import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.inventory.InventoryMoveItemEvent;
@@ -308,6 +304,24 @@ public class GameFixes extends SimpleHack<GameFixesConfig> implements Listener {
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void onAnchorInteraction(PlayerInteractEvent event) {
if (!config.isEnabled() || !config.stopAnchorBombing()) {
return;
}
if (!event.getClickedBlock().getType().equals(Material.RESPAWN_ANCHOR)) {
return;
}
RespawnAnchor anchor = (RespawnAnchor)event.getClickedBlock().getBlockData();
if (!event.getMaterial().equals(Material.GLOWSTONE)) {
plugin().getLogger().info("Material is glowstone");
event.setCancelled(true);
} else if (anchor.getCharges() == anchor.getMaximumCharges()) {
plugin().getLogger().info("Fully charged");
event.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled=true)
public void onStructureGrow(StructureGrowEvent event) {
if(config.isEnabled() && config.stopTreeWraparound()) {
+1
View File
@@ -51,6 +51,7 @@ hacks:
stopRailDupe: true
stopEndPortalDeletion: true
stopBedBombingInHellBiomes: true
stopAnchorBombing: true
preventTreeWraparound: true
fixPearlGlitch: true
GameTuning: