Commit graph

574 commits

Author SHA1 Message Date
DoctorMacc
427f4ef83d Merge master into Spigot rename 2020-06-21 16:21:47 -04:00
DoctorMacc
77873b6fbb Update ViaVersion integration 2020-06-20 20:35:40 -04:00
DoctorMacc
1015b830ce Merge branch 'master' of https://github.com/GeyserMC/Geyser into mcprotocollibupdate 2020-06-20 17:50:00 -04:00
bundabrg
e66f57f9f0
Provide a platform independent method of retrieving the datafolder (#769)
* Provide a platform independent method of retrieving the datafolder

* LocaleUtils now uses datafolder

* Make use of Path instead of File

Changes:
* Rename getDataFolder() to getConfigFile() and update to return a Path in each bootstrap

* Rename filePath to tmpFilePath

* Update Velocity configFile to configFile Path
2020-06-20 12:54:40 -05:00
DoctorMacc
5327610c35 Don't forget about Bukkit 2020-06-19 13:42:55 -04:00
Camotoy
6388a91587
Reset color instead of turning color to white for standalone (#759)
Allows non-black-back terminals to see the Geyser log.
2020-06-16 19:05:39 -05:00
Camotoy
9369b20209
Add 1.9+ PvP 'Cooldown' (#768)
* Add 1.9+ PvP 'Cooldown'

This commit adds a subtitle that acts as the Java cooldown. This is an optional feature disabled in the config with `show-cooldown`. This does not appear on plugins that use OldCombatMechanics.

* No need to bump up the config version; I was just tested with OldCombatMechanics

* Use simpler casting

* Use session variable of lastHitTime for theoretically better performance

* Reuse attribute value calculation from AttributeUtils

* Remove unused imports

* Revert config version update in config.yml
2020-06-16 19:03:28 -05:00
DoctorMacc
cc3b4c3eda Merge latest master; copy over old Geyser-Bukkit configs 2020-06-11 16:39:29 -04:00
Camotoy
34b367bfc3
Configuration updates (#653)
* Configuration updates

The main feature of this commit is switching Bukkit and BungeeCord to using Jackson configuration. This allows comments to load. Along with this, the Jackson configs have been consolidated into one abstract class, and a check is made to ensure auth-type cannot be set to Floodgate if Floodgate is not installed.

* Add deleted file; remove imports

* Re-add changing of Bukkit port

* Alphabetize import

* Alphabetize Bungee import

* Updates

* Swap values in GeyserJacksonConfiguration

* Add a null check for GeyserConnector in Bukkit's onDisable
2020-06-10 17:58:29 -05:00
Camotoy
891490a443
Relocate Jackson dependency (#678) 2020-06-08 20:23:15 -05:00
DoctorMacc
af669f2e88 Rename internal ping passthrough variable 2020-05-26 10:11:28 -04:00
DoctorMacc
2dc755ca98 Rename Geyser-Bukkit to Geyser-Spigot
Despite the Bukkit suffix being correct in terms of the API, the name causes some people to download CraftBukkit instead of Spigot or Paper. All internal references to Bukkit have been renamed to Spigot.
2020-05-26 10:05:25 -04:00
RednedEpic
a49f6fe0e3 Specify API version for Bukkit to stop legacy material loading (Closes #595) 2020-05-23 18:58:36 -05:00
Camotoy
99f69b3a7d
Rewrite Ping Passthrough (#468)
* Fix ping passthrough on BungeeCord

* Initial implementation of direct ping passthrough

* Finished implementation of direct ping passthrough

* Remove test for something else entirely

* Fix standalone

* Add config option for ping passthrough interval

* Use GeyserPingInfo to reduce methods

* Add querying; modify ping passthrough

* Add separate config options for passthrough MOTD and player counts

* Convert all plugin bootstraps to use internal ping events to that other plugins can handle ping modifications

* Small changes

* Fix invalid packet spawm

* Add legacy ping passthrough option

* Fix BungeeCord

* Proper UUID for BungeeCord, thanks @theminecoder

* Update config version and messages

* Merge master... again

* Add missing javadocs and minor changes

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
Co-authored-by: theminecoder <theminecoder.dev@gmail.com>
Co-authored-by: Redned <redned235@gmail.com>
2020-05-23 16:50:04 -05:00
rtm516
fc6532732d
Adds skin ears from MinecraftCapes.co.uk + Clientside linked account skins + Elytra textures (#539)
* Added ears geometry support

* Added ear fetching from mc capes

* Added support for deadmau5

* Commented, documented and cleaned code

* Allow bedrock players to see their java skin/cape/ears when joining

* Optimised Imports

* Fix missing else statement

* Moved ears and fixed elytra skins

* Added ears config option

* Fixed cape/elytra transparency

* Fixed slim skin geometry

* Fixed async ears request and added alex skin

* Fixed default elytra not showing with no cape

* Moved to normal Base64 functions

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
2020-05-23 16:06:34 -05:00
Camotoy
1664221fa9
Add optional workaround for >Y128 Nether building (#615)
* Add optional workaround for >Y128 Nether building

This commit adds a config option for building above the Nether by changing the Nether's dimension ID to match the End's.

* Only check for workaround application once

* Fix mappings?

* Include a bit more for the above bedrock nether building config option

Co-authored-by: Redned <redned235@gmail.com>
2020-05-23 16:02:51 -05:00
Camotoy
93d15c16f5
Fix NPE if Bukkit configuration is out of date. (#614) 2020-05-21 10:29:32 -04:00
Camotoy
a7f363ec09
Add option for disabling command suggestions; add config version (#598)
* Add option for disabling command suggestions; add config version

This commit adds an option for disabling command suggestions. If enabled, command suggestions will not be sent to the server so as to remove command freezing. This commit also adds a config version variable so users are notified when to regenerate their configs.

* Rename GeyserConfiguration.checkGeyserConfiguration()
2020-05-20 22:43:22 -05:00
Camotoy
9673e1e4aa
Use ViaVersion for block placing sounds (#551)
GeyserBukkitBlockPlaceListener previous assumed that getBlockData() was available. This separates the ViaVersion code from getBlockAt to make it accessible elsewhere.
2020-05-13 16:07:41 -05:00
Camotoy
d63d0def5a
Break for loop in GeyserBukkitBlockPlaceListener when a player is found (#538)
No need to keep searching when a player is found.
2020-05-12 14:59:28 -05:00
Camotoy
64bfad2af9
Use Bukkit methods to send block sound (#522) 2020-05-10 15:25:28 -05:00
Camotoy
d4291888b3
Fallback to ViaVersion to convert block state (#515)
* Fallback to ViaVersion to convert block state

* Use ViaVersion 3.0.0-SNAPSHOT

* Detect versions better; change logic for getting blocks
2020-05-09 21:37:18 -05:00
rtm516
7b3893ff78
Fixed empty listen IPs breaking automatic config (#519) 2020-05-08 22:58:29 -05:00
Chase MacDonnell
425df396cb
Don't load floodgate if it isn't needed (velocity) (#499)
Co-authored-by: Chase M <1860157-chasemacdonnell@users.noreply.gitlab.com>
2020-05-06 16:02:52 -05:00
RednedEpic
3c7e89ba3f Use Java Edition username when getting player in bukkit world manager 2020-05-04 13:00:32 -05:00
RednedEpic
7d67b65777 Merge branch 'master' into feature/sounds 2020-05-04 00:51:22 -05:00
rtm516
9c6ac1b41c
Auto load floodgate key if floodgate installed and set authtype (#454)
* Added floodgate key auto loading for Bukkit

* Added floodgate key auto loading for Bungee

* Added floodgate key auto loading for Velocity and fixed key location

* Moved key loading to common
2020-05-03 15:30:20 -05:00
RednedEpic
3370ad3db9 Merge branch 'master' into feature/sounds 2020-05-02 23:06:53 -05:00
rtm516
99880c7d46
Adds a message if someone runs one of the plugins directly (#457)
* Added Bukkit run message

* Added the rest of the plugins run messages

* Renamed plugin run classes to main

* Added gui message if the jar isnt run from command line

* Updated help message

* Changed wording for bukkit
2020-04-30 01:40:45 -05:00
RednedEpic
1fbb755d26 Merge branch 'master' into sound-master 2020-04-29 15:14:25 -05:00
RednedEpic
31be608038 Add block break sounds for blocks with 0 hardness, and refactor some things
The refactors in this commit go a bit beyond the scope of what the sound/effects branch was meant to accomplish, however most of these changes are necessary so chunk caching could be reintroduced for the standalone version. The chunk caching here allows for us to get the block ID before the block was broken, and in the future allow us to implement newer features. Chunk caching is optional (and disabled by default) as on non-Bukkit versions, it can eat up a lot of RAM with many players online.
2020-04-29 15:01:53 -05:00
rtm516
697e478e04
Fixed Sponge plugin user auths config loading (#445) 2020-04-27 15:49:05 -05:00
rtm516
7f29710006
Automatic ip & port for plugins (#438)
* Automatically set Bukkit ip and port

* Automatically set Velocity ip and port

* Automatically set BungeeCord ip and port

* Moved the config init line to prevent config issues

* Automatically set Sponge ip and port
2020-04-27 15:45:14 -05:00
rtm516
d869bd499f Fix command execution on standalone 2020-04-20 02:56:03 +01:00
RednedEpic
bab2b4a420 Pull command descriptions from Bukkit and Sponge versions when listing commands
This allows the description of the commands to display when listing the commands in bedrock by tab-completing. This is currently only available on Sponge and Bukkit versions as there is no support in BungeeCord and Velocity to get these values. This data is also not sent in any packet, so we cannot retrieve that from standalone either.
2020-04-19 18:08:14 -05:00
DoctorMacc
bfb3fb4258 Update various copyright dates 2020-04-15 15:39:21 -04:00
rtm516
64e0af48f9 Merge remote-tracking branch 'origin/master' into server-language-processing 2020-04-09 16:56:14 +01:00
rtm516
7465a98098
Fixed DEBUG logs not showing in newer Java versions 2020-04-09 16:46:59 +01:00
rtm516
c51a48221b Merge remote-tracking branch 'origin/master' into server-language-processing 2020-04-09 13:58:45 +01:00
rtm516
90dc33e394 Fixed support for ctrl+c shutdown 2020-04-06 14:47:07 +01:00
rtm516
c809ddb618 Renamed translation method and cleaned up variable declaration 2020-04-05 10:13:47 +01:00
RednedEpic
a77c08b084 Relocate fastutil for velocity version to fix NoClassDefFoundError 2020-04-05 00:44:42 -05:00
rtm516
845c914492 Moved loading and added default locale config option 2020-04-05 02:58:23 +01:00
RednedEpic
e504d0f467 Don't minimize the jar for plugin versions (Actually fixes #265) 2020-04-04 18:00:30 -05:00
Ender
f8407eeb5a Add requested changes to PR 2020-03-25 00:55:09 -05:00
Ender
ac8d1bf295 Automatically add loopback exemption to Windows 2020-03-24 02:56:04 -05:00
RednedEpic
21dc2e8362 Add Geyser reload command and commands for platforms (Closes #141) 2020-03-17 11:43:09 -05:00
RednedEpic
c7f1f0b71f Shade in fastutil for Sponge and relocate to shaded package (Fixes #198) 2020-03-10 18:40:22 -05:00
RednedEpic
1670c77672 Only allow console to shut down Geyser with a command 2020-03-04 20:44:42 -06:00
RednedEpic
936cbad67d Get log4j2 working and fix commands 2020-03-04 20:35:23 -06:00
RednedEpic
e52a461a73 Attempt to get log4j2 working 2020-03-01 10:48:49 -06:00
RednedEpic
e8a1e0dae1 Add velocity platform support 2020-02-08 13:43:50 -06:00
RednedEpic
240f41ff03 Use Path instead of File for floodgate key file in config
...and fix related issues with the file not being found.
2020-01-26 11:22:21 -06:00
Redned
c4857c6a54 Merge branch 'master' into plugin 2020-01-25 23:03:47 -06:00
RednedEpic
cc3cf70257 Search for key in Geyser plugin folder in plugin versions 2020-01-25 22:59:00 -06:00
RednedEpic
e4d65cd267 Attempt to archive all artifacts for Jenkins 2020-01-18 17:28:27 -06:00
RednedEpic
52b23950ea Merge branch 'master' into plugin (should fix building) 2020-01-18 16:46:07 -06:00
RednedEpic
5c7755b772 Shade netty into Bukkit jar 2020-01-18 16:38:40 -06:00
RednedEpic
2fc591e341 Merge Floodgate changes 2020-01-03 23:58:58 -06:00
RednedEpic
145784b18d Shade in netty with BungeeCord module 2019-12-31 17:00:06 -06:00
RednedEpic
7354819451 Add license headers to Sponge classes 2019-12-21 16:19:04 -06:00
RednedEpic
70fd9867f5 Add Sponge platform bootstrap 2019-12-21 16:18:34 -06:00
RednedEpic
1fbbb87689 Add PlatformType enum and add bStats platform chart 2019-12-21 11:53:19 -06:00
RednedEpic
e38322a3ec Nuke plugin API
https://media.giphy.com/media/oe33xf3B50fsc/giphy.gif
2019-12-21 11:35:48 -06:00
RednedEpic
f59e4672a0 Exclude dependencies already present in servers (only affects plugin) 2019-12-08 22:41:50 -06:00
RednedEpic
6f5fc4c85c Fix JNI overlap with BungeeCord module 2019-12-04 18:56:51 -06:00
EOT3000
1e12f5eac9
May or may not work.... again 2019-12-02 11:54:07 -05:00
EOT3000
90419fc692
May or may not work
@LegacyGamerHD
2019-12-02 11:51:48 -05:00
Redned
433a3b4713
Fix compile error 2019-12-02 08:45:51 -06:00
Redned
5552f34871
Fix NPE if config was null in BungeeCord module 2019-12-02 08:27:45 -06:00
RednedEpic
3e7e34dfb9 Move command reader into standalone module 2019-12-01 18:28:36 -06:00
RednedEpic
c76c39f3f5 Fix Jenkins
...and update non-shaded jar names.
2019-12-01 17:10:58 -06:00
RednedEpic
e8f4522762 Add BungeeCord plugin module, cleanup POMs 2019-12-01 16:52:07 -06:00
RednedEpic
1c2ef99a54 Separate bootstrap and allow for Geyser to run on Bukkit (Addresses #54) 2019-12-01 15:16:52 -06:00