544384f69b
Cleans up permissions a lot and adds missing permissions to plugin.yml
...
Removes the checking of both parent and child by adding the child permissions to plugin.yml
Cleans comments in the PermissionHelper class
Renames hasPermDeep to hasPermissionImplicit as I finally understand how it's supposed to work
Adds missing unmock() to prevent test errors
Adds a ton of permissions which were mentioned in the code, but did not exist in the plugin.yml
2021-10-28 18:29:33 +02:00
3fc0e6963a
Adds tests for the material helper and adds all chest variations as button compatible
2021-10-27 20:56:56 +02:00
5c730eb613
Fixes some portal closing bugs, a NullPointerException and a typo
...
Fixes a typo in nn-no
Fixes a bug causing always-on portals not to be closed properly
Fixes a possible NullPointerException in onEntityPortalEnter
Waits for block change request on reload which makes it possible to change the open-material with just a reload
2021-10-26 16:22:20 +02:00
1c906528f2
Cleans up message logging quite a bit
...
Adds methods to Stargate for easier logging and less redundancy
Loads the language loader in two parts to make it available while loading
Adds a translated string to the reload-message
Uses String.format to make long messages more readable
Makes it possible to get strings directly from the backup language to make debugging easier
2021-10-26 15:05:05 +02:00
669767ef89
Renames RelativeBlockVector's right, depth and distance to right, down and out respectively
2021-10-24 22:48:13 +02:00
822f8fb2b5
Changes BungeeCord messages to use UUID instead of player name
2021-10-24 21:15:43 +02:00
3367d4bb76
Disables the generation of buttons on bungee portals
2021-10-23 22:17:02 +02:00
a100ad3fea
Fixes a check which broke all bungee portals
2021-10-23 22:16:36 +02:00
2541391d3e
Moves all config related code from Stargate to StargateConfig
2021-10-23 18:34:31 +02:00
b7998023f5
Moves activeTime and openTime into the StargateGateConfig
2021-10-23 14:35:07 +02:00
deba2e5c2c
Makes the stargate logger private
2021-10-23 14:25:46 +02:00
7cc8685e26
Moves all methods for sending messages to players to the MessageSender class
2021-10-23 14:10:33 +02:00
50084c40f9
Moves the Bungee Queue to BungeeHelper
2021-10-23 12:58:31 +02:00
2196d5b99e
Moves some config values from StarGate and into the StarGateConfig class
...
Renames EconomyHandler to EconomyConfig and puts it in the new config package
Moves the LanguageLoader to the config package
Fixes the explanation of chargeFreeDestination in the README
2021-10-23 03:56:59 +02:00
070e7250df
Re-draws every portal sign each time a new world is loaded to prevent weird states
2021-10-22 21:56:35 +02:00
9a0f16e558
Moves the portal owner name and owner UUID to the PortalOwner class which makes the TwoTuple unnecessary
2021-10-22 19:51:46 +02:00
485ca284b0
Extracts portal saving and loading to the PortalFileHelper class
2021-10-22 16:18:35 +02:00
4e09b44c7c
Extracts portal registration and all portal lookup to the PortalRegistry class
2021-10-21 23:59:16 +02:00
593d528bcd
Extracts the portal creation and validation part of the PortalHandler into the PortalCreator
2021-10-21 20:15:29 +02:00
cb2f7443f5
Improves comments for PortalOptions
2021-10-21 16:39:35 +02:00
8eff9ae5e6
Fixes comments for the PortalOpener class
2021-10-21 00:27:42 +02:00
4b42d4914a
Renames openTime to activatedTime, though it's kind of used for both opening and activation
2021-10-20 20:57:00 +02:00
2650e31d97
Fixes comments for the portal activator
2021-10-20 20:55:51 +02:00
d2e8c81a5a
Splits the portal class into Portal, PortalActivator, PortalOpener and PortalStructure
...
PortalStructure now contains information about the gate's physical structure, such as the location of border blocks, the location of entrances, the gate type and the button location.
PortalActivator is responsible for activating/de-activating portals, destination toggling and getting information about available destinations.
PortalOpener is responsible for opening/closing a portal. It's also the place to go for checking if the portal is open for a given player.
Comments of the Portal class have been improved, but the comments of the three new classes need fixing.
2021-10-20 16:09:35 +02:00
635d08b1b3
Makes the SignHelper helper class into the proper PortalSignDrawer which each Portal now has one instance of
2021-10-20 01:33:36 +02:00
1d4b988ca4
Moves the rest of the sign drawing code from Portal to SignHelper
2021-10-18 19:12:30 +02:00
82ed28bba0
Removes the DirectionHelper's getBlockAt method as it only increased complexity
2021-10-18 18:52:24 +02:00
0506cf1b61
Splits the PortalTeleporter into a PlayerTeleporter and a VehicleTeleporter for better structuring
...
Moves player-related teleportation code to PlayerTeleporter, moves vehicle-related teleportation code to VehicleTeleporter and makes them both extend the Teleporter which now contains all common teleportation code.
2021-10-18 18:38:36 +02:00
f4ec5e05d6
Improves sign drawing during portal loading
...
Adds "Invalid gate" to the last line of portals with an invalid or unloaded gate type
Re-draws all portals' signs on load in case some invalid portals becomes valid. This also updates any formatting
2021-10-18 18:34:35 +02:00
8c16ddbed5
Adds some tests to the relative block vector
2021-10-18 15:22:55 +02:00
27b1f0641e
Adds some block location tests
2021-10-18 14:57:12 +02:00
ac045fa7db
Fixes a severe bug caused by trying to simplify GateLayout's saveLayout method
2021-10-18 04:00:18 +02:00
982d8abf65
Extracts teleportation code into the PortalTeleporter class to improve readability
2021-10-18 03:41:16 +02:00
f96e8ed2da
Adds a method for checking if a player can afford a given fee
2021-10-18 03:36:56 +02:00
d9ae5456cc
Improves permission checking for vehicles with multiple passengers
...
Changes some log messages into debug messages
Makes sure that all player passengers of a vehicle have their permissions verified and fee paid. This ensures passengers won't get a free ride, or be allowed to access restricted areas by playing stowaway.
2021-10-18 03:35:59 +02:00
fabe0dda80
Fixes inconsistencies in coloring of the portal name when drawing signs. The - is now white.
2021-10-17 22:47:27 +02:00
3de785d5ab
Improves and fixes comments for the gate layout class
2021-10-16 16:44:11 +02:00
59069d1423
Improves comments in the GateHandler class and extracts some code into GateReader
...
Moves code for reading .gate files into the GateReader helper class
Improves all comments in GateHandler where possible
Adds more helper comments
2021-10-15 22:16:02 +02:00
5299efaa86
Renames types to characterMaterialMap inside the GateHandler class
2021-10-15 19:46:25 +02:00
e2c91c1feb
Changes EconomyHandler method names to be more consistent
2021-10-15 19:25:31 +02:00
d45af537cd
Removes the unused getCorners method
2021-10-15 19:24:15 +02:00
6e658003e0
Improves Gate comments where possible
...
Renames types to characterMaterialMap
Simplifies writeConfig to a single method
2021-10-15 19:23:17 +02:00
44325eeb6a
Improves and fixes comments for listeners
...
Removes the enableBungee check in the BungeeCordListener as it should only be listening if the option is enabled anyway
Improves the checking for players teleporting from the end
2021-10-13 16:46:30 +02:00
bf7a10636e
Improves comments for Stargate events, and adds a new event for teleporting entities
...
Adds information about what events can be used for
Tries to clarify event comments where possible
Renames The StargatePortalEvent to StargatePlayerPortalEvent
Adds StargateEntityPortalEvent
Makes the StargateEntityPortalEvent trigger whenever a vehicle is teleported
Removes the unused event name for all events
2021-10-13 15:45:15 +02:00
0ab6cb52c0
Makes some small comment adjustments
2021-10-13 14:08:38 +02:00
f16a7089f4
Updates the comments for BlockLocation
2021-10-13 13:35:56 +02:00
4bdc5b6bd9
Populates default gates after migrating config to update default gates for old installations
2021-10-12 20:41:45 +02:00
0709c18e30
Adjusts height to get above slabs to an entire block as empty minecarts clipped through single slab layers
2021-10-12 03:48:13 +02:00
e14007380f
Adds proper checking and odd case catching before teleporting players through artificial end portals
...
Adds a proper permission check to make sure players are allowed to teleport through the artificial portal
Adds a teleportation back to the entrance as the teleportation event cannot be properly cancelled
Adds a proper class for storing info about the teleportation
2021-10-12 02:47:09 +02:00
53cd55938b
Fixes teleportation of players using end portals to and from the end
2021-10-12 01:11:52 +02:00
51afa1527f
Updates the API version used as 1.16 is no longer the target version
2021-10-11 20:16:36 +02:00
72c1b5a239
Updates About information
2021-10-11 20:13:50 +02:00
06757ef9ee
Removes debug output for chunk unloading
2021-10-11 01:20:50 +02:00
9efc960696
Makes sure to check entrance blocks when, and only when, protectEntrance is enabled
2021-10-11 00:11:04 +02:00
1bf9914c39
Generifies another vehicle check
2021-10-11 00:03:49 +02:00
05123d54bd
Generifies the check for non-living vehicles just in case
2021-10-10 23:38:20 +02:00
2e4d545955
Changes the vehicle check to prevent players in boats from leaving their boat to teleport
2021-10-10 23:17:29 +02:00
f8fae1fbf1
Makes sure to ignore mounted players if handleVehicles is disabled
2021-10-10 23:11:52 +02:00
964eb0f898
Adds a new The End- inspired gate for more default diversity
2021-10-10 23:03:39 +02:00
38ea543b80
Improves chunk unloading
...
Adds all chunk unloading to a queue
Adds a thread which unloads chunks
Updates chunk unload requests such that a chunk won't be unloaded twice,
and an old unloading request cannot unload a chunk too soon
2021-10-10 22:33:30 +02:00
69a62c921c
Fixes the color inconsistency for the portal selection "arrows" for gates with colored names
2021-10-10 17:21:19 +02:00
b847002617
Adds some small changes which seem to completely fix all horse teleportation bugs. Fixes #1
2021-10-10 17:15:00 +02:00
6ad7fa4cb9
Removes the IllegalStateException Removing entity while ticking! TODO as it seems to have been fixed by preventing portal creation
2021-10-10 16:14:51 +02:00
2abe10bcde
Improves the way chunks are loaded, and decreases the wait time before players are put into minecarts
2021-10-10 15:10:36 +02:00
7a9dbb8046
Implements some Java 14 code migrations
2021-10-09 23:41:19 +02:00
be8de83bcc
Forces a teleported horse to become tamed
2021-10-09 18:48:59 +02:00
ba3304a716
Fixes a minecart rotation bug caused by changing the rotation of the deleted vehicle instead of the new one
2021-10-09 17:03:19 +02:00
051a6b8f98
Removes the temporary ignoreEntrances option and replaces it with proper snowman blocking. Fixes #3
...
Allows new gates to contain water as underwater gates are a thing now
Adds a check to prevent snowmen from placing snow inside a portal's entrance
Removes the ignoreEntrances option everywhere
2021-10-09 15:09:14 +02:00
f87ffc906c
Minor comment and formatting cleanup
2021-10-09 03:57:24 +02:00
2fec641d9d
Fixes typos
2021-10-08 23:23:06 +02:00
0c29788a31
Fixes the behavior of backwards portals
...
Fixes a bug where backwards portals only rotated the player
Fixes the rotation being wrong when teleporting from a backwards portal
2021-10-08 18:59:14 +02:00
fff4d8d78b
Gets rid of the rest of the modX and modY usages, and removes some unused code
2021-10-08 18:23:42 +02:00
6d5c4802bc
Creates some new methods to get a location from a relative location which I can actually understand
2021-10-08 15:28:12 +02:00
e7fc1daafe
Moves functionality to the PortalOptions and PortalLocation classes
2021-10-08 01:26:12 +02:00
60c543e52a
Adds a new class for keeping track of portal options
2021-10-08 01:25:25 +02:00
76b2aab057
Tries to improve readability of the portal creation code
2021-10-06 19:46:34 +02:00
201f7eaf15
Adds a class for storing a portal's location data
2021-10-06 19:45:49 +02:00
d86aae87f3
Extracts portal creation validation into its own method
2021-09-25 13:52:00 +02:00
e4f71f1b71
Extracts some portal creation code into separate methods
2021-09-25 13:22:50 +02:00
7dcf050d96
Removes a function for checking if a control block is powered as it's never used
2021-09-25 12:46:59 +02:00
8ada84ddb3
Improves an error message
2021-09-23 18:21:15 +02:00
98cee192aa
Fixes some behavior when a language is valid, but the language file does not exist
2021-09-23 18:12:57 +02:00
650a26402a
Moves all config migration mappings to its own file
2021-09-23 17:50:43 +02:00
461202503e
Adds migration for useiconomy and CheckUpdates which were found in old config files
2021-09-22 13:52:22 +02:00
dd7176fa12
Adds config migration to reduce annoyance and improve backwards compatibility
2021-09-22 13:42:21 +02:00
b7c7252fad
Improves the differentiation between portals (stargates) and gates
2021-09-21 18:28:18 +02:00
24af26324a
Renames some methods to prevent confusion
2021-09-20 19:23:57 +02:00
f2579c4b12
Adds back default constructor as removing it caused it to no longer load
2021-09-20 18:52:16 +02:00
1e29db58b9
Improves some variable names and adds some comments
2021-09-20 18:22:20 +02:00
d24f35375a
Changes the default folders to prevent problems on Unix systems
2021-09-20 18:21:26 +02:00
f681db629f
Refactors a lot of code, and extracts permission-related functions to the PermissionHelper class
2021-09-20 13:56:30 +02:00
b57f988b62
Improves formatting for some files
2021-09-20 13:48:03 +02:00
f12306426b
Renames strings in onCommand to args for consistency
2021-09-20 13:46:20 +02:00
8ff30ed03f
Improves config readability, but breaks backwards compatibility
2021-09-19 17:46:20 +02:00
d5e6f1145c
Removes unused getBalance method
2021-09-19 15:06:41 +02:00
8835e69e3c
Moves some code from Stargate to EconomyHandler
2021-09-19 15:05:19 +02:00
b191ac1de5
Moves some classes to the new container package, and improves some code
2021-09-18 21:51:29 +02:00
4851a0b5e2
Only gets vehicle exit world when it's actually used
2021-09-16 21:31:32 +02:00
e253e95cec
Minor function cleaning
2021-09-12 15:23:22 +02:00
c35378cfe0
Improves pre-teleport chunk loading
2021-09-12 06:18:20 +02:00