45 Commits

Author SHA1 Message Date
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
2541391d3e Moves all config related code from Stargate to StargateConfig 2021-10-23 18:34:31 +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
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
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
fabe0dda80 Fixes inconsistencies in coloring of the portal name when drawing signs. The - is now white. 2021-10-17 22:47:27 +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
e2c91c1feb Changes EconomyHandler method names to be more consistent 2021-10-15 19:25:31 +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
69a62c921c Fixes the color inconsistency for the portal selection "arrows" for gates with colored names 2021-10-10 17:21:19 +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
650a26402a Moves all config migration mappings to its own file 2021-09-23 17:50:43 +02:00
b7c7252fad Improves the differentiation between portals (stargates) and gates 2021-09-21 18:28:18 +02:00
1e29db58b9 Improves some variable names and adds some comments 2021-09-20 18:22:20 +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
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
87735e4935 Adds some helper functions to make getting direction-related values easier
Adds a function for getting the yaw given two locations
Adds a function for getting a block face given a yaw
2021-09-11 15:04:55 +02:00
da32cf11d1 Fixes some things regarding vehicle teleportation
Adds extra space between the portal and the vehicle if the destination portal is always on
Fixes a bug causing vehicles not being detected soon enough
Fixes boats facing into the portal rather than out from the portal
Fixes boats spawning inside water rather than on top of it if water is in front of a portal
2021-02-27 22:34:10 +01:00
79703e49af Adds a class which helps with modZ and modX calculations 2021-02-27 21:15:39 +01:00
496b5d9779 Moves sign drawing to a helper class to reduce the complexity of the portal class 2021-02-24 18:12:26 +01:00
4acea17ba3 Fixes boats sometimes not detecting the portal before the player detects the portal 2021-02-23 19:43:49 +01:00
e5fef0b16a Moves the EconomyHandler to utility and adds some encapsulation for three of its variables 2021-02-22 20:26:10 +01:00
fb70b8bc75 Splits Gate into Gate, GateLayout and GateHandler, and creates a new portal package with portal related classes 2021-02-22 17:01:47 +01:00
1721750aa1 Adds comments and simplifies some of the code
Adds a PortalOption enum to simplify portal options
Adds a BungeeHelper class to collect the bungee-related code
2021-02-20 13:57:04 +01:00
42fa6ed8d7 Huge refactoring
Splits Portal into Portal and PortalHandler
Adds EconomyHelper to make messaging of economy string easier
Adds a lot of missing comments
Adds vehicle teleportation again, but it needs a lot of changes to work properly
2021-02-12 00:26:47 +01:00
1719e92494 Moves a bunch of inner classes to their own files 2021-02-11 15:53:54 +01:00