From b98aec4a20efbbb9ac695c8951733a52b2686f24 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Mon, 1 Nov 2021 00:38:36 +0100 Subject: [PATCH] 0.9.0.2 Fixes a bug in the code to prevent nether portals from generating in the nether --- README.md | 4 ++++ pom.xml | 2 +- .../stargate/listener/PortalEventListener.java | 13 ++++++++----- src/main/resources/plugin.yml | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ec39a93..b8c7f5d 100644 --- a/README.md +++ b/README.md @@ -367,6 +367,10 @@ bungeeSign=Teleport to # Changes +#### \[Version 0.9.0.2] EpicKnarvik97 fork + +- Fixes a bug causing Stargates using NETHER_PORTAL blocks to generate nether portals in the nether. + #### \[Version 0.9.0.1] EpicKnarvik97 fork - Adds the highlightSignColor option and renames the signColor option to mainSignColor diff --git a/pom.xml b/pom.xml index 45ad153..4e11f14 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ net.knarcraft Stargate - 0.9.0.1 + 0.9.0.2 diff --git a/src/main/java/net/knarcraft/stargate/listener/PortalEventListener.java b/src/main/java/net/knarcraft/stargate/listener/PortalEventListener.java index d739e2c..203f2e8 100644 --- a/src/main/java/net/knarcraft/stargate/listener/PortalEventListener.java +++ b/src/main/java/net/knarcraft/stargate/listener/PortalEventListener.java @@ -1,5 +1,6 @@ package net.knarcraft.stargate.listener; +import net.knarcraft.stargate.Stargate; import net.knarcraft.stargate.container.FromTheEndTeleportation; import net.knarcraft.stargate.portal.PlayerTeleporter; import net.knarcraft.stargate.portal.Portal; @@ -8,7 +9,6 @@ import net.knarcraft.stargate.utility.PermissionHelper; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; -import org.bukkit.block.BlockState; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -37,11 +37,14 @@ public class PortalEventListener implements Listener { if (event.isCancelled()) { return; } - //Cancel nether portal creation when the portal is a StarGate portal - for (BlockState block : event.getBlocks()) { - if (PortalHandler.getByBlock(block.getBlock()) != null) { + //Unnecessary nether portal creation is only triggered by nether pairing + if (event.getReason() == PortalCreateEvent.CreateReason.NETHER_PAIR) { + //If an entity is standing in a Stargate entrance, it can be assumed that the creation is a mistake + Entity entity = event.getEntity(); + if (entity != null && PortalHandler.getByAdjacentEntrance(entity.getLocation()) != null) { + Stargate.debug("PortalEventListener::onPortalCreation", + "Cancelled nether portal create event"); event.setCancelled(true); - return; } } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 71c9ebf..d25782d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: Stargate main: net.knarcraft.stargate.Stargate -version: 0.9.0.1 +version: 0.9.0.2 description: Stargate mod for Bukkit Revived author: EpicKnarvik97 authors: [ Drakia, PseudoKnight, EpicKnarvik97 ]