Commit Graph

455 Commits

Author SHA1 Message Date
7a03f49fb1 Translates the & character to make sure portal signs are colored on all servers 2021-11-09 22:47:38 +01:00
1c2cad2ec1 Updates version to 0.9.1.0, updates README and adds a permission for changing config values
Adds the stargate.admin.config permission, which is required to use /sg config
2021-11-09 21:16:53 +01:00
b4d908eaa0 Improves tab completion for Stargate commands by taking into account typed text
Sends tab completion for the config command to the config tab completer
2021-11-09 20:58:55 +01:00
8546fd4f78 Fully implements the config command 2021-11-09 20:57:06 +01:00
05328fc456 Adds a tab completer for the config sub-command 2021-11-09 20:56:43 +01:00
aba70b669e Adds a method to be able to read config options 2021-11-09 18:21:25 +01:00
d5f4b87e9b Changes how config values are loaded by using the ConfigOption class 2021-11-09 15:40:10 +01:00
85edaa4657 Adds a new class to represent a data type usable by configs 2021-11-09 15:38:42 +01:00
7c501cefe8 Gives all config options data types to make loading config values work properly 2021-11-09 15:38:10 +01:00
6466c7b0ff Adds the config command to the stargate auto completer
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
Additionally makes the reload command only auto-complete if the command sender can use it
2021-11-09 02:04:59 +01:00
37cf75ada1 Adds the config command as a child to the Stargate command 2021-11-09 02:01:58 +01:00
1ca2d36f5f Adds an unfinished implementation of the config command, which is only able to display config options for now 2021-11-09 02:01:11 +01:00
01b2907b01 Adds an enum containing information about all config options 2021-11-09 01:59:54 +01:00
94b9848b70 Updates version and README
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-08 15:17:29 +01:00
2a17714e8d Makes sure to only remove buttons from always-on portals if the block is a type of button 2021-11-08 15:16:51 +01:00
901f9c555c Prevents the sign location of a portal with no sing from being added to lookup blocks and controls 2021-11-08 15:15:58 +01:00
1efd89cdb0 Makes sure to not display portal information when placing a block 2021-11-08 15:14:21 +01:00
88bb02dfbd Adds translation for portal information shown when right-clicking
Adds a distinction between network and server when displaying portal information
Adds translated portal info strings for english and both flavors of Norwegian
2021-11-08 14:16:44 +01:00
4db6274dc3 Fixes underwater signs and buttons being replaced with AIR instead of water 2021-11-08 01:34:18 +01:00
9c963c9e8c Renames Portal to Stargate when displaying information about a clicked portal
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-07 14:02:33 +01:00
fc744b04dc Adds an option for a stargate without a sign #10 2021-11-07 13:41:19 +01:00
1565707809 De-activates an unregistered portal to prevent its sign to be re-drawn if destroyed while activated 2021-11-07 13:40:12 +01:00
527562bc60 Fixes code formatting 2021-11-07 04:29:25 +01:00
7f91808baf Adds a new default stargate to display the possibility of using several border materials 2021-11-07 04:26:23 +01:00
0540498818 Moves the drawing of unregistered signs to the portal sign drawer 2021-11-07 04:04:14 +01:00
5f2d7988e2 Fixes button updating
Fixes a bug causing signs to be removed
Makes the old button properly disappear
Saves the portal database(s) to store the new button location if necessary
2021-11-06 18:08:01 +01:00
ac25f2747f Adds String.format to some debug strings 2021-11-06 18:06:00 +01:00
aa3bb58b33 Fixes some bugs regarding sign drawing and button updating
Fixes a bug displaying a portal as usable even if it's been unregistered
Fixes a bug which causes the portal button to be re-generated, even if the portal has been unregistered
2021-11-06 15:33:06 +01:00
ee0e66e9be Fixes the order in which the portal's button is updated to fix one of the bugs in #15
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-06 14:49:56 +01:00
f90a09143f Makes sure to also clear bungee portals when clearing portals 2021-11-06 04:10:15 +01:00
8c4cf16375 Adds an option for silent stargates which don't print teleportation messages or errors to the player's chat #7 2021-11-05 23:39:18 +01:00
4566c15350 Updates version to 0.9.0.6 and updates README 2021-11-05 21:43:38 +01:00
0297d62d6d Sets the always on option to true for bungee portals and removes some unnecessary checks 2021-11-05 21:40:06 +01:00
80ff241d4b Makes stargates' buttons update when portals are loaded #14 2021-11-05 21:38:33 +01:00
f3292cff99 Makes containers used as buttons no longer open when right-clicked 2021-11-05 19:21:27 +01:00
8c37b11484 Increases the delay before setting the leash holder for teleported creatures as they sometimes got stuck
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-05 14:04:24 +01:00
e0ac9b41e7 Adds some sub-packages to the portal package to improve logical structure
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-04 00:07:03 +01:00
e5c1ad1f3a 0.9.0.5 - Adds three new options to disable features of vehicle teleportation with more granularity #9
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-03 15:55:56 +01:00
3c4d10ae3f Updates changelog and version to 0.9.0.4 2021-11-01 18:49:05 +01:00
aff0082906 Adds a config option to disable leashed creatures from teleporting with a player 2021-11-01 18:44:10 +01:00
20c3c93c06 Adds a few fixes which seem to make leash teleportation work as expected
Un-leashes and re-leashes teleported leashed entities
Delays leashed creature teleportation and the re-leashing to prevent odd behavior such as infinite leash or no-ai creature
2021-11-01 17:54:38 +01:00
dab9378a67 Merge branch 'master' into leashed-teleportation 2021-11-01 17:05:34 +01:00
62661f65f4 Updates info and version to 0.9.0.3
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
2021-11-01 16:32:56 +01:00
b8d98c26d4 Adds triggers for teleporting leashed entities 2021-11-01 16:28:13 +01:00
8bb9c464d6 Adds some code for teleporting creatures leashed by a player 2021-11-01 16:27:29 +01:00
2b5d791581 Adds the EntityTeleporter for generic teleportation of entities 2021-11-01 16:26:46 +01:00
2a61480684 Adds UUID fetching on player join. See #12
Whenever a player joins, their names will be checked against a map containing all names which need to be migrated to UUID. All portals the player has created which still use the player name will be updated.
2021-11-01 15:13:22 +01:00
91a0316e6e Adds a missing insufficient funds message when checking if vehicle passengers can pay for the teleportation 2021-11-01 13:54:31 +01:00
b98aec4a20 0.9.0.2 Fixes a bug in the code to prevent nether portals from generating in the nether 2021-11-01 00:38:36 +01:00
89956cf359 Updates the plugin version in plugin.yml 2021-10-31 19:51:33 +01:00
99f8a92857 Adds a highlightSignColor option and fixes some color inconsistencies
Makes all characters used for highlighting/marking use the highlighting color
Adds a new config option for highlighting color
Renames signColor to mainSignColor and adds the change to the config-migrations.txt file
2021-10-31 18:08:58 +01:00
01df8db0bf Moves config loading to finisSetup() to prevent a NullPointerException 2021-10-31 18:05:04 +01:00
d754247455 Makes some smaller changes
Some checks failed
EpicKnarvik97/Stargate/pipeline/head There was a failure building this commit
Replaces the mystery code in sendMessage with translateAlternateColorCodes and removes the TODO
Removes the TODO in deactivate() as it is actually necessary because fixed portals are always active
Moves conflictsWithExistingGate to PortalCreator and removes the TODO for now
Removes the extra spaces in >Random<
Adjusts some comments
Adds missing information about Economy and the requirement of UUIDs
2021-10-31 14:05:06 +01:00
50c446f9d9 Adds package JavaDoc to help anyone who wants to use the Stargate API 2021-10-29 21:19:24 +02:00
56bf51f370 Adds missing JavaDoc 2021-10-29 18:43:22 +02:00
56ed0495b0 Removes the last of the unprotected variables from Stargate
Makes all classes use getInstance() to get a Stargate instance
Removes the server variable as it's not needed
2021-10-29 18:35:20 +02:00
0237f45046 Renames activatedTime to triggeredTime and makes some public fields private
Makes the active portals queue and open portals queue and languageLoader fields private
Cleans the StargateThread a bit
Renames activatedTime to triggeredTime as the dual use (open and activate) made the name confusing
2021-10-29 17:22:58 +02:00
5d84e1d78a Changes some sign coloring and adds some missing info to the readme
Makes the Disconnected message red
Makes the highlighting characters (><) white when cycling stargate destinations
Moves markPortalWithInvalidGate to PortalSignDrawer
Adds missing translation strings for reloaded and signInvalidGate to the readme
Moves some extra spacing around the >< characters
2021-10-29 16:05:23 +02:00
f52ba79ae9 Splits the preventExitSuffocation method and improves some more comments 2021-10-29 15:08:44 +02:00
945798916b Removes an unnecessary portal close statement after teleporting a player through BungeeCord 2021-10-29 15:07:45 +02:00
f0e5cd45a4 Adds some minor style improvements 2021-10-29 01:46:15 +02:00
487cb3ad9e Adds missing info about Bungee-related permissions to the readme and adjusts permissions a bit
Adds stargate.server and stargate.admin.bungee permissions to the readme
Renames stargate.reload to stargate.admin.reload for better consistency
Makes the stargate.admin permission only give the reload, hidden, private and bungee permissions while the wildcard permission gives all permissions
2021-10-29 01:45:50 +02:00
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