Commit Graph

334 Commits

Author SHA1 Message Date
b4059dd169 Adds an event listener to prevent the nether portal stargates from creating actual nether portals 2021-09-10 23:35:27 +02:00
a86a5de8c3 Fixes the bug with teleporting horses, but introduces a bug with teleporting minecarts 2021-09-10 21:32:58 +02:00
8ae4ac3fc7 Makes sure to only try and create the portal folder if it does not exist 2021-09-09 15:42:30 +02:00
3ac6270897 Merge branch 'master' into vehicles 2021-09-09 15:26:25 +02:00
daa3c6f868 Cleans up a bit and changes to compile for java 16 and spigot 1.17 2021-09-09 15:25:08 +02:00
75fbd44af7 Removes an s in class name of PlayerEventsListener 2021-09-02 00:31:03 +02:00
0fe2a5b380 Adds some more fixes and improvements for vehicle teleportation 2021-06-11 20:46:14 +02:00
b1aa53c1a9 Adds missing comments to BlockPopulatorThread and make end gateways teleport entities back to itself to prevent strange behavior
Because of the teleport change, end gateways work to teleport player,
and end gateways work to the end for vehicles, but vehicles cannot teleport back from the end
2021-03-02 17:55:14 +01:00
44dfa2a10d Greatly refactors gate loading 2021-02-28 21:53:27 +01:00
504ef1b52f Adds remaining missing comments to Portal 2021-02-27 22:50:44 +01: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
ba64572254 Adds more comments, simplifies some code and improves positioning of teleported large entities, like horses 2021-02-27 21:17:36 +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
378a59586d Heavily simplifies sign drawing and cleans up vehicle teleportation code 2021-02-24 17:48:01 +01:00
2b52759e00 Makes sure teleportation not from a plugin does not trigger vehicle teleportation 2021-02-24 17:45:53 +01:00
4acea17ba3 Fixes boats sometimes not detecting the portal before the player detects the portal 2021-02-23 19:43:49 +01:00
5f685b2460 Fixes some oddities regarding vehicle teleportation
Accounts for size when blocking an entity near a portal from teleporting to the nether
Ignores boats and minecarts when teleporting a vehicle after the player
Makes it easy to get a portal by adjacent entrance for any given range
2021-02-23 19:17:05 +01:00
681014a431 Improves some code formatting in the portal open method 2021-02-23 00:35:48 +01:00
af693bddd2 Fixes the timing of the block populator thread which caused a delay between opening a gate and it displaying as open 2021-02-23 00:35:18 +01:00
151c242e69 Changes names of some variables and one method to increase readability 2021-02-22 20:36:37 +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
e665a49f03 Adds missing comments to Gate and changes the matches function from n^2 to n execution time 2021-02-22 20:25:07 +01:00
279ea9d8f0 Fixes some nullpointerexceptions in PlayerEventsListener's onPlayerMove 2021-02-22 20:23:12 +01:00
d26196b8aa Adds some extra explanations to gate layout's description 2021-02-22 18:34:23 +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
c422cb9ea9 Overrides toString and equals methods of the relative block vector to make it testable 2021-02-22 15:49:44 +01:00
a475e8d8b1 Adds missing comments to the world event listener and adds faster gate unloading
Replaces the clear all + load all with a method which just removes all
relevant portals directly. This should be faster, especially with many gates and worlds
2021-02-20 16:21:18 +01:00
1d642bfcf2 Adds missing comments to the vehicle event listener 2021-02-20 14:59:59 +01:00
1da0f4eddc Adds comments to the plugin event listener 2021-02-20 14:55:23 +01:00
889a9d2cbc Finishes commenting and refactoring the player events listener 2021-02-20 14:42:41 +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
2ae4fc9645 Adds class comment to the stargate tab completer 2021-02-19 12:07:34 +01:00
c912624df1 Adds comments to all custom events
Adds full comments to every class implementing StarGateEvent
Adds another abstract event StargatePlayerEvent which reduces code duplication
2021-02-19 12:06:23 +01:00
5b7f5649b1 Makes a whole lot of changes
Adds some new tests
Improves plugin command handling by using one class for each command
Makes some changes to vehicle teleportation to support horses and pigs, but vehicle teleportation is still buggy and messy
Adds some more missing comments
Adds a wildcard permission and uses built-in permissions some places to avoid checking for three different permissions
2021-02-16 21:58:31 +01:00
df074b9ff5 Adds an entity portal event listener which fixes the infuriating bug which caused empty minecarts to disappear into the nether 2021-02-12 01:35:55 +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
c41429b6e0 Makes default gates load from files rather than being defined in code 2021-02-10 14:32:01 +01:00
d472eab21b Adds two gate types to resources 2021-02-10 14:30:30 +01:00
095e59c65e Makes it easier to use any compatible block as a button 2021-02-10 03:29:28 +01:00
7b9f5a6de5 Adds underwater portal support using any wall coral as a button replacement 2021-02-10 02:20:50 +01:00
e49b94cf9a Adds a class for helping to decide if a material is a wall coral (dead or alive) 2021-02-10 02:19:48 +01:00
a8c0574f3b Adds other authors to plugin.yml 2021-02-10 02:17:49 +01:00
f0a7ff8c47 Adds more BlockLocation tests 2021-02-09 23:25:52 +01:00
32410a82ba Adds some tests for the equals method of BlockLocationTest 2021-02-09 21:12:43 +01:00
b6d18a4217 Adds an extra constructor to Stargate required for testing 2021-02-09 21:12:04 +01:00
5a9d70f827 Adds a warning against treating BlockLocation as a Location 2021-02-09 20:38:50 +01:00
a5cf1a7cd3 Improves translation rate of info and error strings 2021-02-09 20:10:17 +01:00
af6a2537b8 Adds more information regarding why economy could not be enabled 2021-02-09 20:09:49 +01:00
cdae2d8f35 Adds language strings related to loading Vault 2021-02-09 20:08:40 +01:00
9ace568047 Fixes garbled text caused by writing, but not reading language files as UTF-8 2021-02-09 20:07:56 +01:00
5a8e8a219e Replaces several static strings with strings from the language files 2021-02-09 18:47:54 +01:00
3521257cb2 Adds some vault related strings to the english language file 2021-02-09 18:46:55 +01:00
b9cbe9ee4c Makes Vault a soft dependency 2021-02-09 18:46:30 +01:00
e702a0d734 Tidies up and comments the economy handler and removes the depreciated method of getting an offline player by username 2021-02-08 14:30:14 +01:00
f97cb32466 Improves messages for the language loader 2021-02-08 14:27:53 +01:00
4f5cb84d02 Improves error handling when unable to load a language and always uses english as backup language to make sure the plugin won't crash when an invalid language is chosen 2021-02-08 05:10:10 +01:00
341a445d16 Fixes language file formats, fixes name of Norwegian Bokmål and adds Norewgian Bokmål 2021-02-08 05:07:35 +01:00
df111c2750 Adds Norwegian translation 2021-02-08 01:54:18 +01:00
6825266a92 Fixes a bug caused by BlockLocation not being able to be instantiated from a location object 2021-02-08 00:35:34 +01:00
6d6a7e52b2 Renames usages of BungeeCoordListener to BungeeCordListener 2021-02-08 00:33:55 +01:00
6e1a69881c Cleans, comments and renames BungeeCordListener 2021-02-08 00:32:58 +01:00
9233776b2c Adds comments to BloxPopulator 2021-02-08 00:32:20 +01:00
27aa0ed29d Removes a function from BlockLocation present in Location which caused an infinite loop 2021-02-08 00:31:53 +01:00
4e3867eae9 Simplifies BlockLocation by making it extend Location 2021-02-07 16:58:33 +01:00
ad2be87404 Cleans and commments the BlockLocation class by storing most of its information as a Location 2021-02-07 16:37:42 +01:00
a268370f52 Updates plugin version to 0.9 2021-02-07 16:34:13 +01:00
c8d82a8575 Removes CommonFunctions as it wasn't used 2021-02-07 16:33:45 +01:00
6ff998ac3b Restructures the plugin and starts work on cleaning and commenting the code 2021-02-07 03:37:25 +01:00
Michael Smith
188f27d419
8.0.3 release 2020-10-18 00:53:49 -07:00
Michael Smith
2628553627
Add custom buttons for gates (Closes #7) 2020-10-18 00:53:38 -07:00
Michael Smith
457d004abd
Fix economy support (Closes #8) 2020-10-18 00:45:02 -07:00
Michael Smith
2bad9ec73d
8.0.2 release 2020-09-04 08:04:31 -07:00
Michael Smith
9f71eeb08b
Add color code support in lang files (Fixes #5) 2020-09-01 05:10:22 -07:00
Michael Smith
654ddefb6e
Fix player relative yaw when exiting portal (Fixes #4) 2020-08-28 02:51:25 -07:00
Michael Smith
4c5ffed531
Bump version to 8.0.2-SNAPSHOT 2020-08-26 01:48:03 -07:00
Michael Smith
64092457a8
8.0.1 release 2020-08-23 22:22:43 -07:00
Michael Smith
3854b15903
Disable verifyPortals in default config.
The verifyPortals option can use a lot of resources on 1.14+ servers when there's a lot of portals.
2020-08-23 22:17:03 -07:00
Michael Smith
fece9d720a
Use StandardCharsets 2020-08-23 22:14:37 -07:00
Michael Smith
ae40b01161
Add null checks for Nullables 2020-08-23 22:10:59 -07:00
Michael Smith
b74ead594f
Add final keywords 2020-08-23 22:09:15 -07:00
Michael Smith
88642327e3
Update slab check for portal exits 2019-09-29 07:52:40 -07:00
Michael Smith
22b461e7b4
Fail earlier when loading a gate configuration with invalid materials 2019-09-29 07:52:17 -07:00
Michael Smith
a182a18ee9
Bump version to 8.0.1-SNAPSHOT 2019-09-29 07:52:09 -07:00
Michael Smith
8499e1db0d
8.0.0 release 2019-09-13 03:33:03 -07:00
Michael Smith
a594b6daeb
Support UUIDs for owners, with a fallback to player names 2019-09-13 03:31:00 -07:00
Michael Smith
4c7c284411
Fix nether portal rotation 2019-09-13 03:26:13 -07:00
Michael Smith
b5072ca886
Fix creating language file on first startup 2019-09-13 03:24:59 -07:00
Michael Smith
8b6b6d3aa1
Only manage a world if it has Stargates 2019-07-08 01:28:49 -07:00
Michael Smith
02f9b293c0
Further improve startup times in 1.14 when not verifying existing portals (verifyPortals: false) 2019-06-27 06:47:03 -07:00
Michael Smith
31cc911a9a
Add support for 1.14 2019-06-20 23:44:37 -07:00
PseudoKnight
f07aac9907 Update to 1.13.
Adds "verifyPortals" config option, which sets whether a stargate layout is verified when it is loaded. This can be used if, for example, the material ids in your previous gate layouts cannot match new material names, but you don't want existing stargates to break. Or if you want to change a stargate design with something like WorldEdit after it's built.
2018-08-27 05:25:13 -07:00
PseudoKnight
9c36596cca Ignore metadata and fix material name matching 2018-05-26 14:27:42 -07:00
PseudoKnight
57684b2645 Don't force nethergate.gate to exist 2018-05-26 14:23:46 -07:00
PseudoKnight
f8e95eacbe Change gate configuration to use Material names 2018-05-23 16:27:48 -07:00
PseudoKnight
624c9b52d7 Code cleanup 2018-05-23 15:03:44 -07:00
PseudoKnight
3be9124344 Various updates 2017-06-19 23:35:08 -07:00
PseudoKnight
cbee91bbf3 Remove right-click workaround 2016-10-02 15:18:33 -07:00
PseudoKnight
4c04149906 Bumped to 0.7.9.11 2015-01-27 04:08:55 -08:00
PseudoKnight
e64f6da793 Fixed Metrics support for 1.7.10 2015-01-27 04:05:43 -08:00
PseudoKnight
0101a3de24 Updated Economy Handling
- Remove iConomy support
- Updated Vault support to 1.5
- Changed "useiconomy" setting to "useeconomy"
2015-01-27 04:05:05 -08:00
Steven Scott
2b8f99c796 [Version 0.7.9.10]
Fix permission check for personal gates
2013-03-16 10:57:06 -07:00
Steven Scott
6c044ec82e Remove permissions support 2013-03-10 14:07:38 -07:00
Steven Scott
5d28fab1d2 Update plugin.yml and README 2013-03-10 13:24:18 -07:00
Steven Scott
2ee9e53fe0 Resolve issue with buttons not staying on Glowstone 2013-03-10 13:01:58 -07:00
Steven Scott
202c7f3d55 Move the Bungee check to after gate layout check 2013-03-03 21:19:04 -08:00
Steven Scott
30fe7f4414 [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.
2013-02-12 21:32:44 -08:00
Steven Scott
cf5c4849b9 Oops, I broke portal material 2013-02-12 20:15:10 -08:00
Steven Scott
37243b569e Oops, I broke water gates 2013-02-03 21:43:41 -08:00
Steven Scott
4bac9dcd11 Remove BlockPhysics, it was a waste of CPU 2013-02-03 21:12:25 -08:00
Steven Scott
7b00e6fefd Update to be compatible with the latest build of BungeeCord 2013-02-03 21:00:06 -08:00
Steven Scott
1c58184656 Update Metrics. Remove custom sign class. Stupid Bukkit 2012-12-09 12:59:44 -08:00
Steven Scott
422b30d54e [Version 0.7.9.1]
- Optimize gate lookup in onPlayerMove
 - Resolve issue where Stargates would teleport players to the nether
2012-12-01 11:54:02 -08:00
Steven Scott
921d289fc2 Remove debug output from pmListener 2012-11-25 10:37:23 -08:00
Steven Scott
ba44fbf4f2 Don't handle SGBungee messages if enableBungee is false 2012-11-25 10:34:57 -08:00
Steven Scott
5aec85da3e Allow changing enableBungee with /sg reload
Fix issue where custom entries in lang files were removed on load
2012-11-24 17:52:04 -08:00
Steven Scott
d464a16e38 Fix a few edge cases with Bungee gates 2012-11-24 15:58:47 -08:00
Steven Scott
ac520665e6 [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/
2012-11-24 15:42:57 -08:00
Steven Scott
fc73e1fbda Update Hungarian lang file 2012-09-18 21:01:48 -07:00
Steven Scott
968730db2d [Version 0.7.8.1]
- Resolve issue of language file being overwritten as ANSI instead of UTF8
2012-09-18 21:00:58 -07:00
Steven Scott
df12336c41 Add portal.setOwner() API 2012-09-16 16:30:25 -07:00
Steven Scott
de7134f0a4 [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, doesnt 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 (Its the only language I can personally update on release)
 - Added Spanish (Thanks Manuestaire) and Hungarian (Thanks HPoltergeist)
2012-09-16 16:11:19 -07:00
Steven Scott
d3834c5709 [Version 0.7.7.5]
- Resolve issue of right clicking introduced in 1.3.1/2
2012-09-11 21:49:50 -07:00
Steven Scott
9e784c0eaf [Version 0.7.7.4]
- Removed try/catch, it was still segfaulting.
 - Built against 1.3.1
2012-08-04 12:19:53 -07:00
Steven Scott
9928b8718f Added all language packs to JAR 2012-05-11 16:27:03 -07:00
Steven Scott
b9ba01031e Random tweaks for permissions 2012-05-11 16:24:29 -07:00
Steven Scott
b3e84ae958 [Version 0.7.7.0]\
- Added Random option - This still follows the permission rules defined for normal gate usage\
- Added a bit more debug output
2012-05-09 19:05:20 -07:00
Steven Scott
9ef67b2cce Reload all gates on world unload, this stops gates with invalid destinations being in memory. 2012-04-26 20:15:23 -07:00
Steven Scott
49120b1f8d ' 2012-04-21 18:35:13 -07:00
Stefan Bossbaly
5a872f3c86 Check to see if the events are canceled for onPlayerMove() and onPlayerInteract()
Make sure that the events are not canceled. Region protection plugins will cancel
events if a player is not authorized to be there.
2012-04-21 22:17:12 -03:00
Steven Scott
8ad6ab57ad Update version number, oops 2012-03-31 10:50:19 -07:00
Steven Scott
cfd059d24c [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)
2012-03-31 10:49:58 -07:00
Steven Scott
9b81b6191b [Version 0.7.6.4]
- Move blockBreak to HIGHEST priority, this resolves issues with region
protection plugins
2012-03-29 21:18:04 -07:00
Steven Scott
7655989ddc [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
2012-03-27 20:33:18 -07:00
Steven Scott
5046af37a0 [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.
2012-03-26 21:00:08 -07:00
Steven Scott
5beed6a712 Update config.yml to have descriptions in header only 2012-03-18 16:45:39 -07:00
Steven Scott
13c9f174c6 Allow changing of sign colors 2012-03-18 16:40:02 -07:00
Steven Scott
dcc978a07e Resolve issue with explosion cancelling leaving invalid gates (Data
values)
Check blockBreakEvents for gate entrance blocks is protectEntrance is
enabled (More intensive than regular check. Only enable if required)
2012-03-18 16:12:01 -07:00
Steven Scott
b63faca109 More API changes for StargateCommand 2012-03-14 23:24:34 -07:00
Steven Scott
88b30b3579 API changes for StargateCommand 2012-03-14 21:57:54 -07:00
Steven Scott
4367e3a36a [Version 0.7.6]
- Moved gate opening/closing to a Queue/Runnable system to resolve
server lag issues with very large gates
2012-03-10 16:17:29 -08:00
Steven Scott
f898e1f00c [Version 0.7.5.11]
- PEX now returns accurate results without requiring use of the bridge.
- We are now LGPL
2012-03-09 23:27:34 -08:00
Steven Scott
1ba8c723de [Version 0.7.5.10]
- Added sortLists options
2012-03-06 07:18:59 -08:00
Steven Scott
7ba6eeee6b [Version 0.7.5.9]
- Quick event fix for latest dev builds
 - Fix for sign ClassCastException
2012-03-04 11:30:26 -08:00
Steven Scott
bfcdd212c4 [Version 0.7.5.8]
- Fixed an exploit with pistons to destroy gates
[Version 0.7.5.7]
 - Removed SignPost class
 - Resolved issues with signs in 1.2
2012-03-04 00:15:49 -08:00
Steven Scott
3ff6b8b253 [Version 0.7.5.6]
- Quick update to the custom event code, works with R5+ now.
2012-02-22 19:11:50 -08:00
Steven Scott
f33586ced8 I'm tired of having to work around PEX's screwed up logic. As of this
update a warning is issued if PEX is found without the Permissions
Bridge, I will no longer be offering support for PEX.

[Version 0.7.5.5]
 - 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
2012-02-12 00:19:58 -08:00
Steven Scott
f676e2520f [Version 0.7.5.3]
- Added another check for Perm bridges.
2012-02-05 14:56:58 -08:00
Steven Scott
9f76acbc17 [Version 0.7.5.2]
- Make sure our timer is stopped on disable
 - Move Event reg before loading gates to stop portal material vanishing
2012-02-05 12:36:40 -08:00