Adds the missing taxAccounts option
This commit is contained in:
20
README.md
20
README.md
@@ -50,7 +50,7 @@ file; see the LICENSE file for more information.
|
|||||||
|
|
||||||
This plugin should be fully compatible all known versions StarGate forks, with the following exceptions:<br>
|
This plugin should be fully compatible all known versions StarGate forks, with the following exceptions:<br>
|
||||||
|
|
||||||
- Any version from outside of the bukkit ecosystem
|
- Any version from outside the bukkit ecosystem
|
||||||
- Any version of SGR (version numbers 1.0.0.0+)
|
- Any version of SGR (version numbers 1.0.0.0+)
|
||||||
- Any configurations with outdated material names (i.e. numIDs)
|
- Any configurations with outdated material names (i.e. numIDs)
|
||||||
|
|
||||||
@@ -173,12 +173,12 @@ Note that colour characters (if enabled) are not counted towards the character l
|
|||||||
- You can specify (and create) your own network on the third line of the sign when making a new gate.
|
- You can specify (and create) your own network on the third line of the sign when making a new gate.
|
||||||
- Gates on one network will not see gates on the second network, and vice versa.
|
- Gates on one network will not see gates on the second network, and vice versa.
|
||||||
- Gates on different worlds, but in the same network, will see each other.
|
- Gates on different worlds, but in the same network, will see each other.
|
||||||
- Notwithstanding the above, the network for bUngee gates will always be name of its destination /server
|
- Notwithstanding the above, the network for BungeeCord gates will always be the name of its destination /server
|
||||||
|
|
||||||
#### Fixed gates:
|
#### Fixed gates:
|
||||||
|
|
||||||
- Fixed gates go to only one set destination.
|
- Fixed gates go to only one set destination.
|
||||||
- Fixed gates can be linked to other fixed gates, or normal gates. A normal gate cannot open a portal to a fixed gate
|
- Fixed gates can be linked to other fixed gates, or normal gates. A normal gate cannot open a portal to a fixed gate,
|
||||||
however.
|
however.
|
||||||
- To create a fixed gate, specify a destination on the second line of the stargate sign.
|
- To create a fixed gate, specify a destination on the second line of the stargate sign.
|
||||||
- Set the 4th line of the stargate sign to `A` to enable an always-open fixed gate.
|
- Set the 4th line of the stargate sign to `A` to enable an always-open fixed gate.
|
||||||
@@ -204,8 +204,8 @@ Note that colour characters (if enabled) are not counted towards the character l
|
|||||||
|
|
||||||
## Using a gate:
|
## Using a gate:
|
||||||
|
|
||||||
- Right click the sign to choose a destination (not needed for Fixed gates, undefined gates).
|
- Right-click the sign to choose a destination (not needed for Fixed gates, undefined gates).
|
||||||
- Right click the activator to open up a portal.
|
- Right-click the activator to open up a portal.
|
||||||
- Step through.
|
- Step through.
|
||||||
|
|
||||||
## Custom Gate Layouts
|
## Custom Gate Layouts
|
||||||
@@ -349,7 +349,7 @@ Other special characters include the following:
|
|||||||
Gates may be constructed underwater in much the same manner as they may be constructed above the surface.<br>
|
Gates may be constructed underwater in much the same manner as they may be constructed above the surface.<br>
|
||||||
There are, however, a few considerations for underwater portals:
|
There are, however, a few considerations for underwater portals:
|
||||||
|
|
||||||
```properties
|
```
|
||||||
portal-open=KELP_PLANT
|
portal-open=KELP_PLANT
|
||||||
portal-closed=WATER
|
portal-closed=WATER
|
||||||
button=BRAIN_CORAL_WALL_FAN
|
button=BRAIN_CORAL_WALL_FAN
|
||||||
@@ -379,7 +379,7 @@ as `OBSIDIAN`); they may also use [tags](https://hub.spigotmc.org/javadocs/spigo
|
|||||||
as `#WOOL`).<br>
|
as `#WOOL`).<br>
|
||||||
Note that all tags must be prefaced with a hashtag (`#`), as in `#WOOL`.
|
Note that all tags must be prefaced with a hashtag (`#`), as in `#WOOL`.
|
||||||
|
|
||||||
```properties
|
```
|
||||||
portal-open=WATER
|
portal-open=WATER
|
||||||
portal-closed=AIR
|
portal-closed=AIR
|
||||||
X=#WOOL
|
X=#WOOL
|
||||||
@@ -674,9 +674,9 @@ found [here](https://github.com/stargate-rewritten/Stargate-Bukkit/blob/legacy/R
|
|||||||
#### \[Version 0.9.0.5] EpicKnarvik97 fork
|
#### \[Version 0.9.0.5] EpicKnarvik97 fork
|
||||||
|
|
||||||
- Adds configuration toggles for:
|
- Adds configuration toggles for:
|
||||||
- Whether or not living non-player entities may be teleported.
|
- Whether living non-player entities may be teleported.
|
||||||
- Whether or not vehicles may teleport without a player riding them.
|
- Whether vehicles may teleport without a player riding them.
|
||||||
- Whether or not vehicles may teleport living non-player entities if accompanied by a player rider.
|
- Whether vehicles may teleport living non-player entities if accompanied by a player rider.
|
||||||
- Fixes a bug that could result in unauthorised teleportation.
|
- Fixes a bug that could result in unauthorised teleportation.
|
||||||
- Fixes a bug that, in certain circumstances, could result in chat spam.
|
- Fixes a bug that, in certain circumstances, could result in chat spam.
|
||||||
|
|
||||||
|
@@ -150,6 +150,11 @@ public enum ConfigOption {
|
|||||||
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),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The account to transfer all paid fees to
|
||||||
|
*/
|
||||||
|
TAX_ACCOUNT("economy.taxAccount", "The UUID of the account all fees are paid to (except for money to the Stargate owner)", ""),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to mark free gates with a different color
|
* Whether to mark free gates with a different color
|
||||||
*/
|
*/
|
||||||
|
@@ -132,6 +132,15 @@ public final class EconomyConfig {
|
|||||||
return (Integer) configOptions.get(ConfigOption.DESTROY_COST);
|
return (Integer) configOptions.get(ConfigOption.DESTROY_COST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the account all taxes are paid to
|
||||||
|
*
|
||||||
|
* @return <p>The account all taxes are paid to</p>
|
||||||
|
*/
|
||||||
|
public String getTaxAccount() {
|
||||||
|
return (String) configOptions.get(ConfigOption.TAX_ACCOUNT);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether the given player can afford the given fee
|
* Checks whether the given player can afford the given fee
|
||||||
*
|
*
|
||||||
|
@@ -364,7 +364,8 @@ 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 || newConfig.getString("economy.freeGatesGreen") != null) {
|
if (newConfig.getString("lang") != null || newConfig.getString("economy.freeGatesGreen") != null ||
|
||||||
|
newConfig.getString("economy.taxAccount") == null) {
|
||||||
migrateConfig(newConfig);
|
migrateConfig(newConfig);
|
||||||
isMigrating = true;
|
isMigrating = true;
|
||||||
}
|
}
|
||||||
|
@@ -7,6 +7,7 @@ import net.knarcraft.stargate.portal.Portal;
|
|||||||
import net.knarcraft.stargate.portal.property.PortalOwner;
|
import net.knarcraft.stargate.portal.property.PortalOwner;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -186,6 +187,28 @@ public final class EconomyHelper {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Transfers the given fees to the tax account
|
||||||
|
*
|
||||||
|
* @param economy <p>The economy to use</p>
|
||||||
|
* @param cost <p>The cost to transfer</p>
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private static void transferFees(Economy economy, int cost) {
|
||||||
|
String accountName = Stargate.getEconomyConfig().getTaxAccount();
|
||||||
|
if (accountName == null || accountName.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
UUID accountId = UUID.fromString(accountName);
|
||||||
|
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(accountId);
|
||||||
|
economy.depositPlayer(offlinePlayer, cost);
|
||||||
|
} catch (IllegalArgumentException exception) {
|
||||||
|
economy.depositPlayer(accountName, cost);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Charges the player for an action, if required
|
* Charges the player for an action, if required
|
||||||
*
|
*
|
||||||
@@ -198,7 +221,14 @@ public final class EconomyHelper {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//Charge player
|
//Charge player
|
||||||
return chargePlayer(player, cost);
|
boolean charged = chargePlayer(player, cost);
|
||||||
|
|
||||||
|
// Transfer the charged amount to the tax account
|
||||||
|
if (charged) {
|
||||||
|
transferFees(Stargate.getEconomyConfig().getEconomy(), cost);
|
||||||
|
}
|
||||||
|
|
||||||
|
return charged;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -46,5 +46,6 @@ portal-open=
|
|||||||
portal-closed=
|
portal-closed=
|
||||||
cost-type=
|
cost-type=
|
||||||
cost-to-activate=
|
cost-to-activate=
|
||||||
taxaccount=taxAccount
|
taxAccount=economy.taxAccount
|
||||||
|
taxaccount=economy.taxAccount
|
||||||
usevault=
|
usevault=
|
Reference in New Issue
Block a user