diff --git a/README.md b/README.md
index ee9d14c..3f3535d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# Description
-Create gates that allow for instant-teleportation between large distances. Gates can be always-open or triggered; they can share a network or be split into clusters; they can be hidden on a network or accessible to everybody.
+
+Create gates that allow for instant-teleportation between large distances. Gates can be always-open or triggered; they
+can share a network or be split into clusters; they can be hidden on a network or accessible to everybody.
- Player permissions -- let players build their own networks.
- Vault economy support -- can add costs for create, destroy and use.
@@ -7,11 +9,13 @@ Create gates that allow for instant-teleportation between large distances. Gates
- Message customization
## Background
-This was originally TheDgtl's Bukkit port of the Stargate plugin for hMod by Dinnerbone.
-This is a fork of [PseudoKnight's fork](https://github.com/PseudoKnight/Stargate-Bukkit).
-This fork's main purpose is to create a clean version of Stargate compliant with Spigot 1.16, even if it means changing the entire project's previous structure.
+
+This was originally TheDgtl's Bukkit port of the Stargate plugin for hMod by Dinnerbone. This is a fork
+of [PseudoKnight's fork](https://github.com/PseudoKnight/Stargate-Bukkit). This fork's main purpose is to create a clean
+version of Stargate compliant with Spigot 1.16, even if it means changing the entire project's previous structure.
# Permissions
+
```
stargate.use -- Allow use of all gates 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 gates linking to any world
@@ -51,7 +55,9 @@ stargate.admin -- Allow all admin features (Hidden/Private only so far)
stargate.admin.hidden -- Allow access to Hidden gates not ownerd by user
stargate.admin.reload -- Allow use of /sg reload
```
+
## Default Permissions
+
```
stargate.use -- Everyone
stargate.create -- Op
@@ -62,8 +68,11 @@ stargate.admin -- Op
```
# Instructions
+
## Building a gate:
+
This is the default gate configuration. See the Custom Gate Layout section on how to change this.
+
```
OO
O O - These are Obsidian blocks. You need 10.
@@ -78,44 +87,55 @@ This is the default gate configuration. See the Custom Gate Layout section on ho
- Line 2: Destination Name \[Optional] (Max 12 characters, used for fixed-gates only)
- Line 3: Network name \[Optional] (Max 12 characters)
- Line 4: Options \[Optional] :
- - 'A' for always-on fixed gate
- - 'H' for hidden networked gate
- - 'P' for a private gate
- - 'F' for a free gate
- - 'B' is for a backwards facing gate (You will exit the back)
- - 'S' is for showing an always-on gate in the network list
- - '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.
- - 'U' is for a gate connecting to another through bungee
+ - 'A' for always-on fixed gate
+ - 'H' for hidden networked gate
+ - 'P' for a private gate
+ - 'F' for a free gate
+ - 'B' is for a backwards facing gate (You will exit the back)
+ - 'S' is for showing an always-on gate in the network list
+ - '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.
+ - 'U' is for a gate connecting to another through bungee
The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'.
#### 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.
- - If the gate is a bungee gate, the network name should be the name of the server as displayed when typing /servers
+
+- 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.
+- If the gate is a bungee gate, the network name should be the name of the server as displayed when typing /servers
#### 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.
- - A bungee gate is always automatically a fixed gate
-
+
+- 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.
+- A bungee gate is always automatically a fixed gate
+
#### 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.
+
+- 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.
## Using a gate:
- - Right click the sign to choose a destination.
- - Right click the button to open up a portal.
- - Step through.
-
+
+- Right click the sign to choose a destination.
+- Right click the button to open up a portal.
+- Step through.
+
## Economy Support:
-The latest version of Stargate has support for Vault. Gate creation, destruction and use can all have different costs associated with them. You can also define per-gate layout costs. The default cost is assigned in the config.yml file, while the per-gate costs re defined in the .gate files. To define a certain cost to a gate just add these lines to your .gate file:
+
+The latest version of Stargate has support for Vault. Gate creation, destruction and use can all have different costs
+associated with them. You can also define per-gate layout costs. The default cost is assigned in the config.yml file,
+while the per-gate costs re defined in the .gate files. To define a certain cost to a gate just add these lines to your
+.gate file:
+
```
usecost=5
destroycost=5
@@ -124,9 +144,11 @@ toowner=true
```
# Custom Gate Layout
+
You can create as many gate formats as you want, the gate layouts are stored in `plugins/Stargate/gates/`.
-The .gate file must be laid out a specific way, the first lines will be config information,
-and after a blank line you will lay out the gate format. Here is the default nether.gate file:
+The .gate file must be laid out a specific way, the first lines will be config information, and after a blank line you
+will lay out the gate format. Here is the default nether.gate file:
+
```
portal-open=NETHER_PORTAL
portal-closed=AIR
@@ -140,18 +162,21 @@ X..X
X*.X
XX
```
-The keys `portal-open` and `portal-closed` are used to define the material in the gate when it is open or closed.
-The material for `portal-closed` can be most things, including solid blocks. Some materials may act weirdly though.
-The material for `portal-open` can be any block the player can partially enter, even things like `GLOW_LICHEN`.
+
+The keys `portal-open` and `portal-closed` are used to define the material in the gate when it is open or closed. The
+material for `portal-closed` can be most things, including solid blocks. Some materials may act weirdly though. The
+material for `portal-open` can be any block the player can partially enter, even things like `GLOW_LICHEN`.
`NETHER_PORTAL` and `END_GATEWAY` work, but `END_PORTAL` does not.
-The key `button` is used to define the type of button that is generated for this gate. It can be a button (of any type),
+The key `button` is used to define the type of button that is generated for this gate. It can be a button (of any type),
a type of wall coral (dead or alive), a type of shulker box or a chest.
`X` and `-` are used to define block types for the layout (Any single-character can be used, such as `#`).
In the gate format, you can see we use `X` to show where obsidian must be, `-` where the controls (Button/sign) are.
-You will also notice a `*` in the gate layout, this is the "exit point" of the gate, the block at which the player will teleport in front of.
+You will also notice a `*` in the gate layout, this is the "exit point" of the gate, the block at which the player will
+teleport in front of.
## Buttons
+
The actual buttons cannot be used underwater, but all the other items in the button list can be.
The entire list of button types is as follows: (Click to expand)
@@ -197,16 +222,19 @@ DEAD_BUBBLE_CORAL_WALL_FAN
DEAD_FIRE_CORAL_WALL_FAN
DEAD_HORN_CORAL_WALL_FAN
```
+
## Underwater Portals
+
There is a default gate type for underwater gates. There are no real restrictions on underwater gate materials, except
-normal buttons cannot be used since they'd fall off. Using wall coral fans work much better, though `CHEST` and
+normal buttons cannot be used since they'd fall off. Using wall coral fans work much better, though `CHEST` and
`SHULKER_BOX` works too.
Using `AIR` for a closed underwater gate looks weird, so `WATER` might be better.
# Configuration
+
```
default-gate-network - The default gate network
portal-folder - The folder your portal databases are saved in
@@ -234,13 +262,16 @@ permdebug: Whether to show massive permission debug output
```
# Message Customization
-It is possible to customize all of the messages Stargate displays, including the [Stargate] prefix. You can find the strings in plugins/Stargate/lang/chosenLanguage.txt.
-If a string is removed, or left blank, it will default to the default english string.
-There are some special cases when it comes to messages.
-When you see %variableName%, you need to keep this part in your string, as it will be replaced with relevant values.
+It is possible to customize all of the messages Stargate displays, including the [Stargate] prefix. You can find the
+strings in plugins/Stargate/lang/chosenLanguage.txt.
+
+If a string is removed, or left blank, it will default to the default english string. There are some special cases when
+it comes to messages. When you see %variableName%, you need to keep this part in your string, as it will be replaced
+with relevant values.
The full list of strings is as follows:
+
```
prefix=[Stargate]
teleportMsg=Teleported
@@ -278,379 +309,617 @@ bungeeDeny=You do not have permission to create BungeeCord gates.
bungeeEmpty=BungeeCord gates require both a destination and network.
bungeeSign=Teleport to
```
+
# Changes
+
#### \[Version 0.9.0.0] (WIP) EpicKnarvik97 fork
- - Changes entire path structure to a more modern and maven-compliant one
- - Changes package structure to net.knarcaft.stargate.*
- - Moves language files into the resources folder
- - Fixes some bugs caused by language files not being read as UTF-8
- - Makes Blox into BlockLocation which now extends Location
- - Adds JavaDoc to a lot of the code
- - Adds Norwegian translation for both Norwegian languages
- - Adds missing dependency information to plugin.yml
- - Uses text from the language files in more places
- - Changes how backup language works, causing english strings to be shown if not available from the chosen language
- - Removes some pre-UUID code
- - Adds underwater portals
- - Makes it easier to add more default gates
- - Adds a new default gate which can be used underwater
- - Adds more items usable as buttons (corals, chest, shulker box), which allows underwater portals
- - Splits a lot of the code into smaller objects
- - Moves duplicated code into helper classes
+
+- Changes entire path structure to a more modern and maven-compliant one
+- Changes package structure to net.knarcaft.stargate.*
+- Moves language files into the resources folder
+- Fixes some bugs caused by language files not being read as UTF-8
+- Makes Blox into BlockLocation which now extends Location
+- Adds JavaDoc to a lot of the code
+- Adds Norwegian translation for both Norwegian languages
+- Adds missing dependency information to plugin.yml
+- Uses text from the language files in more places
+- Changes how backup language works, causing english strings to be shown if not available from the chosen language
+- Removes some pre-UUID code
+- Adds underwater portals
+- Makes it easier to add more default gates
+- Adds a new default gate which can be used underwater
+- Adds more items usable as buttons (corals, chest, shulker box), which allows underwater portals
+- Splits a lot of the code into smaller objects
+- Moves duplicated code into helper classes
+
#### \[Version 0.8.0.3] PseudoKnight fork
- - Fix economy
- - Add custom buttons
+
+- Fix economy
+- Add custom buttons
+
#### \[Version 0.8.0.2] PseudoKnight fork
- - Fix player relative yaw when exiting portal
- - Add color code support in lang files
+
+- Fix player relative yaw when exiting portal
+- Add color code support in lang files
+
#### \[Version 0.8.0.1] PseudoKnight fork
- - Fix slab check for portal exits
- - Improve material checks for gate configuration
+
+- Fix slab check for portal exits
+- Improve material checks for gate configuration
+
#### \[Version 0.8.0.0] PseudoKnight fork
- - Update for 1.13/1.14 compatibility. This changes gate layouts to use new material names instead of numeric ids. You need to update your gate layout configs.
- - Adds "verifyPortals" config option, which sets whether an old stargate's blocks are verified when loaded.
- - Adds UUID support. (falls back to player names)
+
+- Update for 1.13/1.14 compatibility. This changes gate layouts to use new material names instead of numeric ids. You
+ need to update your gate layout configs.
+- Adds "verifyPortals" config option, which sets whether an old stargate's blocks are verified when loaded.
+- Adds UUID support. (falls back to player names)
+
#### \[Version 0.7.9.11] PseudoKnight fork
- - Removed iConomy support. Updated Vault support. Changed setting from "useiconomy" to "useeconomy".
- - Updated to support Metrics for 1.7.10
+
+- Removed iConomy support. Updated Vault support. Changed setting from "useiconomy" to "useeconomy".
+- Updated to support Metrics for 1.7.10
+
#### \[Version 0.7.9.10]
- - Fix personal gate permission check for players with mixed-case names
+
+- Fix personal gate permission check for players with mixed-case names
+
#### \[Version 0.7.9.9]
- - Remove "Permissions" support, we now only support SuperPerms handlers.
+
+- Remove "Permissions" support, we now only support SuperPerms handlers.
+
#### \[Version 0.7.9.8]
- - Make sure buttons stay where they should
+
+- Make sure buttons stay where they should
+
#### \[Version 0.7.9.7]
- - Do the Bungee check after the gate layout check.
+
+- Do the Bungee check after the gate layout check.
+
#### \[Version 0.7.9.6]
- - Actually remove the player from the BungeeQueue when they connect. Oops :)
- - Implement stargate.server nodes
- - Improve the use of negation. You can now negate networks/worlds/servers while using stargate.use permissions.
+
+- Actually remove the player from the BungeeQueue when they connect. Oops :)
+- Implement stargate.server nodes
+- Improve the use of negation. You can now negate networks/worlds/servers while using stargate.use permissions.
+
#### \[Version 0.7.9.5]
- - Fixed an issue with portal material not showing up (Oh, that code WAS useful)
+
+- Fixed an issue with portal material not showing up (Oh, that code WAS useful)
+
#### \[Version 0.7.9.4]
- - Fixed an issue where water gates broke, oops
+
+- Fixed an issue where water gates broke, oops
+
#### \[Version 0.7.9.3]
- - Update BungeeCord integration for b152+
+
+- Update BungeeCord integration for b152+
+
#### \[Version 0.7.9.2]
- - Remove my custom sign class. Stupid Bukkit team.
- - Will work with CB 1.4.5 builds, but now will break randomly due to Bukkit screwup
- - Update MetricsLite to R6
+
+- Remove my custom sign class. Stupid Bukkit team.
+- Will work with CB 1.4.5 builds, but now will break randomly due to Bukkit screwup
+- Update MetricsLite to R6
+
#### \[Version 0.7.9.1]
- - Optimize gate lookup in onPlayerMove
- - Resolve issue where Stargates would teleport players to the nether
+
+- Optimize gate lookup in onPlayerMove
+- Resolve issue where Stargates would teleport players to the nether
+
#### \[Version 0.7.9.0]
- - Added BungeeCord multi-server support (Requires Stargate-Bungee for BungeeCord)
- - Updated Spanish language file
- - Added basic plugin metrics via http://mcstats.org/
- - Resolve issue where language updating overwrote custom strings
+
+- Added BungeeCord multi-server support (Requires Stargate-Bungee for BungeeCord)
+- Updated Spanish language file
+- Added basic plugin metrics via http://mcstats.org/
+- Resolve issue where language updating overwrote custom strings
+
#### \[Version 0.7.8.1]
- - Resolve issue of language file being overwritten as ANSI instead of UTF8
+
+- Resolve issue of language file being overwritten as ANSI instead of UTF8
+
#### \[Version 0.7.8.0]
- - Updated languages to include sign text (Please update any languages you are able!)
- - Resolved NPE due to Bukkit bug with signs
- - Resolved issue regarding new getTargetBlock code throwing an exception
- - Languages now auto-update based on the .JAR version (New entries only, doesn't overwrite customization)
- - New command "/sg about", will list the author of the current language file if available
- - Language now has a fallback to English for missing lines (It's the only language I can personally update on release)
- - Added Spanish (Thanks Manuestaire) and Hungarian (Thanks HPoltergeist)
- - Added portal.setOwner(String) API
+
+- Updated languages to include sign text (Please update any languages you are able!)
+- Resolved NPE due to Bukkit bug with signs
+- Resolved issue regarding new getTargetBlock code throwing an exception
+- Languages now auto-update based on the .JAR version (New entries only, doesn't overwrite customization)
+- New command "/sg about", will list the author of the current language file if available
+- Language now has a fallback to English for missing lines (It's the only language I can personally update on release)
+- Added Spanish (Thanks Manuestaire) and Hungarian (Thanks HPoltergeist)
+- Added portal.setOwner(String) API
+
#### \[Version 0.7.7.5]
- - Resolve issue of right clicking introduced in 1.3.1/2
+
+- Resolve issue of right clicking introduced in 1.3.1/2
+
#### \[Version 0.7.7.4]
- - Removed try/catch, it was still segfaulting.
- - Built against 1.3.1
+
+- Removed try/catch, it was still segfaulting.
+- Built against 1.3.1
+
#### \[Version 0.7.7.3]
- - Wrap sign changing in try/catch. Stupid Bukkit
+
+- Wrap sign changing in try/catch. Stupid Bukkit
+
#### \[Version 0.7.7.2]
- - Load chunk before trying to draw signs
- - Implement a workaround for BUKKIT-1033
+
+- Load chunk before trying to draw signs
+- Implement a workaround for BUKKIT-1033
+
#### \[Version 0.7.7.1]
- - Permission checking for 'R'andom gates.
- - Random now implies AlwaysOn
- - Added all languages to JAR
+
+- Permission checking for 'R'andom gates.
+- Random now implies AlwaysOn
+- Added all languages to JAR
+
#### \[Version 0.7.7.0]
- - Added 'R'andom option - This still follows the permission rules defined for normal gate usage
- - Added a bit more debug output
+
+- Added 'R'andom option - This still follows the permission rules defined for normal gate usage
+- Added a bit more debug output
+
#### \[Version 0.7.6.8]
- - Hopefully fix backwards gate exiting
+
+- Hopefully fix backwards gate exiting
+
#### \[Version 0.7.6.7]
- - Reload all gates on world unload, this stops gates with invalid destinations being in memory.
+
+- Reload all gates on world unload, this stops gates with invalid destinations being in memory.
+
#### \[Version 0.7.6.6]
- - Check move/portal/interact/signchange events for cancellation
+
+- Check move/portal/interact/signchange events for cancellation
+
#### \[Version 0.7.6.5]
- - Resolve issue with buttons on glass gates falling off
- - /sg reload can now be used ingame (stargate.admin.reload permission)
+
+- Resolve issue with buttons on glass gates falling off
+- /sg reload can now be used ingame (stargate.admin.reload permission)
+
#### \[Version 0.7.6.4]
- - Move blockBreak to HIGHEST priority, this resolves issues with region protection plugins
+
+- Move blockBreak to HIGHEST priority, this resolves issues with region protection plugins
+
#### \[Version 0.7.6.3]
- - Fixed issue with displaying iConomy prices
- - iConomy is now hooked on "sg reload" if not already hooked and enabled
- - iConomy is now unhooked on "sg reload" if hooked and disabled
+
+- Fixed issue with displaying iConomy prices
+- iConomy is now hooked on "sg reload" if not already hooked and enabled
+- iConomy is now unhooked on "sg reload" if hooked and disabled
+
#### \[Version 0.7.6.2]
- - Button now activates if gate is opened, allowing redstone interaction
- - Fixed issue with sign line lengths. All sign text should now fit with color codes.
+
+- Button now activates if gate is opened, allowing redstone interaction
+- Fixed issue with sign line lengths. All sign text should now fit with color codes.
+
#### \[Version 0.7.6.1]
- - Update API for StargateCommand
- - Resolved issue with block data on explosion
- - Added signColor option
- - Added protectEntrance option
+
+- Update API for StargateCommand
+- Resolved issue with block data on explosion
+- Added signColor option
+- Added protectEntrance option
+
#### \[Version 0.7.6]
- - Moved gate opening/closing to a Queue/Runnable system to resolve server lag issues with very large gates
+
+- Moved gate opening/closing to a Queue/Runnable system to resolve server lag issues with very large gates
+
#### \[Version 0.7.5.11]
- - PEX now returns accurate results without requiring use of the bridge.
+
+- PEX now returns accurate results without requiring use of the bridge.
+
#### \[Version 0.7.5.10]
- - Added sortLists options
+
+- Added sortLists options
+
#### \[Version 0.7.5.9]
- - Quick event fix for latest dev builds
- - Fix for sign ClassCastException
+
+- Quick event fix for latest dev builds
+- Fix for sign ClassCastException
+
#### \[Version 0.7.5.8]
- - Fixed an exploit with pistons to destroy gates
+
+- Fixed an exploit with pistons to destroy gates
+
#### \[Version 0.7.5.7]
- - Removed SignPost class
- - Resolved issues with signs in 1.2
+
+- Removed SignPost class
+- Resolved issues with signs in 1.2
+
#### \[Version 0.7.5.6]
- - Quick update to the custom event code, works with R5+ now.
+
+- Quick update to the custom event code, works with R5+ now.
+
#### \[Version 0.7.5.5]
- - PEX is built of fail, if we have it, use bridge instead.
+
+- PEX is built of fail, if we have it, use bridge instead.
+
#### \[Version 0.7.5.4]
- - Fix issue with private gates for players with long names
+
+- Fix issue with private gates for players with long names
+
#### \[Version 0.7.5.3]
- - Added another check for Perm bridges.
+
+- Added another check for Perm bridges.
+
#### \[Version 0.7.5.2]
- - Make sure our timer is stopped on disable
- - Move Event reg before loading gates to stop portal material vanishing
+
+- Make sure our timer is stopped on disable
+- Move Event reg before loading gates to stop portal material vanishing
+
#### \[Version 0.7.5.1]
- - Don't create button on failed creation
+
+- Don't create button on failed creation
+
#### \[Version 0.7.5.0]
- - Refactored creation code a bit
- - Added StargateCreateEvent, see Stargate-API for usage.
- - Added StargateDestroyEvent, see Stargate-API for usage.
- - Updated Event API to the new standard, please see: http://wiki.bukkit.org/Introduction_to_the_New_Event_System
- - Added handleVehicles option.
- - Added 'N'o Network option (Hides the network from the sign)
+
+- Refactored creation code a bit
+- Added StargateCreateEvent, see Stargate-API for usage.
+- Added StargateDestroyEvent, see Stargate-API for usage.
+- Updated Event API to the new standard, please see: http://wiki.bukkit.org/Introduction_to_the_New_Event_System
+- Added handleVehicles option.
+- Added 'N'o Network option (Hides the network from the sign)
+
#### \[Version 0.7.4.4]
- - Changed the implementation of StargateAccessEvent.
- - Disable Permissions if version is 2.7.2 (Common version used between bridges)
- - Fix long-standing bug with hasPermDeep check. Oops.
+
+- Changed the implementation of StargateAccessEvent.
+- Disable Permissions if version is 2.7.2 (Common version used between bridges)
+- Fix long-standing bug with hasPermDeep check. Oops.
+
#### \[Version 0.7.4.3]
- - Implement StargateAccessEvent, used for bypassing permission checks/denying access to gates.
+
+- Implement StargateAccessEvent, used for bypassing permission checks/denying access to gates.
+
#### \[Version 0.7.4.2]
- - stargate.create.personal permission now also allows user to use personal gates
+
+- stargate.create.personal permission now also allows user to use personal gates
+
#### \[Version 0.7.4.1]
- - Quick API update to add player to the activate event
+
+- Quick API update to add player to the activate event
+
#### \[Version 0.7.4.0]
- - Fixed issue with non-air closed portal blocks
- - Added StargatePortalEvent/onStargatePortal event
+
+- Fixed issue with non-air closed portal blocks
+- Added StargatePortalEvent/onStargatePortal event
+
#### \[Version 0.7.3.3]
- - Added "ignoreEntrance" option to not check entrance to gate on integrity check (Workaround for snowmen until event is pulled)
+
+- Added "ignoreEntrance" option to not check entrance to gate on integrity check (Workaround for snowmen until event is
+ pulled)
+
#### \[Version 0.7.3.2]
- - Actually fixed "><" issue with destMemory
+
+- Actually fixed "><" issue with destMemory
+
#### \[Version 0.7.3.1]
- - Hopefully fixed "><" issue with destMemory
+
+- Hopefully fixed "><" issue with destMemory
+
#### \[Version 0.7.3]
- - Lava and water gates no longer destroy on reload
- - "sg reload" now closes gates before reloading
- - Added Vault support
- - Added missing "useiConomy" option in config
+
+- Lava and water gates no longer destroy on reload
+- "sg reload" now closes gates before reloading
+- Added Vault support
+- Added missing "useiConomy" option in config
+
#### \[Version 0.7.2.1]
- - Quick fix for an NPE
+
+- Quick fix for an NPE
+
#### \[Version 0.7.2]
- - Make it so you can still destroy gates in Survival mode
+
+- Make it so you can still destroy gates in Survival mode
+
#### \[Version 0.7.1]
- - Added destMemory option
- - Switched to sign.update() as Bukkit implemented my fix
- - Threw in a catch for a null from location for portal events
+
+- Added destMemory option
+- Switched to sign.update() as Bukkit implemented my fix
+- Threw in a catch for a null from location for portal events
+
#### \[Version 0.7.0]
- - Minecraft 1.0.0 support
- - New FileConfiguration implemented
- - Stop gates being destroyed on right-click in Creative mode
- - Fixed signs not updating with a hackish workaround until Bukkit is fixed
+
+- Minecraft 1.0.0 support
+- New FileConfiguration implemented
+- Stop gates being destroyed on right-click in Creative mode
+- Fixed signs not updating with a hackish workaround until Bukkit is fixed
+
#### \[Version 0.6.10]
- - Added Register support as opposed to iConomy
+
+- Added Register support as opposed to iConomy
+
#### \[Version 0.6.9]
- - Added UTF8 support for lang files (With or without BOM)
+
+- Added UTF8 support for lang files (With or without BOM)
+
#### \[Version 0.6.8]
- - Fixed unmanned carts losing velocity through gates
- - /sg reload now properly switches languages
+
+- Fixed unmanned carts losing velocity through gates
+- /sg reload now properly switches languages
+
#### \[Version 0.6.7]
- - Added lang option
- - Removed language debug output
- - Added German language (lang=de) -- Thanks EduardBaer
+
+- Added lang option
+- Removed language debug output
+- Added German language (lang=de) -- Thanks EduardBaer
+
#### \[Version 0.6.6]
- - Added %cost% and %portal% to all eco* messages
- - Fixed an issue when creating a gate on a network you don't have access to
+
+- Added %cost% and %portal% to all eco* messages
+- Fixed an issue when creating a gate on a network you don't have access to
+
#### \[Version 0.6.5]
- - Moved printed message config to a seperate file
- - Added permdebug option
- - Hopefully fix path issues some people were having
- - Fixed iConomy creation cost
- - Added 'S'how option for Always-On gates
- - Added 'stargate.create.gate' permissions
+
+- Moved printed message config to a seperate file
+- Added permdebug option
+- Hopefully fix path issues some people were having
+- Fixed iConomy creation cost
+- Added 'S'how option for Always-On gates
+- Added 'stargate.create.gate' permissions
+
#### \[Version 0.6.4]
- - Fixed iConomy handling
+
+- Fixed iConomy handling
+
#### \[Version 0.6.3]
- - Fixed (Not Connected) showing on inter-world gate loading
- - Added the ability to negate Network/World permissions (Use, Create and Destroy)
- - Fixed Lockette compatibility
- - More stringent verification checks
+
+- Fixed (Not Connected) showing on inter-world gate loading
+- Added the ability to negate Network/World permissions (Use, Create and Destroy)
+- Fixed Lockette compatibility
+- More stringent verification checks
+
#### \[Version 0.6.2]
- - Fixed an issue with private gates
- - Added default permissions
+
+- Fixed an issue with private gates
+- Added default permissions
+
#### \[Version 0.6.1]
- - Stop destruction of open gates on startup
+
+- Stop destruction of open gates on startup
+
#### \[Version 0.6.0]
- - Completely re-wrote Permission handling (REREAD/REDO YOUR PERMISSIONS!!!!!!!!)
- - Added custom Stargate events (See Stargate-DHD code for use)
- - Fixed portal event cancellation
- - Umm... Lots of other small things.
+
+- Completely re-wrote Permission handling (REREAD/REDO YOUR PERMISSIONS!!!!!!!!)
+- Added custom Stargate events (See Stargate-DHD code for use)
+- Fixed portal event cancellation
+- Umm... Lots of other small things.
+
#### \[Version 0.5.5]
- - Added 'B'ackwards option
- - Fixed opening of gates with a fixed gate as a destination
- - Added block metadata support to gates
+
+- Added 'B'ackwards option
+- Fixed opening of gates with a fixed gate as a destination
+- Added block metadata support to gates
+
#### \[Version 0.5.1]
- - Take into account world/network restrictions for Vehicles
- - Properly teleport empty vehicles between worlds
- - Properly teleport StoreageMinecarts between worlds
- - Take into account vehicle type when teleporting
+
+- Take into account world/network restrictions for Vehicles
+- Properly teleport empty vehicles between worlds
+- Properly teleport StoreageMinecarts between worlds
+- Take into account vehicle type when teleporting
+
#### \[Version 0.5.0]
- - Updated the teleport method
- - Remove always-open gates from lists
- - Hopefully stop Stargate and Nether interference
+
+- Updated the teleport method
+- Remove always-open gates from lists
+- Hopefully stop Stargate and Nether interference
+
#### \[Version 0.4.9]
- - Left-click to scroll signs up
- - Show "(Not Connected)" on fixed-gates with a non-existant destination
- - Added "maxgates" option
- - Removed debug message
- - Started work on disabling damage for lava gates, too much work to finish with the current implementation of EntityDamageByBlock
+
+- Left-click to scroll signs up
+- Show "(Not Connected)" on fixed-gates with a non-existant destination
+- Added "maxgates" option
+- Removed debug message
+- Started work on disabling damage for lava gates, too much work to finish with the current implementation of
+ EntityDamageByBlock
+
#### \[Version 0.4.8]
- - Added chargefreedestination option
- - Added freegatesgreen option
+
+- Added chargefreedestination option
+- Added freegatesgreen option
+
#### \[Version 0.4.7]
- - Added debug option
- - Fixed gates will now show in the list of gates they link to.
- - iConomy no longer touched if not enabled in config
+
+- Added debug option
+- Fixed gates will now show in the list of gates they link to.
+- iConomy no longer touched if not enabled in config
+
#### \[Version 0.4.6]
- - Fixed a bug in iConomy handling.
+
+- Fixed a bug in iConomy handling.
+
#### \[Version 0.4.5]
- - Owner of gate now isn't charged for use if target is owner
- - Updated for iConomy 5.x
- - Fixed random iConomy bugs
+
+- Owner of gate now isn't charged for use if target is owner
+- Updated for iConomy 5.x
+- Fixed random iConomy bugs
+
#### \[Version 0.4.4]
- - Added a check for stargate.network.*/stargate.world.* on gate creation
- - Check for stargate.world.*/stargate.network.* on gate entrance
- - Warp player outside of gate on access denied
+
+- Added a check for stargate.network.*/stargate.world.* on gate creation
+- Check for stargate.world.*/stargate.network.* on gate entrance
+- Warp player outside of gate on access denied
+
#### \[Version 0.4.3]
- - Made some errors more user-friendly
- - Properly take into account portal-closed material
+
+- Made some errors more user-friendly
+- Properly take into account portal-closed material
+
#### \[Version 0.4.2]
- - Gates can't be created on existing gate blocks
+
+- Gates can't be created on existing gate blocks
+
#### \[Version 0.4.1]
- - Sign option permissions
- - Per-gate iconomy target
- - /sg reload command
- - Other misc fixes
+
+- Sign option permissions
+- Per-gate iconomy target
+- /sg reload command
+- Other misc fixes
+
#### \[Version 0.4.0]
- - Carts with no player can now go through gates.
- - You can set gates to send their cost to their owner.
- - Per-gate layout option for "toOwner".
- - Cleaned up the iConomy code a bit, messages should only be shown on actual deduction now.
- - Created separate 'stargate.free.{use/create/destroy}' permissions.
+
+- Carts with no player can now go through gates.
+- You can set gates to send their cost to their owner.
+- Per-gate layout option for "toOwner".
+- Cleaned up the iConomy code a bit, messages should only be shown on actual deduction now.
+- Created separate 'stargate.free.{use/create/destroy}' permissions.
+
#### \[Version 0.3.5]
- - Added 'stargate.world.*' permissions
- - Added 'stargate.network.*' permissions
- - Added 'networkfilter' config option
- - Added 'worldfilter' config option
+
+- Added 'stargate.world.*' permissions
+- Added 'stargate.network.*' permissions
+- Added 'networkfilter' config option
+- Added 'worldfilter' config option
+
#### \[Version 0.3.4]
- - Added 'stargate.free' permission
- - Added iConomy cost into .gate files
+
+- Added 'stargate.free' permission
+- Added iConomy cost into .gate files
+
#### \[Version 0.3.3]
- - Moved sign update into a schedule event, should fix signs
+
+- Moved sign update into a schedule event, should fix signs
+
#### \[Version 0.3.2]
- - Updated to latest RB
- - Implemented proper vehicle handling
- - Added iConomy to vehicle handling
- - Can now set cost to go to creator on use
+
+- Updated to latest RB
+- Implemented proper vehicle handling
+- Added iConomy to vehicle handling
+- Can now set cost to go to creator on use
+
#### \[Version 0.3.1]
- - Changed version numbering.
- - Changed how plugins are hooked into.
+
+- Changed version numbering.
+- Changed how plugins are hooked into.
+
#### \[Version 0.30]
- - Fixed a bug in iConomy checking.
+
+- Fixed a bug in iConomy checking.
+
#### \[Version 0.29]
- - Added iConomy support. Currently only works with iConomy 4.4 until Niji fixes 4.5
- - Thanks @Jonbas for the base iConomy implementation
+
+- Added iConomy support. Currently only works with iConomy 4.4 until Niji fixes 4.5
+- Thanks @Jonbas for the base iConomy implementation
+
#### \[Version 0.28]
- - Fixed an issue with removing stargates during load
+
+- Fixed an issue with removing stargates during load
+
#### \[Version 0.27]
- - Fixed portal count on load
+
+- Fixed portal count on load
+
#### \[Version 0.26]
- - Added stargate.create.personal for personal stargate networks
- - Fixed a bug with destroying stargates by removing sign/button
+
+- Added stargate.create.personal for personal stargate networks
+- Fixed a bug with destroying stargates by removing sign/button
+
#### \[Version 0.25]
- - Fixed a bug with worlds in subfolders
- - Fixed gates being destroyed with explosions
- - Added stargate.destroy.owner
+
+- Fixed a bug with worlds in subfolders
+- Fixed gates being destroyed with explosions
+- Added stargate.destroy.owner
+
#### \[Version 0.24]
- - Fixed a loading bug in which invalid gates caused file truncation
+
+- Fixed a loading bug in which invalid gates caused file truncation
+
#### \[Version 0.23]
- - Added a check to make sure "nethergate.gate" exists, otherwise create it
+
+- Added a check to make sure "nethergate.gate" exists, otherwise create it
+
#### \[Version 0.22]
- - Fixed multi-world stargates causing an NPE
+
+- Fixed multi-world stargates causing an NPE
+
#### \[Version 0.21]
- - Code cleanup
- - Added a few more errors when a gate can't be loaded
- - Hopefully fixed path issue on some Linux installs
+
+- Code cleanup
+- Added a few more errors when a gate can't be loaded
+- Hopefully fixed path issue on some Linux installs
+
#### \[Version 0.20]
- - Fixed the bug SIGN_CHANGE exception when using plugins such as Lockette
+
+- Fixed the bug SIGN_CHANGE exception when using plugins such as Lockette
+
#### \[Version 0.19]
- - Set button facing on new gates, fixes weirdass button glitch
- - Beginning of very buggy multi-world support
+
+- Set button facing on new gates, fixes weirdass button glitch
+- Beginning of very buggy multi-world support
+
#### \[Version 0.18]
- - Small permissions handling update.
+
+- Small permissions handling update.
+
#### \[Version 0.17]
- - Core GM support removed, depends on FakePermissions if you use GM.
+
+- Core GM support removed, depends on FakePermissions if you use GM.
+
#### \[Version 0.16]
- - Fixed Permissions, will work with GroupManager, Permissions 2.0, or Permissions 2.1
- - Left-clicking to activate a stargate works again
+
+- Fixed Permissions, will work with GroupManager, Permissions 2.0, or Permissions 2.1
+- Left-clicking to activate a stargate works again
+
#### \[Version 0.15]
- - Built against b424jnks -- As such nothing lower is supported at the moment.
- - Moved gate destruction code to onBlockBreak since onBlockDamage no longer handles breaking blocks.
- - Removed long constructor.
+
+- Built against b424jnks -- As such nothing lower is supported at the moment.
+- Moved gate destruction code to onBlockBreak since onBlockDamage no longer handles breaking blocks.
+- Removed long constructor.
+
#### \[Version 0.14]
- - Fixed infinite loop in fixed gates.
- - Fixed gate destination will not open when dialed into.
+
+- Fixed infinite loop in fixed gates.
+- Fixed gate destination will not open when dialed into.
+
#### \[Version 0.13]
- - Fixed gates no longer show in destination list.
+
+- Fixed gates no longer show in destination list.
+
#### \[Version 0.12]
- - Implemented fixed destination block using * in .gate file. This is the recommended method of doing an exit point for custom gates, as the automatic method doesn't work in a lot of cases.
- - Split networks up in memory, can now use same name in different networks. As a result, fixed gates must now specify a network.
- - Added the ability to have a private gate, which only you can activate. Use the 'P' option to create.
- - Fixed but not AlwaysOn gates now open the destination gate.
- - Fixed gates now show their network. Existing fixed gates are added to the default network (Sorry! It had to be done)
+
+- Implemented fixed destination block using * in .gate file. This is the recommended method of doing an exit point for
+ custom gates, as the automatic method doesn't work in a lot of cases.
+- Split networks up in memory, can now use same name in different networks. As a result, fixed gates must now specify a
+ network.
+- Added the ability to have a private gate, which only you can activate. Use the 'P' option to create.
+- Fixed but not AlwaysOn gates now open the destination gate.
+- Fixed gates now show their network. Existing fixed gates are added to the default network (Sorry! It had to be done)
+
#### \[Version 0.11]
- - Fuuuu- Some code got undid and broke everything. Fixed.
+
+- Fuuuu- Some code got undid and broke everything. Fixed.
+
#### \[Version 0.10]
- - Hopefully fixed the "No position found" bug.
- - If dest > origin, any blocks past origin.size will drop you at dest[0]
- - Switched to scheduler instead of our own thread for closing gates and deactivating signs
- - No longer depend on Permissions, use it as an option. isOp() used as defaults.
+
+- Hopefully fixed the "No position found" bug.
+- If dest > origin, any blocks past origin.size will drop you at dest[0]
+- Switched to scheduler instead of our own thread for closing gates and deactivating signs
+- No longer depend on Permissions, use it as an option. isOp() used as defaults.
+
#### \[Version 0.09]
- - Gates can now be any shape
+
+- Gates can now be any shape
+
#### \[Version 0.08]
- - Gates can now consist of any material.
- - You can left or right click the button to open a gate
- - Gates are now initialized on sign placement, not more right clicking!
+
+- Gates can now consist of any material.
+- You can left or right click the button to open a gate
+- Gates are now initialized on sign placement, not more right clicking!
+
#### \[Version 0.07]
- - Fixed where the default gate is saved to.
+
+- Fixed where the default gate is saved to.
+
#### \[Version 0.06]
- - Forgot to make gates load from new location, oops
+
+- Forgot to make gates load from new location, oops
+
#### \[Version 0.05]
- - Moved Stargate files into the plugins/Stargate/ folder
- - Added migration code so old gates/portals are ported to new folder structure
- - Create default config.yml if it doesn't exist
- - Fixed removing a gate, it is now completely removed
+
+- Moved Stargate files into the plugins/Stargate/ folder
+- Added migration code so old gates/portals are ported to new folder structure
+- Create default config.yml if it doesn't exist
+- Fixed removing a gate, it is now completely removed
+
#### \[Version 0.04]
- - Updated to multi-world Bukkit
+
+- Updated to multi-world Bukkit
+
#### \[Version 0.03]
- - Changed package to net.TheDgtl.*
- - Everything now uses Blox instead of Block objects
- - Started on vehicle code, but it's still buggy
\ No newline at end of file
+
+- Changed package to net.TheDgtl.*
+- Everything now uses Blox instead of Block objects
+- Started on vehicle code, but it's still buggy
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9cdaa33..285e6f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,9 +1,10 @@
-
- 4.0.0
+
+ 4.0.0
- net.knarcraft
- Stargate
- 0.9.0.0
+ net.knarcraft
+ Stargate
+ 0.9.0.0
@@ -12,34 +13,34 @@
-
- UTF-8
+
+ UTF-81616
-
+
-
-
- spigot-repo
- https://hub.spigotmc.org/nexus/content/groups/public/
-
-
- vault-repo
- http://nexus.hc.to/content/repositories/pub_releases
-
-
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/groups/public/
+
+
+ vault-repo
+ http://nexus.hc.to/content/repositories/pub_releases
+
+
-
-
- org.spigotmc
- spigot-api
- 1.17.1-R0.1-SNAPSHOT
-
-
- net.milkbowl.vault
- VaultAPI
- 1.7
-
+
+
+ org.spigotmc
+ spigot-api
+ 1.17.1-R0.1-SNAPSHOT
+
+
+ net.milkbowl.vault
+ VaultAPI
+ 1.7
+ org.junit.jupiterjunit-jupiter-api
@@ -58,26 +59,26 @@
19.0.0compile
-
- junit
- junit
- 4.13.1
- test
-
-
+
+ junit
+ junit
+ 4.13.1
+ test
+
+
-
- src/main/java
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.6.1
-
-
- 1.8
-
-
-
-
+
+ src/main/java
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.6.1
+
+
+ 1.8
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 605386f..ebaef5b 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -38,17 +38,17 @@ gates:
maxGatesEachNetwork: 0
defaultGateNetwork: central
cosmetic:
- rememberDestination: false
- sortNetworkDestinations: false
- signColor: BLACK
+ rememberDestination: false
+ sortNetworkDestinations: false
+ signColor: BLACK
integrity:
- destroyedByExplosion: false
- verifyPortals: false
- protectEntrance: false
- ignoreEntrance: false
+ destroyedByExplosion: false
+ verifyPortals: false
+ protectEntrance: false
+ ignoreEntrance: false
functionality:
- enableBungee: false
- handleVehicles: true
+ enableBungee: false
+ handleVehicles: true
economy:
useEconomy: false
createCost: 0
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 0d3bb20..c52e5a1 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,10 +3,10 @@ main: net.knarcraft.stargate.Stargate
version: 0.9.0.0
description: Stargate mod for Bukkit
author: EpicKnarvik97
-authors: [Drakia, PseudoKnight, EpicKnarvik97]
+authors: [ Drakia, PseudoKnight, EpicKnarvik97 ]
website: https://knarcraft.net
api-version: 1.16
-softdepend: [Vault]
+softdepend: [ Vault ]
commands:
stargate:
aliases:
diff --git a/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java b/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java
index 7e767c9..f1a24cd 100644
--- a/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java
+++ b/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java
@@ -1,21 +1,20 @@
package net.knarcraft.stargate.portal;
+import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import be.seeseemelk.mockbukkit.WorldMock;
-import net.knarcraft.stargate.container.RelativeBlockVector;
import net.knarcraft.stargate.Stargate;
+import net.knarcraft.stargate.container.RelativeBlockVector;
import org.bukkit.Material;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import be.seeseemelk.mockbukkit.MockBukkit;
-
import java.util.ArrayList;
import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
public class GateLayoutTest {
private static GateLayout layout;