Random tweaks for permissions

This commit is contained in:
Steven Scott 2012-05-11 16:24:29 -07:00
parent b3e84ae958
commit b9ba01031e
3 changed files with 16 additions and 4 deletions

5
README
View File

@ -28,6 +28,7 @@ stargate.option -- Allow use of all options
stargate.option.backwards -- Allow use of 'B'ackwards stargate.option.backwards -- Allow use of 'B'ackwards
stargate.option.show -- Allow use of 'S'how stargate.option.show -- Allow use of 'S'how
stargate.option.nonetwork -- Allow use of 'N'oNetwork stargate.option.nonetwork -- Allow use of 'N'oNetwork
stargate.option.random -- Allow use of 'Random' gates
stargate.create -- Allow creating gates on any network (Override all create permissions) stargate.create -- Allow creating gates on any network (Override all create permissions)
stargate.create.personal -- Allow creating gates on network {playername} stargate.create.personal -- Allow creating gates on network {playername}
@ -83,6 +84,7 @@ Sign Layout:
'B' is for a backwards facing gate (You will exit the back) 'B' is for a backwards facing gate (You will exit the back)
'S' is for showing an always-on gate in the network list 'S' is for showing an always-on gate in the network list
'N' is for hiding the network name 'N' is for hiding the network name
'R' is for random gates. These follow standard permissions of gates, but have a random exit location every time a player enters.
Options: Options:
The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'. The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'.
@ -205,6 +207,9 @@ createConflict=Gate conflicts with existing gate
============= =============
Changes Changes
============= =============
[Version 0.7.7.1]
- Permission checking for 'R'andom gates.
- Random now implies AlwaysOn
[Version 0.7.7.0] [Version 0.7.7.0]
- Added 'R'andom option - This still follows the permission rules defined for normal gate usage - Added 'R'andom option - This still follows the permission rules defined for normal gate usage
- Added a bit more debug output - Added a bit more debug output

View File

@ -137,8 +137,8 @@ public class Portal {
} }
if (this.random && !this.isAlwaysOn()) { if (this.random && !this.isAlwaysOn()) {
this.random = false; this.alwaysOn = true;
Stargate.debug("Portal", "Can not create a random gate that is not always on"); Stargate.debug("Portal", "Gate marked as random, set to always-on");
} }
if (verified) { if (verified) {
@ -883,9 +883,10 @@ public class Portal {
if (backwards && !Stargate.canOption(player, "backwards")) backwards = false; if (backwards && !Stargate.canOption(player, "backwards")) backwards = false;
if (show && !Stargate.canOption(player, "show")) show = false; if (show && !Stargate.canOption(player, "show")) show = false;
if (noNetwork && !Stargate.canOption(player, "nonetwork")) noNetwork = false; if (noNetwork && !Stargate.canOption(player, "nonetwork")) noNetwork = false;
if (random && !Stargate.canOption(player, "random")) random = false;
// Can not create a non-fixed always-on gate. // Can not create a non-fixed always-on gate.
if (alwaysOn && destName.length() == 0 && !random) { if (alwaysOn && destName.length() == 0) {
alwaysOn = false; alwaysOn = false;
} }
@ -894,6 +895,12 @@ public class Portal {
show = false; show = false;
} }
// Random gates are always on and can't be shown
if (random) {
alwaysOn = true;
show = false;
}
// Moved the layout check so as to avoid invalid messages when not making a gate // Moved the layout check so as to avoid invalid messages when not making a gate
int modX = 0; int modX = 0;
int modZ = 0; int modZ = 0;

View File

@ -1,6 +1,6 @@
name: Stargate name: Stargate
main: net.TheDgtl.Stargate.Stargate main: net.TheDgtl.Stargate.Stargate
version: 0.7.7.0 version: 0.7.7.1
description: Stargate mod for Bukkit description: Stargate mod for Bukkit
author: Drakia author: Drakia
website: http://www.thedgtl.net website: http://www.thedgtl.net