diff --git a/README.md b/README.md
index 9e17fb8..1c2db98 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,16 @@
-
> **Documentation may be found** [here](https://sgrewritten.org/legacywiki)
> **Support is available via** [discord](https://discord.gg/mTaHuK6BVa)**.**
> **THIS IS A LEGACY-BASED BRANCH: IT IS SUPPORTED, BUT NOT ACTIVELY UPDATED**
> This branch expands upon Drakia's original 2013 codebase, with fixes as needed.
-> In the near future, this branch will be superseded by [SGR](https://github.com/stargate-rewritten/Stargate-Bukkit) (a complete rewrite).
+> In the near future, this branch will be superseded by [SGR](https://github.com/stargate-rewritten/Stargate-Bukkit) (a
+> complete rewrite).
# Description
-The Original, and still the best, MineCraft transportation solution!
Intuitively and organically facilitates instant transportation across large distances!
-Highly capable, simple to use, with robust network capabilities and extensive customisability!
+The Original, and still the best, MineCraft transportation solution!
Intuitively and organically facilitates instant
+transportation across large distances!
+Highly capable, simple to use, with robust network capabilities and extensive customisability!
- **Player permissions** -- let players build their own networks.
- **Vault economy support** -- can add costs for create, destroy and use.
@@ -30,40 +31,49 @@ Highly capable, simple to use, with robust network capabilities and extensive cu
also be dyed on a per-sign basis.
## Background
+
- This plugin was originally TheDgtl's Bukkit port of the Stargate plugin for hMod by Dinnerbone.
-- After this plugin was dropped by TheDgtl, PseudoKnight began maintaining it for modern versions of Spigot (adding support for UUIDs & Material Strings).
+- After this plugin was dropped by TheDgtl, PseudoKnight began maintaining it for modern versions of Spigot (adding
+ support for UUIDs & Material Strings).
- EpicKnarvik97 forked that version to clean up the code, added leash support, and improved vehicle support.
- LockedCraft and LittleBigBug also forked that version to add underwater and tag support, as well as a few bug fixes.
- This version is a combination of all the forks above, maintained by the Stargate Rewritten project.
- This branch is currently in a maintenance-only mode; a total rewrite is forthcoming.
## License
-Stargate is licensed under the GNU Lesser General Public License Version 3.0.
This includes every source and resource
+
+Stargate is licensed under the GNU Lesser General Public License Version 3.0.
This includes every source and
+resource
file; see the LICENSE file for more information.
-
## Migration
+
This plugin should be fully compatible all known versions StarGate forks, with the following exceptions:
+
- Any version from outside of the bukkit ecosystem
- Any version of SGR (version numbers 1.0.0.0+)
- Any configurations with outdated material names (i.e. numIDs)
-**Note that this plugin's default gate files** __**AND ANY PRESENT CUSTOM .GATEs**__ **will be overwritten by the import!**
+**Note that this plugin's default gate files** __**AND ANY PRESENT CUSTOM .GATEs**__ **will be overwritten by the
+import!**
If you wish to keep any such files, take a backup of your "gates" folder!
Legacy gate files filled with outdated material IDs will need to be manually updated.
-A list of old materials and their conversions may be found [here](https://github.com/CryptoMorin/XSeries/blob/master/src/main/java/com/cryptomorin/xseries/XMaterial.java).
-A list of modern, valid, material names may be found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html).
+A list of old materials and their conversions may be
+found [here](https://github.com/CryptoMorin/XSeries/blob/master/src/main/java/com/cryptomorin/xseries/XMaterial.java)
+.
+A list of modern, valid, material names may be
+found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html).
-
-Permissions have had a few changes, so you should check the permissions section for any differences since you set up permissions.
+Permissions have had a few changes, so you should check the permissions section for any differences since you set up
+permissions.
Payment to owner using Economy, through Vault, is only possible if the portal owner in the portal database is defined by
a UUID, and not a username. A player name will be upgraded to a UUID when the player with the given name joins the
server.
-
# Permissions
+
```
stargate.use -- Allow use of all Stargates linking to any world in any network (Override ALL network/world permissions. Set to false to use network/world specific permissions)
stargate.world -- Allow use of Stargates linking to any world
@@ -110,7 +120,9 @@ stargate.admin -- Allow all admin features (Hidden/Private bypass, BungeeCord, R
stargate.admin.config -- Allows the player to change config values from the chat
stargate.admin.dye -- Allows this player to change the dye of any stargate's sign
```
+
## Default Permissions
+
```
stargate.use -- Everyone
stargate.create -- Op
@@ -120,10 +132,12 @@ stargate.free -- Op
stargate.admin -- Op
```
-
# Instructions
+
## Building a gate:
+
This a default gate configuration. See the Custom Gate Layout section for more options, and how to redesign this.
+
```
OO
O O - These are Obsidian blocks (End Bricks and Sea Lanterns also work). You need 10.
@@ -138,56 +152,62 @@ This a default gate configuration. See the Custom Gate Layout section for more o
- Line 2: Destination Name [Optional] (Max 13 characters, used for fixed-gates only)
- Line 3: Network name [Optional] (Max 13 characters)
- Line 4: Options [Optional] :
- - `A` is for an **A**lways-on fixed gate
- - `H` is for a **H**idden networked gate
- - `P` is for a **P**rivate gate
- - `F` is for a **F**ree gate
- - `B` is for a **B**ackwards facing gate (which exit you at the back)
- - `S` is for **S**howing an always-on gate in the network list
- - `N` is for a **N**o network gate (the network name is hidden from the sign)
- - `R` is for a **R**andom gate (implicitly always on; sends players to a random exit)
- - `U` is for a b**U**ngee gate (connecting to another servers via bungeecord)
- - `Q` is for a **Q**uiet gate (it will not output anything to chat when teleporting)
- - `V` is for an in**V**isible gate (it will appear without a sign)
-
+ - `A` is for an **A**lways-on fixed gate
+ - `H` is for a **H**idden networked gate
+ - `P` is for a **P**rivate gate
+ - `F` is for a **F**ree gate
+ - `B` is for a **B**ackwards facing gate (which exit you at the back)
+ - `S` is for **S**howing an always-on gate in the network list
+ - `N` is for a **N**o network gate (the network name is hidden from the sign)
+ - `R` is for a **R**andom gate (implicitly always on; sends players to a random exit)
+ - `U` is for a b**U**ngee gate (connecting to another servers via bungeecord)
+ - `Q` is for a **Q**uiet gate (it will not output anything to chat when teleporting)
+ - `V` is for an in**V**isible gate (it will appear without a sign)
The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'.
Note that colour characters (if enabled) are not counted towards the character limit.
#### Gate networks:
- - Gates are all part of a network, by default this is "central".
- - 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 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
+
+- Gates are all part of a network, by default this is "central".
+- 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 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
#### Fixed gates:
- - 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 however.
- - 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.
- - Gates with the U or R flags are fixed gates by definition.
-
+
+- 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
+ however.
+- 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.
+- Gates with the U or R flags are fixed gates by definition.
+
#### Hidden Gates:
- - Hidden gates are like normal gates, but only show on the destination list of other gates under certain conditions.
- - A hidden gate is only visible to the creator of the gate or somebody with the stargate.hidden permission.
- - Set the 4th line of the stargate sign to `H` to make it a hidden gate.
-
- #### Force Shown Gates:
- - Gates with the `A`, `R`, or `U` gates do not show up on networks by default.
- - To force such gates to show up on network lists, add the `S` flag to the sign's 4th line.
+
+- Hidden gates are like normal gates, but only show on the destination list of other gates under certain conditions.
+- A hidden gate is only visible to the creator of the gate or somebody with the stargate.hidden permission.
+- Set the 4th line of the stargate sign to `H` to make it a hidden gate.
+
+#### Force Shown Gates:
+
+- Gates with the `A`, `R`, or `U` gates do not show up on networks by default.
+- To force such gates to show up on network lists, add the `S` flag to the sign's 4th line.
#### Random Gates:
- - Random gates are similar to Always-On gates, but do not have a fixed exit;
- - They instead randomly select an exit from the list of gates on their network.
- - Marking a gate as 'R' will automatically make that gate always-on.
- - 'R' gates ignore any gate with the 'R', 'A', and/or 'S' flag(s) when choosing their exit.
+
+- Random gates are similar to Always-On gates, but do not have a fixed exit;
+ - They instead randomly select an exit from the list of gates on their network.
+- Marking a gate as 'R' will automatically make that gate always-on.
+- 'R' gates ignore any gate with the 'R', 'A', and/or 'S' flag(s) when choosing their exit.
## Using a gate:
- - Right click the sign to choose a destination (not needed for Fixed gates, undefined gates).
- - Right click the activator to open up a portal.
- - Step through.
-
+
+- Right click the sign to choose a destination (not needed for Fixed gates, undefined gates).
+- Right click the activator to open up a portal.
+- Step through.
+
## Custom Gate Layouts
You may create as many gate formats as you wish through the use of .gate files within your `gates` folder.
@@ -195,7 +215,7 @@ You may create as many gate formats as you wish through the use of .gate files w
The .gate file follows a specific format, with config lines at the top, and the gate layout/design below it.
For example, take the default nether.gate file shown below:
-```properties
+```
portal-open=NETHER_PORTAL
portal-closed=AIR
button=STONE_BUTTON
@@ -205,25 +225,33 @@ destroycost=0
toowner=false
X=OBSIDIAN
-=OBSIDIAN
-
- XX
+XX
X..X
-..-
X*.X
- XX
+XX
```
### Keys
+
#### Materials
-> Note that MATERIAL NAMES (such as `OBSIDIAN`) can be found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html).
-As of version 0.10.7.0, TAGS (such as `#WOOL`) can be found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Tag.html).
+> Note that MATERIAL NAMES (such as `OBSIDIAN`) can be
+> found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html).
+> As of version 0.10.7.0, TAGS (such as `#WOOL`) can be
+> found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Tag.html).
-- `portal-open` and `portal-closed` are used to specify the [materials](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) the portal's iris will use when active/inactive respectively.
- - Note that portal-open should be a *traversable* material, such as those listed [here](https://sgrewritten.org/traversables).
-- Notwithstanding `#`, any single character may be used to represent any material (for example, `X` as a representation of `OBSIDIAN`).
-- `-` is a special character: it represents the material to be used for behind your portal's control blocks (activator + sign).
-- `button` is used to define what is used for the gate's *activator*. It may be any type of button, wall coral, or container.
+- `portal-open` and `portal-closed` are used to specify
+ the [materials](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) the portal's iris will use when
+ active/inactive respectively.
+ - Note that portal-open should be a *traversable* material, such as those
+ listed [here](https://sgrewritten.org/traversables).
+- Notwithstanding `#`, any single character may be used to represent any material (for example, `X` as a representation
+ of `OBSIDIAN`).
+- `-` is a special character: it represents the material to be used for behind your portal's control blocks (activator +
+ sign).
+- `button` is used to define what is used for the gate's *activator*. It may be any type of button, wall coral, or
+ container.
The full list of valid activator types may be found below: (Click to expand)
@@ -271,42 +299,56 @@ DEAD_BUBBLE_CORAL_WALL_FAN
DEAD_FIRE_CORAL_WALL_FAN
DEAD_HORN_CORAL_WALL_FAN
```
+
#### Economy
+
> These values require `useEconomy` to be true.
+
- `useCost` defines the cost players are charged when using an existing portal.
- `createCost` defines the cost players are charged when constructing a new portal.
- `destroyCost` defines the cost players are charged when breaking an existing portal.
-- `toOwner` specifies the money's destination: if true, it will go to the player who made (owns) the gate; if false, the money will be deleted.
+- `toOwner` specifies the money's destination: if true, it will go to the player who made (owns) the gate; if false, the
+ money will be deleted.
+
### Structure
+
#### Standard Custom Gates
+
##### Basic formatting:
-Following a blank line after your keys section, you may specify your gate layout:
Simply lay out the portal as it will appear in your world, with every character representing a block.
-```properties
+
+Following a blank line after your keys section, you may specify your gate layout:
Simply lay out the portal as it
+will appear in your world, with every character representing a block.
+
+```
X=OBSIDIAN
-=OBSIDIAN
-
- XX
+XX
X..X
-..-
X*.X
- XX
+XX
```
+
This example is a standard nether portal.
Any single character symbol (except for `#`) may represent any material
In this case, `X` and `-` point to OBSIDIAN.
-
`-` is a special material character that specifies where the control blocks will be placed (i.e. sign & button).
In this case, it is also `OBSIDIAN`.
+
`-` is a special material character that specifies where the control blocks will be placed (i.e. sign & button)
+.
In this case, it is also `OBSIDIAN`.
Other special characters include the following:
+
- Spaces/blank characters (` `) will not be checked, and as such, represent any block.
- Periods (`.`) represent the portal's *iris* (i.e. the part that opens and closes)
- An asterix (`*`) represents the portals's "exit point" (i.e. the block the player will teleport in front of).
##### Underwater Portals
+
Gates may be constructed underwater in much the same manner as they may be constructed above the surface.
There are, however, a few considerations for underwater portals:
+
```properties
portal-open=KELP_PLANT
portal-closed=WATER
@@ -314,43 +356,46 @@ button=BRAIN_CORAL_WALL_FAN
toowner=false
X=SEA_LANTERN
-=SEA_LANTERN
-
- XX
+XX
X..X
-..-
X*.X
- XX
+XX
```
+
- Buttons can not be waterlogged, and as such, are not ideal: wall coral fans are an ideal substitute.
- - Containers (such as `CHEST` and `SHULKER_BOX`) are also valid alternatives.
-- `AIR` is generally a poor `portal-closed` material for underwater portals, since such portals are difficult to construct and are visually problematic.
- - `WATER` and other underwater [traversables](https://sgrewritten.org/traversables) work much better.
-
+ - Containers (such as `CHEST` and `SHULKER_BOX`) are also valid alternatives.
+- `AIR` is generally a poor `portal-closed` material for underwater portals, since such portals are difficult to
+ construct and are visually problematic.
+ - `WATER` and other underwater [traversables](https://sgrewritten.org/traversables) work much better.
+
##### Advanced format
+
Gates are not limited to the shape of a standard nether portal -- they can be thousands of blocks big!
In this case, a simple 5x5 square has been used as a gate.
-Gates are also not limited to [materials](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) (such as `OBSIDIAN`); they may also use [tags](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Tag.html)) (such as `#WOOL`).
+Gates are also not limited to [materials](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html) (such
+as `OBSIDIAN`); they may also use [tags](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Tag.html)) (such
+as `#WOOL`).
Note that all tags must be prefaced with a hashtag (`#`), as in `#WOOL`.
-
```properties
portal-open=WATER
portal-closed=AIR
X=#WOOL
-=#WOOL
-
XXXXX
X...X
-...-
X.*.X
XXXXX
```
+
Any block that is included within a given tag may be used to construct the portal.
-
Furthermore, it is important to note that gates may have multiple materials in their frame, as shown below:
-```properties
+
+```
portal-open=NETHER_PORTAL
portal-closed=AIR
button=OAK_BUTTON
@@ -358,17 +403,15 @@ toowner=false
X=OBSIDIAN
-=GLOWSTONE
A=GLOWSTONE
-
- XAX
+XAX
X...X
-...-
X.*.X
- XAX
+XAX
```
-
-
# Configuration
+
```
language - The language to use (Included languages: en, de, es, fr, hu, it, ja, nb-no, nl, nn-no, pt-br, ru, zh_cn)
adminUpdateAlert - Whether to alert admins about an available update when joining the server
@@ -414,6 +457,7 @@ advanced:
```
# Message Customization
+
It is possible to customize all the messages Stargate displays, including the \[Stargate] prefix.
You may find these
strings in `plugins/Stargate/lang/chosenLanguage.txt`.
@@ -468,35 +512,46 @@ portalInfoDestination=Destination: %destination%
portalInfoNetwork=Network: %network%
portalInfoServer=Server: %server%
```
+
-> **PLEASE NOTE**: This method of localisation is slated to change in the upcoming rewrite!
If stargate does not currently support your language, please submit a translation [here](https://sgrewritten.org/translate)!
+> **PLEASE NOTE**: This method of localisation is slated to change in the upcoming rewrite!
If stargate does not
+> currently support your language, please submit a translation [here](https://sgrewritten.org/translate)!
# Changes
+
#### [Version 0.11.5.1] UNIFIED LEGACY FORK
+
- Merged the fork into the [SG Rewritten Project](https://sgrewritten.org)
- *This fork is now the maintained legacy branch of the Stargate Rewritten Project*.
- - This plugin will be superseded in the near future by Stargate Rewritten,
a collaborative effort to wholly rewrite and reimagine Drakia's code base.
+ - This plugin will be superseded in the near future by Stargate Rewritten,
a collaborative effort to wholly
+ rewrite and reimagine Drakia's code base.
- Changed the `E` flag to `V`, to improve consistency for the rewrite.
- Reworked the readme and changed some shortcuts
#### [Version 0.10.X.X] LCLO fork
-- Reimplemented/merged the [LCLO fork ecosystem](https://github.com/stargate-rewritten/Stargate-Bukkit/tree/legacy), notably:
- - Added material #tag support
- - Expanded legacy migration support
- - Changed MSV to 1.16
- - Added a new default gate file
- - Added bstats
-> **NOTE: The LCLO fork has its own changelog, found [here](https://github.com/stargate-rewritten/Stargate-Bukkit/blob/legacy/README.md#changes)!**
-For brevity, the full list has been excluded from the below.
-In general, it is safe to assume **FULL LCLO PARITY** as of this version.
+
+- Reimplemented/merged the [LCLO fork ecosystem](https://github.com/stargate-rewritten/Stargate-Bukkit/tree/legacy),
+ notably:
+ - Added material #tag support
+ - Expanded legacy migration support
+ - Changed MSV to 1.16
+ - Added a new default gate file
+ - Added bstats
+
+> **NOTE: The LCLO fork has its own changelog,
+found [here](https://github.com/stargate-rewritten/Stargate-Bukkit/blob/legacy/README.md#changes)!**
+> For brevity, the full list has been excluded from the below.
+> In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### [Version 0.9.4.2] EpicKnarvik97 fork
+
- Prevents improperly loaded dependencies from causing problems with SG.
- Improved Dynmap integration and associated bug fixes.
- Fixes for some issues surrounding end portals.
#### \[Version 0.9.4.1] EpicKnarvik97 fork
+
- Adds integration with [Dynmap](https://www.spigotmc.org/resources/dynmap%C2%AE.274/)
#### \[Version 0.9.4.0] EpicKnarvik97 fork
@@ -506,12 +561,12 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### \[Version 0.9.3.7] EpicKnarvik97 fork
- Added a Japanese localisation courtesy of `furplag`.
-*For more info translation status, please see [this](sgrewritten.org/translate)*.
+ *For more info translation status, please see [this](https://sgrewritten.org/translate)*.
#### \[Version 0.9.3.6] EpicKnarvik97 fork
- Added a Chinese (simplified) localisation courtesy of `YKDZ`.
-*For more info translation status, please see [this](sgrewritten.org/translate)*.
+ *For more info translation status, please see [this](https://sgrewritten.org/translate)*.
#### \[Version 0.9.3.5] EpicKnarvik97 fork
@@ -522,10 +577,13 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
- Entities will now teleport with any passengers they may have.
- Significantly optimised the plugin's CPU usage.
-- Added an alternative transportation method to resolve a CraftBook incompatibility, and an associated config toggle (`enableCraftBookRemoveOnEjectFix`).
-- Added a config option (`waitForPlayerAfterTeleportDelay`) to allow users to specify the delay between vehicle teleportation and player teleportation.
+- Added an alternative transportation method to resolve a CraftBook incompatibility, and an associated config
+ toggle (`enableCraftBookRemoveOnEjectFix`).
+- Added a config option (`waitForPlayerAfterTeleportDelay`) to allow users to specify the delay between vehicle
+ teleportation and player teleportation.
#### \[Version 0.9.3.3] EpicKnarvik97 fork
+
- Prevents Zombified Piglins from spawning at stargates with `nether-portal` irises.
#### \[Version 0.9.3.2] EpicKnarvik97 fork
@@ -541,11 +599,11 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### \[Version 0.9.3.0] EpicKnarvik97 fork
- Adds full support for the new sign colour features:
- - Sign colours may now be specified through the use of RGB colour codes.
- - Signs may now be dyed and/or glow-inked
- - Colours may now be specified per sign type.
+ - Sign colours may now be specified through the use of RGB colour codes.
+ - Signs may now be dyed and/or glow-inked
+ - Colours may now be specified per sign type.
- Adds the "sg config" command to allow users to easily change a given sign's RGB colours.
- - One new option for this is "inverse", which inverts the default colour for a specific sign.
+ - One new option for this is "inverse", which inverts the default colour for a specific sign.
#### \[Version 0.9.2.5] EpicKnarvik97 fork
@@ -554,7 +612,8 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### \[Version 0.9.2.4] EpicKnarvik97 fork
-- Adds update checker, which will (optionally) display a notice in console and admins whenever a new SG update is available.
+- Adds update checker, which will (optionally) display a notice in console and admins whenever a new SG update is
+ available.
- Adds a config toggle (`adminUpdateAlert`) to disable the above.
#### \[Version 0.9.2.3] EpicKnarvik97 fork
@@ -591,7 +650,7 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
- Refactors the configuration loading systems as to facilitate the below:
- Added the `sg config` command, to allow for all config values to be changed in-game by users with permission.
- - The relevant permission is `stargate.admin.config`.
+ - The relevant permission is `stargate.admin.config`.
#### \[Version 0.9.0.7] EpicKnarvik97 fork
@@ -607,7 +666,7 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
- Prevents a bug where buttons could incorrect overwrite materials.
- Adds an additional default gate as to explain multi-material stargates.
- Adds the `V` flag (hides the stargate's sign -- right-clicking will display the relevant information in chat).
- - This is presented as an alternative for the `B` flag.
+ - This is presented as an alternative for the `B` flag.
- Fixes a bug where, in certain circumstances, signs could become unbreakable.
- Improves how waterlogging is handled.
- Right-clicking a stargate's frame will now display information in chat.
@@ -615,9 +674,9 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### \[Version 0.9.0.5] EpicKnarvik97 fork
- Adds configuration toggles for:
- - Whether or not living non-player entities may be teleported.
- - Whether or not 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 or not living non-player entities may be teleported.
+ - Whether or not vehicles may teleport without a player riding them.
+ - Whether or not 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, in certain circumstances, could result in chat spam.
@@ -637,21 +696,22 @@ In general, it is safe to assume **FULL LCLO PARITY** as of this version.
#### \[Version 0.9.0.1] EpicKnarvik97 fork
-- Added coloured highlight patterns to signs: `highlightSignColor` has been added, and `signColor` has been renamed to `mainSignColor`.
+- Added coloured highlight patterns to signs: `highlightSignColor` has been added, and `signColor` has been renamed
+ to `mainSignColor`.
- Addressed some inconsistencies in sign coloring by using the highlight color for all markings
- Fixed some issues pertaining to configuration handling and management.
#### \[Version 0.9.0.0] EpicKnarvik97 fork
- Significantly refactored the legacy codebase for readability and quality.
- - Added developer documentation.
+ - Added developer documentation.
- Changed the package to net.knarcraft.stargate.*
- Improved localisations and their handling.
- - Added several new translations.
+ - Added several new translations.
- Fixed some encoding problems.
- Added some missing dependencies, updated the project's plugin file.
- Made underwater portals practical by reworking activator materials and adding support for waterlogging.
-- Updated the vehicle teleportation code to work in modern versions of the game, and addressed CVE-2021-43819.
+- Updated the vehicle teleportation code to work in modern versions of the game, and addressed CVE-2021-43819.
- Updated boat teleportation to account for multi-passenger vehicles.
- Added support for passengers and leashed entities.
- Fixed some issues surrounding block states and data (notably, nether portals and end gateways).
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index b8d6dbc..a84b5ce 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1,31 +1,171 @@
-# stargate Configuration File
-# Main stargate config
+# Version: ${project.version}
+# +--------------▄▄▄-- ‚——. -▄--▄-▄--▄-▄-▄▄▄▄▄---------------------------------------------------+ #
+# | █▄▄▀ (“‡‡”) █▄▄▀ █▄▄▀ █ █ Support available at: sgrewritten.org/discord | #
+# | █▄▄█ \__/ █ █ █ █ █ █ ‚-. | #
+# | —————————————————————————————————————————————————— ((_)) —————————————————— | #
+# | ‘-’ | #
+# | .|'''.| |''||''| | '||''|. ..|'''.| | |''||''| '||''''| | #
+# | ||.. ' || ||| || || .|' ' ||| || || . | #
+# | ''|||. || | || ||''|' || .... | || || ||''| | #
+# | . '|| || .''''|. || |. '|. || ;’ |. || || | #
+# | '....|' .||. .|. .||. .||. '|' ''|...'| .|. .||. .||. .||.....| | #
+# +----------------------------------------------------------------------------------------------+ #
+# | UNIFIED LEGACY BRANCH | #
+# +----------------------------------------------+-----------------------------------------------+ #
+# | Documentation: sgrewritten.org/legacywiki | Bug Reports: sgrewritten.org/report | #
+# +----------------------------------------------+-----------------------------------------------+ #
-# language - The language file to load for messages (de,en,es,fr,hu,it,ja,nb-no,nl,nn-no,pt-br,ru,zh_cn)
+# +----------------------------------------------------------------------------------------------+ #
+# | General Preferences | #
+# +----------------------------------------------------------------------------------------------+ #
+
+# What language will stargate use when communicating with your users?
+# Supported values: [de, en, es, fr, hu, it, ja, nb-no, nl, nn-no, pt-br, ru, zh-cn]
+#
+# If SG isn't yet available in your language, please consider adding a translation:
+# https://sgrewritten.org/translate
+# For more information on language codes, see ISO 639-1: https://git.io/JcwaI
language: en
-# adminUpdateAlert - Whether to alert admins about new plugin updates
+
+# Would you like to us to notify admin users when new StarGate updates are available?
adminUpdateAlert: true
-folders:
- # portalFolder - The folder for storing portals
- portalFolder: plugins/Stargate/portals/
- # gateFolder - The folder for storing gate layouts
- gateFolder: plugins/Stargate/gates/
+
+# +----------------------------------------------------------------------------------------------+ #
+# | Compatibility | #
+# +----------------------------------------------------------------------------------------------+ #
+dynmap:
+ # Should StarGate enable integration with Dynmap? This will show StarGates on your map.
+ enableDynmap: true
+
+ # Should StarGate icons be hidden by default? (must users manually enable their checkbox?)
+ dynmapIconsHiddenByDefault: true
+
gates:
- # maxGatesEachNetwork - The maximum number of gates allowed on a network - 0 for unlimited
+ functionality:
+ # Should an alternative (and less effective) teleportation script be used to teleport vehicles?
+ # This will fix an incompatibility with CraftBook, but will cause vehicles' data to be wiped on teleportation.
+ enableCraftBookRemoveOnEjectFix: false
+
+ # +----------------------------------------------------------------------------------------------+ #
+ # | Gate Behaviour | #
+ # +----------------------------------------------------------------------------------------------+ #
+
+ # Are you connected to a BungeeCord-compatible proxy?
+ # Set this value to true if you intend on building gates with the 'u' flag.
+ enableBungee: false
+
+ # Will vehicles and their passengers be able to travel through StarGate portals?
+ # [minecarts, boats, & saddled mobs = vehicles | players & mobs = passengers]
+ handleVehicles: true
+
+ # Should vehicles without any passengers be allowed to go through a StarGate?
+ handleEmptyVehicles: true
+
+ # Should StarGate teleport creatures through portals?
+ # For example, if a player and a mob are in a boat, should the teleportation be allowed?
+ handleCreatureTransportation: true
+
+ # If handleCreatureTransportation is true, must the player be present?
+ # I.e., can a mob in a vehicle go through a gate on its own?
+ handleNonPlayerVehicles: true
+
+ # Should StarGate also handle creatures attached to a player via a lead?
+ handleLeashedCreatures: true
+
+ # What is the maximum number of gates a single network may contain? (0 for unlimited)
maxGatesEachNetwork: 0
- # defaultGateNetwork - The default gate network
+
+ # What network will be used when none has been specified? (Max length 12 characters)
+ #
+ # Note that this primarily applies to users with the stargate.create.network node.
+ # Generally, that node is given to staff (we recommend stargate.create.personal for users).
defaultGateNetwork: central
- # exitVelocity - The velocity to give players exiting stargates, relative to the entry velocity
+
+
+ # At what speed should players be sent out of portals?
+ # When exiting a gate, players retain their original movement velocity, multiplied by this value.
exitVelocity: 0.1
+
+ integrity:
+
+ # Can StarGates be broken via an explosion?
+ # [tnt, creepers, etc.]
+ destroyedByExplosion: false
+
+ # Will the server re-verify all existing portals on startup?
+ #
+ # This checks that the expected gates are both present and using a valid layout.
+ # Designed to catch .gate file modifications, world changes, and terrain regeneration.
+ #
+ # …««»»… If you set this to true, you should also set protectEntrance (below) to true!
+ # “NOTE” Otherwise, disallowed players, block updates, and snowmen can invalidate your portals!
+ verifyPortals: false
+
+ # Should the portal verification process account for 𝑡𝑟𝑎𝑣𝑒𝑟𝑠𝑎𝑏𝑙𝑒 (open/closed) materials?
+ # i.e. will a gate still validate if its portal-open material isn't present?
+ #
+ # This is more resource intensive, and should really only be used if verifyPortals is true.
+ # Or if using an easily destroyable open/closed material.
+ protectEntrance: false
+
+# +----------------------------------------------------------------------------------------------+ #
+# | Economy | #
+# +----------------------------------------------------------------------------------------------+ #
+economy:
+ # Will StarGate interact with your server's economy?
+ #
+ # …««»»… For these features, StarGate depends on the Vault plugin.
+ # “NOTE” https://www.spigotmc.org/resources/vault.34315/
+ useEconomy: false
+
+ # How much will be deducted from players' accounts when creating a new gate?
+ createCost: 0
+
+ # How much will be deducted from players' accounts when destroying an existing gate?
+ destroyCost: 0
+
+ # How much will be deducted from players' accounts when using a stargate to teleport?
+ # This does not apply to stargates with the 'f' flag.
+ useCost: 0
+
+ # Will fees collected for ‘usecost’ be paid to whomever created (owns) the applicable stargate?
+ # If false, collected funds will be deleted.
+ toOwner: false
+
+ # Will ‘createcost’ still be charged if the new gate's destination is a gate with the 'f' flag?
+ # Note that this only applies to fixed gates.
+ chargeFreeDestination: true
+
+ # +----------------------------------------------------------------------------------------------+ #
+ # | Aesthetic Tweaks | #
+ # +----------------------------------------------------------------------------------------------+ #
+
+ # When scrolling through a networked portal's destination list, should SG color free gates?
+ freeGatesColored: false
+
+ # If freeGatesColored is true, which color should SG use?
+ #
+ # All color names should follow this format:
+ # https://hub.spigotmc.org/javadocs/spigot/org/bukkit/ChatColor.html
+ freeGatesColor: DARK_GREEN
+
cosmetic:
- # rememberDestination - Whether to remember the cursor location between uses
+ # Will the destination a networked portal last connected to be listed first in its scroll menu?
rememberDestination: false
- # sortNetworkDestinations - Whether to sort network lists alphabetically
+
+ # For networked gates, are destinations listed alphabetically instead of chronologically?
+ # (This applies to all non-fixed and non-random gates).
sortNetworkDestinations: false
- # mainSignColor - The color used for drawing signs (Default: BLACK).
+
+ # What color will StarGate use for the text on gate signs?
+ # Note that players can override this with DYE and/or GLOW_INK_SAC
mainSignColor: BLACK
- # highlightSignColor - The color used for sign markings (Default: WHITE)
+
+ # What color will StarGate use to accent the above text?
highlightSignColor: WHITE
+
+ # Text and highlight colors can be modified on a per-sign basis (below).
+ # Format: 'SIGN_TYPE:mainSignColor,highlightSignColor'
perSignColors:
- 'ACACIA:default,default'
- 'BIRCH:default,default'
@@ -35,73 +175,41 @@ gates:
- 'OAK:default,default'
- 'SPRUCE:inverted,inverted'
- 'WARPED:inverted,inverted'
- integrity:
- # destroyedByExplosion - Whether to destroy gates with explosions (Creeper, TNT, etc.)
- destroyedByExplosion: false
- # verifyPortals - Whether all the non-sign blocks are checked to match the gate layout when a stargate is loaded.
- verifyPortals: false
- # protectEntrance - Whether to protect gate entrance material (More resource intensive. Only enable if using
- # destroyable open/closed material)
- protectEntrance: false
- functionality:
- enableBungee: false
- # handleVehicles - Whether to allow vehicles through gates. This overrides other vehicle settings
- handleVehicles: true
- # handleEmptyVehicles - Whether to allow empty vehicles through gates (chest/hopper/tnt/furnace minecarts included)
- handleEmptyVehicles: true
- # handleCreatureTransportation - Whether to allow players to transport creatures by sending vehicles (minecarts,
- # boats) through gates
- handleCreatureTransportation: true
- # handleNonPlayerVehicles - Whether to allow vehicles with a passenger which is not a player through gates.
- # handleCreatureTransportation must be enabled
- handleNonPlayerVehicles: true
- # handleLeashedCreatures - Whether to allow creatures lead by a player to teleport with the player
- handleLeashedCreatures: true
- # enableCraftBookRemoveOnEjectFix - Whether to enable a fix that causes loss of NBT data, but allows vehicle
- # teleportation to work when CraftBook's remove minecart/boat on eject setting is enabled
- enableCraftBookRemoveOnEjectFix: false
-# ######################## #
-# stargate economy options #
-# ######################## #
-economy:
- # useEconomy - Whether to use an economy plugin
- useEconomy: false
- # createCost - The cost to create a gate
- createCost: 0
- # destroyCost - The cost to destroy a gate
- destroyCost: 0
- # useCost - The cost to use a gate
- useCost: 0
- # toOwner - Whether the charge for using a gate goes to the gate's owner
- toOwner: false
- # chargeFreeDestination - Whether a gate whose destination is a free gate is still charged
- chargeFreeDestination: true
- # freeGatesColored - Whether a free gate in the destination list is marked with a color
- freeGatesColored: false
- # freeGatesColor - The color to use for marking free gates
- freeGatesColor: DARK_GREEN
+# +----------------------------------------------------------------------------------------------+ #
+# | Technical | #
+# +----------------------------------------------------------------------------------------------+ #
-# ############# #
-# Debug options #
-# ############# #
+# | [ Storage ] | #
+# |__ These settings are provided to customise how SG stores its data. __| #
+folders:
+ # Currently, all valid gates, their details, and their owners, are stored in a flatfile database
+ # Where should that flatfile be stored?
+ #
+ # This option is provided as a patch to allow data to be imported from some older forks.
+ portalFolder: plugins/Stargate/portals/
+
+ # Currently, on startup, a folder is checked for gate layouts stored as ‘.gate’ files.
+ # Where is that folder?
+ #
+ # This option is provided as a patch to allow data to be imported from some older forks.
+ gateFolder: plugins/Stargate/gates/
+
+# | [ Debug ] | #
+# |__ These settings are provided to help developers diagnose issues with this plugin. __| #
debugging:
- # debug - Debug -- Only enable if you have issues, massive console output
+ # Should SG spam console with A LOT of technical information?
+ # This includes checks, events, etc.
debug: false
- # permissionDebug - This will output any and all Permissions checks to console, used for permissions debugging
- # (Requires debug: true)
+
+ # Should SG spam console with A LOT of permission-based information?
+ # This visualises how stargate determines what players can do.
+ #
+ # Note that (regardless of this setting), permdebug is always hidden when ‘debug’ is false.
permissionDebug: false
-advanced:
- # waitForPlayerAfterTeleportDelay - The amount of ticks to wait before adding a player as passenger of a vehicle.
- # On slow servers, a value of 6 is required to avoid client glitches after teleporting on a vehicle.
- waitForPlayerAfterTeleportDelay: 6
-# ############## #
-# Dynmap options #
-# ############## #
-dynmap:
- # enableDynmap - Whether to display Stargates in Dynmap's map
- enableDynmap: true
- # dynmapIconsHiddenByDefault - Whether to hide the set of Stargate icons by default, requiring users to
- # manually enable them with a checkbox.
- dynmapIconsHiddenByDefault: true
\ No newline at end of file
+advanced:
+ # How long should SG wait before returning players to their vehicles after teleportation?
+ # This is done to prevent possible visual bugs; slower servers need larger values.
+ # In most cases, a value of 6 should be fine.
+ waitForPlayerAfterTeleportDelay: 6
\ No newline at end of file