Makes the free gate color configurable
This commit is contained in:
parent
4699f717ec
commit
10c3914a60
@ -325,7 +325,8 @@ economy:
|
|||||||
useCost - The cost to use a stargate
|
useCost - The cost to use a stargate
|
||||||
toOwner - Whether the money from gate-use goes to the owner or nobody
|
toOwner - Whether the money from gate-use goes to the owner or nobody
|
||||||
chargeFreeDestination - Enable to make players pay for teleportation even if the destination is free
|
chargeFreeDestination - Enable to make players pay for teleportation even if the destination is free
|
||||||
freeGatesGreen - Enable to make gates that won't cost the player money show up as green
|
freeGatesColored - Enable to make gates that won't cost the player money show up as green
|
||||||
|
freeGatesColor - This allows you to specify the color of the markings and name of free stargates
|
||||||
debugging:
|
debugging:
|
||||||
debug - Whether to show massive debug output
|
debug - Whether to show massive debug output
|
||||||
permissionDebug - Whether to show massive permission debug output
|
permissionDebug - Whether to show massive permission debug output
|
||||||
@ -396,6 +397,7 @@ portalInfoServer=Server: %server%
|
|||||||
- Excludes color codes from the counted character length to allow a colored, 13-character name
|
- Excludes color codes from the counted character length to allow a colored, 13-character name
|
||||||
- Makes portal names and networks case- and color-agnostic to prevent some confusion caused by typos or sloppy
|
- Makes portal names and networks case- and color-agnostic to prevent some confusion caused by typos or sloppy
|
||||||
configuration
|
configuration
|
||||||
|
- Makes the free gate color configurable, and renames freeGatesGreen to freeGatesColored
|
||||||
|
|
||||||
#### \[Version 0.9.1.2] EpicKnarvik97 fork
|
#### \[Version 0.9.1.2] EpicKnarvik97 fork
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@ public class ConfigTabCompleter implements TabCompleter {
|
|||||||
}
|
}
|
||||||
case MAIN_SIGN_COLOR:
|
case MAIN_SIGN_COLOR:
|
||||||
case HIGHLIGHT_SIGN_COLOR:
|
case HIGHLIGHT_SIGN_COLOR:
|
||||||
|
case FREE_GATES_COLOR:
|
||||||
//Return all colors
|
//Return all colors
|
||||||
return filterMatching(getColors(), typedText);
|
return filterMatching(getColors(), typedText);
|
||||||
}
|
}
|
||||||
|
@ -9,86 +9,144 @@ public enum ConfigOption {
|
|||||||
* The language used for player-interface text
|
* The language used for player-interface text
|
||||||
*/
|
*/
|
||||||
LANGUAGE("language", "The language used for all signs and all messages to players", "en"),
|
LANGUAGE("language", "The language used for all signs and all messages to players", "en"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The folder for portal files
|
* The folder for portal files
|
||||||
*/
|
*/
|
||||||
PORTAL_FOLDER("folders.portalFolder", "The folder containing the portal databases", "plugins/Stargate/portals/"),
|
PORTAL_FOLDER("folders.portalFolder", "The folder containing the portal databases", "plugins/Stargate/portals/"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The folder for gate files
|
* The folder for gate files
|
||||||
*/
|
*/
|
||||||
GATE_FOLDER("folders.gateFolder", "The folder containing all gate files", "plugins/Stargate/gates/"),
|
GATE_FOLDER("folders.gateFolder", "The folder containing all gate files", "plugins/Stargate/gates/"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The max number of portals on a single network
|
* The max number of portals on a single network
|
||||||
*/
|
*/
|
||||||
MAX_GATES_EACH_NETWORK("gates.maxGatesEachNetwork", "The max number of stargates in a single network", 0),
|
MAX_GATES_EACH_NETWORK("gates.maxGatesEachNetwork", "The max number of stargates in a single network", 0),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The network used if not specified
|
* The network used if not specified
|
||||||
*/
|
*/
|
||||||
DEFAULT_GATE_NETWORK("gates.defaultGateNetwork", "The network used when no network is specified", "central"),
|
DEFAULT_GATE_NETWORK("gates.defaultGateNetwork", "The network used when no network is specified", "central"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to remember the lastly used destination
|
* Whether to remember the lastly used destination
|
||||||
*/
|
*/
|
||||||
REMEMBER_DESTINATION("gates.cosmetic.rememberDestination", "Whether to remember the last destination used", false),
|
REMEMBER_DESTINATION("gates.cosmetic.rememberDestination", "Whether to remember the last destination used", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to sort the network destinations
|
* Whether to sort the network destinations
|
||||||
*/
|
*/
|
||||||
SORT_NETWORK_DESTINATIONS("gates.cosmetic.sortNetworkDestinations", "Whether to sort destinations by name", false),
|
SORT_NETWORK_DESTINATIONS("gates.cosmetic.sortNetworkDestinations", "Whether to sort destinations by name", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main color to use for all signs
|
* The main color to use for all signs
|
||||||
*/
|
*/
|
||||||
MAIN_SIGN_COLOR("gates.cosmetic.mainSignColor", "The main text color of all stargate signs", "BLACK"),
|
MAIN_SIGN_COLOR("gates.cosmetic.mainSignColor", "The main text color of all stargate signs", "BLACK"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The color to use for highlighting sign text
|
* The color to use for highlighting sign text
|
||||||
*/
|
*/
|
||||||
HIGHLIGHT_SIGN_COLOR("gates.cosmetic.highlightSignColor", "The text color used for highlighting stargate signs", "WHITE"),
|
HIGHLIGHT_SIGN_COLOR("gates.cosmetic.highlightSignColor", "The text color used for highlighting stargate signs", "WHITE"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to destroy portals when any blocks are broken by explosions
|
* Whether to destroy portals when any blocks are broken by explosions
|
||||||
*/
|
*/
|
||||||
DESTROYED_BY_EXPLOSION("gates.integrity.destroyedByExplosion", "Whether stargates should be destroyed by explosions", false),
|
DESTROYED_BY_EXPLOSION("gates.integrity.destroyedByExplosion", "Whether stargates should be destroyed by explosions", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to verify each portal's gate layout after each load
|
* Whether to verify each portal's gate layout after each load
|
||||||
*/
|
*/
|
||||||
VERIFY_PORTALS("gates.integrity.verifyPortals", "Whether to verify that portals match their gate layout on load", false),
|
VERIFY_PORTALS("gates.integrity.verifyPortals", "Whether to verify that portals match their gate layout on load", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to protect the entrance of portals
|
* Whether to protect the entrance of portals
|
||||||
*/
|
*/
|
||||||
PROTECT_ENTRANCE("gates.integrity.protectEntrance", "Whether to protect stargates' entrances", false),
|
PROTECT_ENTRANCE("gates.integrity.protectEntrance", "Whether to protect stargates' entrances", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to enable BungeeCord support
|
* Whether to enable BungeeCord support
|
||||||
*/
|
*/
|
||||||
ENABLE_BUNGEE("gates.functionality.enableBungee", "Whether to enable BungeeCord support", false),
|
ENABLE_BUNGEE("gates.functionality.enableBungee", "Whether to enable BungeeCord support", false),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to enable vehicle teleportation
|
* Whether to enable vehicle teleportation
|
||||||
*/
|
*/
|
||||||
HANDLE_VEHICLES("gates.functionality.handleVehicles", "Whether to enable vehicle teleportation", true),
|
HANDLE_VEHICLES("gates.functionality.handleVehicles", "Whether to enable vehicle teleportation", true),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to enable teleportation of empty vehicles
|
* Whether to enable teleportation of empty vehicles
|
||||||
*/
|
*/
|
||||||
HANDLE_EMPTY_VEHICLES("gates.functionality.handleEmptyVehicles", "Whether to enable teleportation of empty vehicles", true),
|
HANDLE_EMPTY_VEHICLES("gates.functionality.handleEmptyVehicles", "Whether to enable teleportation of empty vehicles", true),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to enable teleportation of creatures using vehicles
|
* Whether to enable teleportation of creatures using vehicles
|
||||||
*/
|
*/
|
||||||
HANDLE_CREATURE_TRANSPORTATION("gates.functionality.handleCreatureTransportation",
|
HANDLE_CREATURE_TRANSPORTATION("gates.functionality.handleCreatureTransportation",
|
||||||
"Whether to enable teleportation of vehicles containing non-player creatures", true),
|
"Whether to enable teleportation of vehicles containing non-player creatures", true),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to allow creatures to teleport alone, bypassing any access restrictions
|
* Whether to allow creatures to teleport alone, bypassing any access restrictions
|
||||||
*/
|
*/
|
||||||
HANDLE_NON_PLAYER_VEHICLES("gates.functionality.handleNonPlayerVehicles",
|
HANDLE_NON_PLAYER_VEHICLES("gates.functionality.handleNonPlayerVehicles",
|
||||||
"Whether to enable teleportation of non-empty vehicles without a player", true),
|
"Whether to enable teleportation of non-empty vehicles without a player", true),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to enable teleportations of creatures on a leash
|
* Whether to enable teleportations of creatures on a leash
|
||||||
*/
|
*/
|
||||||
HANDLE_LEASHED_CREATURES("gates.functionality.handleLeashedCreatures",
|
HANDLE_LEASHED_CREATURES("gates.functionality.handleLeashedCreatures",
|
||||||
"Whether to enable players to teleport a creature on a leash", true),
|
"Whether to enable players to teleport a creature on a leash", true),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to enable economy support for taking payment from players creating/destroying/using stargates
|
||||||
|
*/
|
||||||
USE_ECONOMY("economy.useEconomy", "Whether to use economy to incur fees when stargates are used, created or destroyed", false),
|
USE_ECONOMY("economy.useEconomy", "Whether to use economy to incur fees when stargates are used, created or destroyed", false),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The cost of creating a new stargate
|
||||||
|
*/
|
||||||
CREATE_COST("economy.createCost", "The cost of creating a new stargate", 0),
|
CREATE_COST("economy.createCost", "The cost of creating a new stargate", 0),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The cost of destroying a stargate
|
||||||
|
*/
|
||||||
DESTROY_COST("economy.destroyCost", "The cost of destroying a stargate. Negative to refund", 0),
|
DESTROY_COST("economy.destroyCost", "The cost of destroying a stargate. Negative to refund", 0),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The cost of using (teleporting through) a stargate
|
||||||
|
*/
|
||||||
USE_COST("economy.useCost", "The cost of using (teleporting through) a stargate", 0),
|
USE_COST("economy.useCost", "The cost of using (teleporting through) a stargate", 0),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether any payments should go to the stargate's owner
|
||||||
|
*/
|
||||||
TO_OWNER("economy.toOwner", "Whether any teleportation fees should go to the owner of the used stargate", false),
|
TO_OWNER("economy.toOwner", "Whether any teleportation fees should go to the owner of the used stargate", false),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to charge for using a stargate, even if its destination is free
|
||||||
|
*/
|
||||||
CHARGE_FREE_DESTINATION("economy.chargeFreeDestination",
|
CHARGE_FREE_DESTINATION("economy.chargeFreeDestination",
|
||||||
"Whether to require payment if the destination is free, but the entrance stargate is not", true),
|
"Whether to require payment if the destination is free, but the entrance stargate is not", true),
|
||||||
FREE_GATES_GREEN("economy.freeGatesGreen", "Whether to use green coloring to mark all free stargates", false),
|
|
||||||
|
/**
|
||||||
|
* Whether to mark free gates with a different color
|
||||||
|
*/
|
||||||
|
FREE_GATES_COLORED("economy.freeGatesColored", "Whether to use coloring to mark all free stargates", false),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The color to use for marking free stargates
|
||||||
|
*/
|
||||||
|
FREE_GATES_COLOR("economy.freeGatesColor", "The color to use for marking free stargates", "DARK_GREEN"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to enable debug output
|
||||||
|
*/
|
||||||
DEBUG("debugging.debug", "Whether to enable debugging output", false),
|
DEBUG("debugging.debug", "Whether to enable debugging output", false),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to enable debug output for debugging permissions
|
||||||
|
*/
|
||||||
PERMISSION_DEBUG("debugging.permissionDebug", "Whether to enable permission debugging output", false);
|
PERMISSION_DEBUG("debugging.permissionDebug", "Whether to enable permission debugging output", false);
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,10 +2,12 @@ package net.knarcraft.stargate.config;
|
|||||||
|
|
||||||
import net.knarcraft.stargate.Stargate;
|
import net.knarcraft.stargate.Stargate;
|
||||||
import net.knarcraft.stargate.portal.Portal;
|
import net.knarcraft.stargate.portal.Portal;
|
||||||
|
import net.knarcraft.stargate.portal.PortalSignDrawer;
|
||||||
import net.knarcraft.stargate.portal.property.gate.Gate;
|
import net.knarcraft.stargate.portal.property.gate.Gate;
|
||||||
import net.knarcraft.stargate.utility.PermissionHelper;
|
import net.knarcraft.stargate.utility.PermissionHelper;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
@ -28,7 +30,7 @@ public final class EconomyConfig {
|
|||||||
private int destroyCost = 0;
|
private int destroyCost = 0;
|
||||||
private boolean toOwner = false;
|
private boolean toOwner = false;
|
||||||
private boolean chargeFreeDestination = true;
|
private boolean chargeFreeDestination = true;
|
||||||
private boolean freeGatesGreen = false;
|
private boolean freeGatesColored = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new economy config
|
* Instantiates a new economy config
|
||||||
@ -84,12 +86,12 @@ public final class EconomyConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether free portals should be marked with green coloring
|
* Gets whether free portals should be marked with a different coloring
|
||||||
*
|
*
|
||||||
* @return <p>Whether free portals should be green</p>
|
* @return <p>Whether free portals should be colored</p>
|
||||||
*/
|
*/
|
||||||
public boolean drawFreePortalsGreen() {
|
public boolean drawFreePortalsColored() {
|
||||||
return freeGatesGreen;
|
return freeGatesColored;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -341,7 +343,14 @@ public final class EconomyConfig {
|
|||||||
setDefaultUseCost((Integer) configOptions.get(ConfigOption.USE_COST));
|
setDefaultUseCost((Integer) configOptions.get(ConfigOption.USE_COST));
|
||||||
toOwner = (boolean) configOptions.get(ConfigOption.TO_OWNER);
|
toOwner = (boolean) configOptions.get(ConfigOption.TO_OWNER);
|
||||||
chargeFreeDestination = (boolean) configOptions.get(ConfigOption.CHARGE_FREE_DESTINATION);
|
chargeFreeDestination = (boolean) configOptions.get(ConfigOption.CHARGE_FREE_DESTINATION);
|
||||||
freeGatesGreen = (boolean) configOptions.get(ConfigOption.FREE_GATES_GREEN);
|
freeGatesColored = (boolean) configOptions.get(ConfigOption.FREE_GATES_COLORED);
|
||||||
|
|
||||||
|
try {
|
||||||
|
String freeColor = (String) configOptions.get(ConfigOption.FREE_GATES_COLOR);
|
||||||
|
PortalSignDrawer.setFreeColor(ChatColor.valueOf(freeColor.toUpperCase()));
|
||||||
|
} catch (IllegalArgumentException | NullPointerException ignored) {
|
||||||
|
PortalSignDrawer.setFreeColor(ChatColor.DARK_GREEN);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -309,9 +309,7 @@ public final class StargateConfig {
|
|||||||
FileConfiguration newConfig = Stargate.getInstance().getConfig();
|
FileConfiguration newConfig = Stargate.getInstance().getConfig();
|
||||||
|
|
||||||
boolean isMigrating = false;
|
boolean isMigrating = false;
|
||||||
if (newConfig.getString("lang") != null ||
|
if (newConfig.getString("lang") != null || newConfig.getString("economy.freeGatesGreen") != null) {
|
||||||
newConfig.getString("gates.integrity.ignoreEntrance") != null ||
|
|
||||||
newConfig.getString("ignoreEntrance") != null) {
|
|
||||||
migrateConfig(newConfig);
|
migrateConfig(newConfig);
|
||||||
isMigrating = true;
|
isMigrating = true;
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@ public final class StargateGateConfig {
|
|||||||
* @param mainSignColor <p>A string representing the main sign color</p>
|
* @param mainSignColor <p>A string representing the main sign color</p>
|
||||||
*/
|
*/
|
||||||
private void loadSignColor(String mainSignColor, String highlightSignColor) {
|
private void loadSignColor(String mainSignColor, String highlightSignColor) {
|
||||||
if (mainSignColor != null) {
|
if (mainSignColor != null && highlightSignColor != null) {
|
||||||
try {
|
try {
|
||||||
PortalSignDrawer.setColors(ChatColor.valueOf(mainSignColor.toUpperCase()),
|
PortalSignDrawer.setColors(ChatColor.valueOf(mainSignColor.toUpperCase()),
|
||||||
ChatColor.valueOf(highlightSignColor.toUpperCase()));
|
ChatColor.valueOf(highlightSignColor.toUpperCase()));
|
||||||
|
@ -15,7 +15,7 @@ public class PortalSignDrawer {
|
|||||||
|
|
||||||
private final Portal portal;
|
private final Portal portal;
|
||||||
private final static ChatColor errorColor = ChatColor.DARK_RED;
|
private final static ChatColor errorColor = ChatColor.DARK_RED;
|
||||||
private final static ChatColor freeColor = ChatColor.DARK_GREEN;
|
private static ChatColor freeColor;
|
||||||
private static ChatColor mainColor;
|
private static ChatColor mainColor;
|
||||||
private static ChatColor highlightColor;
|
private static ChatColor highlightColor;
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ public class PortalSignDrawer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the main sign color
|
* Sets the main and highlighting sign colors
|
||||||
*
|
*
|
||||||
* <p>The main sign color is used for most text on the sign, while the highlighting color is used for the markings
|
* <p>The main sign color is used for most text on the sign, while the highlighting color is used for the markings
|
||||||
* around portal names and network names ('>','<','-',')','(')</p>
|
* around portal names and network names ('>','<','-',')','(')</p>
|
||||||
@ -42,6 +42,15 @@ public class PortalSignDrawer {
|
|||||||
highlightColor = newHighlightColor;
|
highlightColor = newHighlightColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the color to use for marking free stargates
|
||||||
|
*
|
||||||
|
* @param freeColor <p>The new color to use for marking free stargates</p>
|
||||||
|
*/
|
||||||
|
public static void setFreeColor(ChatColor freeColor) {
|
||||||
|
PortalSignDrawer.freeColor = freeColor;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws the sign of the portal this sign drawer is responsible for
|
* Draws the sign of the portal this sign drawer is responsible for
|
||||||
*/
|
*/
|
||||||
@ -136,42 +145,42 @@ public class PortalSignDrawer {
|
|||||||
int maxIndex = destinations.getDestinations().size() - 1;
|
int maxIndex = destinations.getDestinations().size() - 1;
|
||||||
int signLineIndex = 0;
|
int signLineIndex = 0;
|
||||||
int destinationIndex = destinations.getDestinations().indexOf(portal.getDestinationName());
|
int destinationIndex = destinations.getDestinations().indexOf(portal.getDestinationName());
|
||||||
boolean freeGatesGreen = Stargate.getEconomyConfig().useEconomy() &&
|
boolean freeGatesColored = Stargate.getEconomyConfig().useEconomy() &&
|
||||||
Stargate.getEconomyConfig().drawFreePortalsGreen();
|
Stargate.getEconomyConfig().drawFreePortalsColored();
|
||||||
|
|
||||||
//Last, and not only entry. Draw the entry two back
|
//Last, and not only entry. Draw the entry two back
|
||||||
if ((destinationIndex == maxIndex) && (maxIndex > 1)) {
|
if ((destinationIndex == maxIndex) && (maxIndex > 1)) {
|
||||||
drawNetworkSignLine(freeGatesGreen, sign, ++signLineIndex, destinationIndex - 2);
|
drawNetworkSignLine(freeGatesColored, sign, ++signLineIndex, destinationIndex - 2);
|
||||||
}
|
}
|
||||||
//Not first entry. Draw the previous entry
|
//Not first entry. Draw the previous entry
|
||||||
if (destinationIndex > 0) {
|
if (destinationIndex > 0) {
|
||||||
drawNetworkSignLine(freeGatesGreen, sign, ++signLineIndex, destinationIndex - 1);
|
drawNetworkSignLine(freeGatesColored, sign, ++signLineIndex, destinationIndex - 1);
|
||||||
}
|
}
|
||||||
//Draw the chosen entry (line 2 or 3)
|
//Draw the chosen entry (line 2 or 3)
|
||||||
drawNetworkSignChosenLine(freeGatesGreen, sign, ++signLineIndex);
|
drawNetworkSignChosenLine(freeGatesColored, sign, ++signLineIndex);
|
||||||
//Has another entry and space on the sign
|
//Has another entry and space on the sign
|
||||||
if ((maxIndex >= destinationIndex + 1)) {
|
if ((maxIndex >= destinationIndex + 1)) {
|
||||||
drawNetworkSignLine(freeGatesGreen, sign, ++signLineIndex, destinationIndex + 1);
|
drawNetworkSignLine(freeGatesColored, sign, ++signLineIndex, destinationIndex + 1);
|
||||||
}
|
}
|
||||||
//Has another entry and space on the sign
|
//Has another entry and space on the sign
|
||||||
if ((maxIndex >= destinationIndex + 2) && (++signLineIndex <= 3)) {
|
if ((maxIndex >= destinationIndex + 2) && (++signLineIndex <= 3)) {
|
||||||
drawNetworkSignLine(freeGatesGreen, sign, signLineIndex, destinationIndex + 2);
|
drawNetworkSignLine(freeGatesColored, sign, signLineIndex, destinationIndex + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws the chosen destination on one sign line
|
* Draws the chosen destination on one sign line
|
||||||
*
|
*
|
||||||
* @param freeGatesGreen <p>Whether to display free gates in a green color</p>
|
* @param freeGatesColored <p>Whether to display free gates in a different color</p>
|
||||||
* @param sign <p>The sign to draw on</p>
|
* @param sign <p>The sign to draw on</p>
|
||||||
* @param signLineIndex <p>The line to draw on</p>
|
* @param signLineIndex <p>The line to draw on</p>
|
||||||
*/
|
*/
|
||||||
private void drawNetworkSignChosenLine(boolean freeGatesGreen, Sign sign, int signLineIndex) {
|
private void drawNetworkSignChosenLine(boolean freeGatesColored, Sign sign, int signLineIndex) {
|
||||||
if (freeGatesGreen) {
|
if (freeGatesColored) {
|
||||||
Portal destination = PortalHandler.getByName(portal.getDestinationName(), portal.getNetwork());
|
Portal destination = PortalHandler.getByName(portal.getDestinationName(), portal.getNetwork());
|
||||||
boolean green = PermissionHelper.isFree(portal.getActivePlayer(), portal, destination);
|
boolean free = PermissionHelper.isFree(portal.getActivePlayer(), portal, destination);
|
||||||
ChatColor nameColor = (green ? freeColor : highlightColor);
|
ChatColor nameColor = (free ? freeColor : highlightColor);
|
||||||
setLine(sign, signLineIndex, nameColor + ">" + (green ? freeColor : mainColor) +
|
setLine(sign, signLineIndex, nameColor + ">" + (free ? freeColor : mainColor) +
|
||||||
fixColor(portal.getDestinationName()) + nameColor + "<");
|
fixColor(portal.getDestinationName()) + nameColor + "<");
|
||||||
} else {
|
} else {
|
||||||
setLine(sign, signLineIndex, highlightColor + ">" + mainColor +
|
setLine(sign, signLineIndex, highlightColor + ">" + mainColor +
|
||||||
@ -193,18 +202,18 @@ public class PortalSignDrawer {
|
|||||||
/**
|
/**
|
||||||
* Draws one network destination on one sign line
|
* Draws one network destination on one sign line
|
||||||
*
|
*
|
||||||
* @param freeGatesGreen <p>Whether to display free gates in a green color</p>
|
* @param freeGatesColored <p>Whether to display free gates in a different color</p>
|
||||||
* @param sign <p>The sign to draw on</p>
|
* @param sign <p>The sign to draw on</p>
|
||||||
* @param signLineIndex <p>The line to draw on</p>
|
* @param signLineIndex <p>The line to draw on</p>
|
||||||
* @param destinationIndex <p>The index of the destination to draw</p>
|
* @param destinationIndex <p>The index of the destination to draw</p>
|
||||||
*/
|
*/
|
||||||
private void drawNetworkSignLine(boolean freeGatesGreen, Sign sign, int signLineIndex, int destinationIndex) {
|
private void drawNetworkSignLine(boolean freeGatesColored, Sign sign, int signLineIndex, int destinationIndex) {
|
||||||
PortalActivator destinations = portal.getPortalActivator();
|
PortalActivator destinations = portal.getPortalActivator();
|
||||||
String destinationName = destinations.getDestinations().get(destinationIndex);
|
String destinationName = destinations.getDestinations().get(destinationIndex);
|
||||||
if (freeGatesGreen) {
|
if (freeGatesColored) {
|
||||||
Portal destination = PortalHandler.getByName(destinationName, portal.getNetwork());
|
Portal destination = PortalHandler.getByName(destinationName, portal.getNetwork());
|
||||||
boolean green = PermissionHelper.isFree(portal.getActivePlayer(), portal, destination);
|
boolean free = PermissionHelper.isFree(portal.getActivePlayer(), portal, destination);
|
||||||
setLine(sign, signLineIndex, (green ? freeColor : mainColor) + fixColor(destinationName));
|
setLine(sign, signLineIndex, (free ? freeColor : mainColor) + fixColor(destinationName));
|
||||||
} else {
|
} else {
|
||||||
setLine(sign, signLineIndex, mainColor + fixColor(destinationName));
|
setLine(sign, signLineIndex, mainColor + fixColor(destinationName));
|
||||||
}
|
}
|
||||||
|
@ -24,4 +24,5 @@ usecost=economy.useCost
|
|||||||
toowner=economy.toOwner
|
toowner=economy.toOwner
|
||||||
chargefreedestination=economy.chargeFreeDestination
|
chargefreedestination=economy.chargeFreeDestination
|
||||||
freegatesgreen=economy.freeGatesGreen
|
freegatesgreen=economy.freeGatesGreen
|
||||||
CheckUpdates=
|
CheckUpdates=
|
||||||
|
economy.freeGatesGreen=economy.freeGatesColored
|
@ -27,7 +27,8 @@
|
|||||||
# useCost - The cost to use a gate
|
# useCost - The cost to use a gate
|
||||||
# toOwner - Whether the charge for using a gate goes to the gate's owner
|
# toOwner - Whether the charge for using a gate goes to the gate's owner
|
||||||
# chargeFreeDestination - Whether a gate whose destination is a free gate is still charged
|
# chargeFreeDestination - Whether a gate whose destination is a free gate is still charged
|
||||||
# freeGatesGreen - Whether a free gate in the destination list is drawn green
|
# freeGatesColored - Whether a free gate in the destination list is marked with a color
|
||||||
|
# freeGatesColor - The color to use for marking free gates
|
||||||
# I-------I-------I #
|
# I-------I-------I #
|
||||||
# Debug options #
|
# Debug options #
|
||||||
# I-------I-------I #
|
# I-------I-------I #
|
||||||
@ -64,7 +65,8 @@ economy:
|
|||||||
useCost: 0
|
useCost: 0
|
||||||
toOwner: false
|
toOwner: false
|
||||||
chargeFreeDestination: true
|
chargeFreeDestination: true
|
||||||
freeGatesGreen: false
|
freeGatesColored: false
|
||||||
|
freeGatesColor: DARK_GREEN
|
||||||
debugging:
|
debugging:
|
||||||
debug: false
|
debug: false
|
||||||
permissionDebug: false
|
permissionDebug: false
|
Loading…
x
Reference in New Issue
Block a user