From 71d9faa9f45da6230b8e4ebaf7336aaaceda76f1 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 7 Apr 2025 22:17:54 +0200 Subject: [PATCH] added nether prevent --- .../netherPrevent/NetherPrevent.java | 16 ++++++++++ .../netherPrevent/NetherPreventListener.java | 29 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java create mode 100644 varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java new file mode 100644 index 0000000..1bd29fb --- /dev/null +++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPrevent.java @@ -0,0 +1,16 @@ +package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.netherPrevent; + +import eu.mhsl.craftattack.core.appliance.Appliance; +import org.bukkit.event.Listener; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class NetherPrevent extends Appliance { + @Override + protected @NotNull List listeners() { + return List.of( + new NetherPreventListener() + ); + } +} diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java new file mode 100644 index 0000000..3a42f8e --- /dev/null +++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/netherPrevent/NetherPreventListener.java @@ -0,0 +1,29 @@ +package eu.mhsl.craftattack.spawn.varo.appliances.metaGameplay.netherPrevent; + +import eu.mhsl.craftattack.core.appliance.ApplianceListener; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.event.EventHandler; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.player.PlayerPortalEvent; +import org.bukkit.event.world.PortalCreateEvent; + +public class NetherPreventListener extends ApplianceListener { + @EventHandler + public void onPortalPlace(BlockPlaceEvent event) { + if(!event.getBlockPlaced().getType().equals(Material.NETHER_PORTAL)) return; + event.setCancelled(true); + } + + @EventHandler + public void onPortalCreate(PortalCreateEvent event) { + if(!event.getReason().equals(PortalCreateEvent.CreateReason.FIRE)) return; + event.setCancelled(true); + } + + @EventHandler + public void onPlayerPortal(PlayerPortalEvent event) { + if(!event.getTo().getWorld().getEnvironment().equals(World.Environment.NETHER)) return; + event.setCancelled(true); + } +}