From 0297d62d6d2d7c5c0b0ad80ae16deb3e85f37dc7 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Fri, 5 Nov 2021 21:40:06 +0100 Subject: [PATCH] Sets the always on option to true for bungee portals and removes some unnecessary checks --- .../java/net/knarcraft/stargate/portal/Portal.java | 2 +- .../net/knarcraft/stargate/portal/PortalHandler.java | 11 ++++++----- .../stargate/portal/property/PortalOptions.java | 4 ++-- .../net/knarcraft/stargate/thread/StarGateThread.java | 3 +-- .../knarcraft/stargate/utility/MaterialHelper.java | 4 ++-- .../knarcraft/stargate/utility/PermissionHelper.java | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/net/knarcraft/stargate/portal/Portal.java b/src/main/java/net/knarcraft/stargate/portal/Portal.java index ab5b4ad..6447baf 100644 --- a/src/main/java/net/knarcraft/stargate/portal/Portal.java +++ b/src/main/java/net/knarcraft/stargate/portal/Portal.java @@ -2,12 +2,12 @@ package net.knarcraft.stargate.portal; import net.knarcraft.stargate.container.BlockLocation; import net.knarcraft.stargate.container.RelativeBlockVector; -import net.knarcraft.stargate.portal.property.gate.Gate; import net.knarcraft.stargate.portal.property.PortalLocation; import net.knarcraft.stargate.portal.property.PortalOption; import net.knarcraft.stargate.portal.property.PortalOptions; import net.knarcraft.stargate.portal.property.PortalOwner; import net.knarcraft.stargate.portal.property.PortalStructure; +import net.knarcraft.stargate.portal.property.gate.Gate; import org.bukkit.World; import org.bukkit.entity.Player; diff --git a/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java b/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java index a1bdf08..c75b6da 100644 --- a/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java +++ b/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java @@ -3,13 +3,14 @@ package net.knarcraft.stargate.portal; import net.knarcraft.stargate.Stargate; import net.knarcraft.stargate.container.BlockLocation; import net.knarcraft.stargate.container.RelativeBlockVector; -import net.knarcraft.stargate.portal.property.gate.Gate; -import net.knarcraft.stargate.portal.property.gate.GateHandler; import net.knarcraft.stargate.portal.property.PortalLocation; import net.knarcraft.stargate.portal.property.PortalOption; import net.knarcraft.stargate.portal.property.PortalStructure; +import net.knarcraft.stargate.portal.property.gate.Gate; +import net.knarcraft.stargate.portal.property.gate.GateHandler; import net.knarcraft.stargate.utility.PermissionHelper; import org.bukkit.Location; +import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.entity.Player; @@ -142,12 +143,12 @@ public class PortalHandler { * Tries to find a gate matching the portal the user is trying to create * * @param portalLocation

The location data for the new portal

- * @param player

The player trying to create the new portal

+ * @param world

The world the player is located in

* @return

The matching gate type, or null if no such gate could be found

*/ - static Gate findMatchingGate(PortalLocation portalLocation, Player player) { + static Gate findMatchingGate(PortalLocation portalLocation, World world) { Block signParent = portalLocation.getSignLocation().getParent(); - BlockLocation parent = new BlockLocation(player.getWorld(), signParent.getX(), signParent.getY(), + BlockLocation parent = new BlockLocation(world, signParent.getX(), signParent.getY(), signParent.getZ()); //Get all gates with the used type of control blocks diff --git a/src/main/java/net/knarcraft/stargate/portal/property/PortalOptions.java b/src/main/java/net/knarcraft/stargate/portal/property/PortalOptions.java index cc1ceb6..cf9b279 100644 --- a/src/main/java/net/knarcraft/stargate/portal/property/PortalOptions.java +++ b/src/main/java/net/knarcraft/stargate/portal/property/PortalOptions.java @@ -28,9 +28,9 @@ public class PortalOptions { Stargate.debug("Portal", "Can not create a non-fixed always-on gate. Setting AlwaysOn = false"); } - if (this.isRandom() && !this.isAlwaysOn()) { + if ((this.isRandom() || this.isBungee()) && !this.isAlwaysOn()) { this.options.put(PortalOption.ALWAYS_ON, true); - Stargate.debug("Portal", "Gate marked as random, set to always-on"); + Stargate.debug("Portal", "Gate marked as random or bungee, set to always-on"); } } diff --git a/src/main/java/net/knarcraft/stargate/thread/StarGateThread.java b/src/main/java/net/knarcraft/stargate/thread/StarGateThread.java index e4e70aa..0c02f50 100644 --- a/src/main/java/net/knarcraft/stargate/thread/StarGateThread.java +++ b/src/main/java/net/knarcraft/stargate/thread/StarGateThread.java @@ -30,8 +30,7 @@ public class StarGateThread implements Runnable { for (Portal portal : openPortalsQueue) { //Skip always open and non-open gates - if (portal.getOptions().isAlwaysOn() || portal.getOptions().isRandom() || portal.getOptions().isBungee() || - !portal.isOpen()) { + if (portal.getOptions().isAlwaysOn() || !portal.isOpen()) { continue; } if (time > portal.getTriggeredTime() + Stargate.getGateConfig().getOpenTime()) { diff --git a/src/main/java/net/knarcraft/stargate/utility/MaterialHelper.java b/src/main/java/net/knarcraft/stargate/utility/MaterialHelper.java index 18c2ce3..1d00239 100644 --- a/src/main/java/net/knarcraft/stargate/utility/MaterialHelper.java +++ b/src/main/java/net/knarcraft/stargate/utility/MaterialHelper.java @@ -30,12 +30,12 @@ public final class MaterialHelper { /** * Checks whether the given material is a container - * + * * @param material

The material to check

* @return

True if the material is a container

*/ public static boolean isContainer(Material material) { - return Tag.SHULKER_BOXES.isTagged(material) || material == Material.CHEST || + return Tag.SHULKER_BOXES.isTagged(material) || material == Material.CHEST || material == Material.TRAPPED_CHEST || material == Material.ENDER_CHEST; } diff --git a/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java b/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java index ab83f53..baaf46f 100644 --- a/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java +++ b/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java @@ -27,7 +27,7 @@ public final class PermissionHelper { Portal destination = portal.getPortalActivator().getDestination(); //For an always open portal, no action is necessary - if (portal.getOptions().isAlwaysOn() || portal.getOptions().isRandom() || portal.getOptions().isBungee()) { + if (portal.getOptions().isAlwaysOn()) { return; }