Adds better default permissions

- Adds three new permission groups for easier setup
- Sets better default permissions
- Updates and prettifies some documentation
- Renames the silent portal option to quiet
This commit is contained in:
2025-07-30 18:58:42 +02:00
parent e971bd2cf5
commit d80907b5fb
12 changed files with 253 additions and 199 deletions

View File

@@ -161,7 +161,7 @@ public class PlayerEventListener implements Listener {
//Just teleport the player like normal
new PlayerTeleporter(destination, player).teleportPlayer(entrancePortal, event);
}
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendSuccessMessage(player, Stargate.getString(Message.TELEPORTED));
}
entrancePortal.getPortalOpener().closePortal(false);
@@ -203,7 +203,7 @@ public class PlayerEventListener implements Listener {
//Decide if the user should be teleported to another bungee server
if (entrancePortal.getOptions().isBungee()) {
if (BungeeHelper.bungeeTeleport(player, entrancePortal, event) && !entrancePortal.getOptions().isSilent()) {
if (BungeeHelper.bungeeTeleport(player, entrancePortal, event) && !entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendSuccessMessage(player, Stargate.getString(Message.TELEPORTED));
}
return false;
@@ -404,7 +404,7 @@ public class PlayerEventListener implements Listener {
boolean deny = PermissionHelper.cannotAccessNetwork(player, portal.getCleanNetwork());
if (PermissionHelper.portalAccessDenied(player, portal, deny)) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
return true;
@@ -463,7 +463,7 @@ public class PlayerEventListener implements Listener {
/**
* Displays information about a clicked portal
*
* <p>This will only display portal info if the portal has no sign and is not silent.</p>
* <p>This will only display portal info if the portal has no sign and is not quiet.</p>
*
* @param block <p>The clicked block</p>
* @param player <p>The player that clicked the block</p>
@@ -475,7 +475,7 @@ public class PlayerEventListener implements Listener {
}
//Display portal information as a portal without a sign does not display any
if (portal.getOptions().hasNoSign() && (!portal.getOptions().isSilent() || player.isSneaking())) {
if (portal.getOptions().hasNoSign() && (!portal.getOptions().isQuiet() || player.isSneaking())) {
MessageSender sender = Stargate.getMessageSender();
sender.sendSuccessMessage(player, ChatColor.GOLD + Stargate.getString(Message.PORTAL_INFO_TITLE));
sender.sendSuccessMessage(player, Stargate.replacePlaceholders(Stargate.getString(Message.PORTAL_INFO_NAME),

View File

@@ -100,7 +100,7 @@ public class VehicleEventListener implements Listener {
for (Player player : players) {
if (destinationPortal == null) {
cancelTeleportation = true;
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.INVALID_DESTINATION));
}
} else if (!TeleportHelper.playerCanTeleport(player, entrancePortal, destinationPortal)) {
@@ -136,7 +136,7 @@ public class VehicleEventListener implements Listener {
return;
}
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
for (Player player : players) {
Stargate.getMessageSender().sendSuccessMessage(player, Stargate.getString(Message.TELEPORTED));
}

View File

@@ -258,7 +258,7 @@ public class PortalActivator {
//If no destinations are available, just tell the player and quit
if (destinations.isEmpty()) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.NO_DESTINATION));
}
return;

View File

@@ -55,7 +55,7 @@ public enum PortalOption {
/**
* This option allows a portal which does not display a teleportation message, for better immersion
*/
SILENT('q', "silent", 21),
QUIET('q', "quiet", 21),
/**
* This option causes a fixed portal's sign to be removed after creation

View File

@@ -172,15 +172,15 @@ public class PortalOptions {
}
/**
* Gets whether this portal is silent
* Gets whether this portal is QUIET
*
* <p>A silent portal does not output anything to the chat when teleporting. This option is mainly useful to keep
* <p>A quiet portal does not output anything to the chat when teleporting. This option is mainly useful to keep
* the immersion during teleportation (for role-playing servers or similar).</p>
*
* @return <p>Whether this portal is silent</p>
* @return <p>Whether this portal is quiet</p>
*/
public boolean isSilent() {
return this.options.get(PortalOption.SILENT);
public boolean isQuiet() {
return this.options.get(PortalOption.QUIET);
}
/**

View File

@@ -185,7 +185,7 @@ public final class BungeeHelper {
@NotNull PlayerMoveEvent event) {
//Check if bungee is actually enabled
if (!Stargate.getGateConfig().enableBungee()) {
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.BUNGEE_DISABLED));
}
entrancePortal.getPortalOpener().closePortal(false);

View File

@@ -38,7 +38,7 @@ public final class PermissionHelper {
//Destination is invalid or the same portal. Send an error message
if (destination == null || destination == portal) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.INVALID_DESTINATION));
}
return;
@@ -74,7 +74,7 @@ public final class PermissionHelper {
//Deny access if another player has activated the portal, and it's still in use
if (!portal.getOptions().isFixed() && portal.getPortalActivator().isActive() &&
portal.getActivePlayer() != player) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
return true;
@@ -82,7 +82,7 @@ public final class PermissionHelper {
//Check if the player can use the private gate
if (portal.getOptions().isPrivate() && !PermissionHelper.canUsePrivatePortal(player, portal)) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
return true;
@@ -90,7 +90,7 @@ public final class PermissionHelper {
//Destination is currently in use by another player, blocking teleportation
if (destination.isOpen() && !destination.getOptions().isAlwaysOn()) {
if (!portal.getOptions().isSilent()) {
if (!portal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.DESTINATION_BLOCKED));
}
return true;
@@ -414,7 +414,7 @@ public final class PermissionHelper {
//Not open for this player
if (!entrancePortal.getPortalOpener().isOpenFor(player)) {
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
new PlayerTeleporter(entrancePortal, player).teleportPlayer(entrancePortal, event);
@@ -429,7 +429,7 @@ public final class PermissionHelper {
//Player cannot access portal
if (PermissionHelper.cannotAccessPortal(player, entrancePortal, destination)) {
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
new PlayerTeleporter(entrancePortal, player).teleportPlayer(entrancePortal, event);

View File

@@ -138,7 +138,7 @@ public final class PortalFileHelper {
builder.append(options.isNoNetwork()).append(':');
builder.append(options.isRandom()).append(':');
builder.append(options.isBungee()).append(':');
builder.append(options.isSilent()).append(':');
builder.append(options.isQuiet()).append(':');
builder.append(options.hasNoSign());
}

View File

@@ -229,7 +229,7 @@ public final class TeleportHelper {
@NotNull Portal destinationPortal) {
//Make sure the user can access the portal
if (PermissionHelper.cannotAccessPortal(player, entrancePortal, destinationPortal)) {
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ACCESS_DENIED));
}
entrancePortal.getPortalOpener().closePortal(false);
@@ -240,7 +240,7 @@ public final class TeleportHelper {
int cost = EconomyHelper.getUseCost(player, entrancePortal, destinationPortal);
boolean canAffordFee = cost <= 0 || Stargate.getEconomyConfig().canAffordFee(player, cost);
if (!canAffordFee) {
if (!entrancePortal.getOptions().isSilent()) {
if (!entrancePortal.getOptions().isQuiet()) {
Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.ECONOMY_INSUFFICIENT));
}
return false;