added nether prevent

This commit is contained in:
Lars Neuhaus 2025-04-07 22:17:54 +02:00
parent 153a968776
commit 71d9faa9f4
2 changed files with 45 additions and 0 deletions

View File

@ -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<Listener> listeners() {
return List.of(
new NetherPreventListener()
);
}
}

View File

@ -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<NetherPrevent> {
@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);
}
}