1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-29 19:59:13 +00:00
Commit Graph

37 Commits

Author SHA1 Message Date
Camotoy
765128ce42 Switch config system to Configurate (#5010)
* Start implementing Configurate config system

* More development

* Start migrating to Gson only

* Progress

* Update usage of WebUtils

* Most things now use Gson for JSON

* Allow tests to succeed by using new Gson version

* Use slightly cleaner version for Version deserializer

* Work around older Gson versions without record support

* GeyserCustomSkullConfiguration uses Configurate

* Fix regression in properties get

* New config used in core

* The configuration is gone. Long live the config.

* More changes and migrations away from Jackson

* Improve node ordering when updating configs

* typo

* Better check for ignoring non-configurate configs for considering comment moving

* Ensure metrics UUID is valid

* Initial advanced config

* Remove Jackson; finish config value placements

* Remove duplicate relocate declarations

* Let annotations work

* Renaming to PluginSpecific

* Use global bStats config where possible

* Fix test

* Re-introduce asterisk behavior in configs

* Remove GeyserPluginBootstrap as it's no longer necessary

* Remove old config.yml file

* Update Xbox achievement comment

* Apply suggestions from code review

Co-authored-by: chris <github@onechris.mozmail.com>

* No need to remove values anymore

* Fix: disable bstats relocation on platforms where it is not needed

* ensure it builds

* Update custom unavailable slot comment

Co-authored-by: chris <github@onechris.mozmail.com>

* Update cooldown image

* Logger message for direct-compression still being enabled

* oops

* More explicit RuntimeException message

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>

* Constant for 'system' locale

* Better config JSON encoding (something is broken with Cloudflare; we'll figure it out

* Fix broadcast port default

* Add this file too

* Update configurate branch

* fix build

* Fix: Allow using custom config file on Standalone, add relocation comment

* Move config loading to GeyserBootstrap interface

* Add and rename some config options, add section notes (#5390)

* Add and rename some config options, add section notes

* adjust message

* Update core/src/main/java/org/geysermc/geyser/command/defaults/ConnectionTestCommand.java

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Update core/src/main/java/org/geysermc/geyser/configuration/GeyserConfig.java

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Update ConfigLoader.java

* Update AdvancedConfig.java

* clarify that we're talking about the HAProxy protocol

* rename config option to use-haproxy-protocol

* remove ominous warning sign on xbox auth warning

* adjust wording

---------

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Back to one config file

* Some minor touchups

* Configurate: Sectionification (#5904)

* Init: config sections

* Start on adding tests, move migrations over to ConfigMigrations class

* Get rid of auth section again, rename that one config option, fix mtu migration

* Move custom skulls config options to the bottom of the gameplay settings

* Add more tests

* Rename and migrate proxy-protocol-whitelisted-ips to haproxy-protocol-whitelisted-ips

* Add automatic downloading of the GeyserOptionalPack

* Revert "Add automatic downloading of the GeyserOptionalPack"

This reverts commit 65b96208fb.

* Add more invalid config tests

* Warn about emote-offhand-workaround removal

* Add automatic loading of the GeyserOptionalPack (feature/configurate) (#5964)

* Add automatic downloading of the GeyserOptionalPack

* Warn about including the OptionalPack from extensions when Geyser is already including it instead of throwing.

* Copy optional pack instead of downloading

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>

* Remove unused variable

* Start warning users not running Java 21

* Update tests, temporarily remove NumericRanges test

* Remove duplicate advanced section from Geyser dump

* Address some "reviews"

* yeet md5 hash from geyser dump

* Add info about number of resource packs / amount of mappings into Geyser dump

* Re-enable invalid config loading test

* Fix: allow-custom-skulls migration

* Fix test

* Add "enable-emotes" configuration option

* Rename "emotes-enabled" to "show-emotes"

* Only enable integrated pack when optional pack isn't present

* Update integrated pack

* Exclude jackson annotations, remove leftover debug print

* Remove one-time config migration warnings as we don't have access to the logger at that stage

* Throw more detailed descriptive error when loading resource packs from the "packs" folder, add another legacy config test

* Fix NeoForge's fun module conflict

* Re-add warning about moved functionality, fix Geyser-ViaProxy

This reverts commit fbadfa574a.

* oops

* Move GeyserLegacyPingPassthrough to separate thread to avoid Standalone command locking issues

---------

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
Co-authored-by: chris <github@onechris.mozmail.com>
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
Co-authored-by: Aurora <auroranova8756@gmail.com>
2025-11-18 17:55:12 +01:00
onebeastchris
826b4b4e48 Indicate 1.21.112/1.21.113 support, track server platform types in bstats metrics 2025-10-12 13:34:29 +02:00
Eclipse
bdabf6b20e Fix build 2025-09-30 13:35:58 +00:00
onebeastchris
61d7dc0a17 Fix: Bedrock update notifications config option being ignored on Geyser-Fabric / Geyser-NeoForge 2025-09-25 19:30:53 +02:00
Eclipse
3286e884ae Address reviews 2025-06-18 17:06:54 +00:00
Eclipse
c29b20d23a Update/fix bootstraps and build 2025-06-17 18:55:55 +00:00
Eclipse
59b0be8985 Reintroduce player place null check in BlockPlaceMixin (#5465) 2025-04-07 16:49:17 +02:00
onebeastchris
db0576099b Indicate 1.21.71 support in readme 2025-04-01 19:01:07 +02:00
chris
2b5369ff8b Attempt to resolve 1.21.70 inventory issues (#5443)
* Inventory translators are now part of inventories, try fixing inventory reusing, use NetworkStackLatency hack

* Add debug, re-add force open hack

* don't log to info

* fix debug npe

* Don't set setPending when opening pending inventories, add more delay to re-opening rejected inventories

* Use inventory#getTranslator to hopefully avoid translator/inventory desync

* Minor cleanup

* Update core/src/main/java/org/geysermc/geyser/GeyserLogger.java

* Reuse inventories whenever possible, prevent bedrock inventory id conflicts

* Fix debug logging with arguments, don't attempt to re-use inventory that's currently closing

* Some documentation, include pending inventories in re-use check

* "bad html entity"

* add wayyyy more debugging to container reusing checks

* yeet java id check

* Fixes related to hacky plugins that spam open screen packets

* no clue how this slipped by

* Don't reuse real blocks, yeet Inventory#isDelayed
2025-03-31 21:36:19 +02:00
Eclipse
a2d5aab2f1 Fix mixin 2025-03-28 10:45:39 +00:00
chris
69329f2cad Feature: Resource Pack API additions - ResourcePackOptions and a GeyserDefineResourcePacksEvent (#4978) 2025-03-25 15:49:18 +01:00
Alex
5f0611ff0f Switch all ping passthroughs to json to avoid parsing warning (#5363) 2025-02-25 22:33:10 +01:00
onebeastchris
48ae28432e More changes - remove getPickItemComponents in WorldManager, separate additional and base component 2024-12-02 02:23:02 +08:00
Camotoy
6452d11d95 Merge remote-tracking branch 'origin/fix-fabric-world-manager-performance' into feature/1.21.2 2024-11-04 17:56:45 -05:00
onebeastchris
1a04aa6ea6 Initial 1.21.3 changes for mod platforms 2024-10-25 02:20:22 +08:00
chris
f18a163eaa Merge branch 'master' into fix-fabric-world-manager-performance 2024-08-20 11:12:05 +02:00
chris
d3ea65196b Feature: Detect incorrect proxy setups (#4941)
* Feature: Detect & warn about incorrect proxy setups on Spigot platforms

* Properly disable Geyser if we failed to load
2024-08-11 00:50:27 +02:00
chris
293bad55bc Merge branch 'master' into fix-fabric-world-manager-performance 2024-08-06 01:37:03 +02:00
Konicai
87ab51cb28 Cloud for commands (#3808)
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2024-07-31 20:01:31 -05:00
chris
efe2736635 Fix: Piston listener on Fabric/NeoForge (#4899)
* Fix: Sticky pistons not retracting on Geyser-Spigot/turning visually into normal pistons on all other platforms

* Initial attempt: Mod piston listener

* fix piston retracting
2024-07-30 10:26:02 +02:00
Camotoy
a55a646de9 Fix world manager access stalling for the main thread 2024-07-28 17:22:36 -04:00
chris
efc8ba0610 Fix: Block place sounds on mod platforms (#4859) 2024-07-15 01:31:03 +02:00
Camotoy
2c47330509 Use integrated world managers for decorated pot animation 2024-06-19 15:52:54 -04:00
Camotoy
73d5f24f40 Fix compilation for modded 2024-06-12 23:53:02 -04:00
onebeastchris
8ae1150c80 Remove unused lectern code in ModWorldManager, fix spelling error in SessionLoginEvent 2024-06-07 19:47:21 +02:00
onebeastchris
aaad10b8c9 Merge remote-tracking branch 'upstream/master' into dev 2024-06-03 20:54:10 +02:00
chris
63c84bc25b Yeet lectern cache (#4695)
* attempt to yeet lectern cache

* yeet lecternutils usage

* properly update lecterns

* yeet accidental diff
2024-05-29 00:39:39 -04:00
chris
0fcf0f9b4f Update Bungee version check, create logger earlier (#4697)
* use the logger where possible instead of system.out.print

* make loggers final

* yeet unused constructors

* velocity is more complicated
2024-05-28 17:23:19 +02:00
Camotoy
6a214f235c Remove duplicate method 2024-05-02 13:07:18 -04:00
Camotoy
efda13421f Merge branch 'master' into feature/1.20.5 2024-05-02 12:58:46 -04:00
chris
1291b89e64 Ensure proper Geyser starting/disabling when Geyser is used on a client (#4621)
* Ensure proper Geyser starting/disabling when Geyser is used on a client

* also set correct remote port

* only use direct connection on server, not client, actually override remote port
2024-05-02 00:29:33 +02:00
onebeastchris
82123aecf1 Fix: Modded platform injector not being used 2024-04-28 23:52:23 +02:00
onebeastchris
9b1e45007a Fix injectors, should work with Spigot/Paper 1.20.5 now 2024-04-28 23:41:13 +02:00
Camotoy
b29e0d9d10 Move MCProtocolLib to dev - package ID change 2024-04-24 16:39:35 -04:00
onebeastchris
c48428daf0 init: pick item component change 2024-04-24 16:26:58 -04:00
onebeastchris
6a5efa3c9d Start on 1.20.5 mod platform support - NeoForge (temporarily) excluded
Also fixes lecterns, and block break speed calculations
2024-04-24 16:26:58 -04:00
Redned
97fc2de42f NeoForge Platform Support (#3781)
* Initial work on Forge platform

* Rework modded platforms to use a common module

* Add support for integrated worlds on modded platforms

* Fix classload errors and move mixins to shared module

* Fix Fabric mixins and check min height in mod world manager

* Add Forge command support

* Add back modrinth publishing

* Don't apply application plugin to shared mod sources

* Fix docs

* Delete unused class

* Clean up repositories

* - Update to 1.20.2
- set custom refmap name
- fixed console commands crashing the server (hasPermission now accepts CommandSourceStack instead of Player)
- Forge wants fastutil relocated, so be it

Current issues:
- ClassNotFound exceptions with classes that are clearly present

* - Fix ClassNotFound errors on Forge due to weird Classloader
- Dont relocate gson

* merge upstream

* oh no

* Bump lombok, architectury-loom

* init: neoforge 1.20.4 support

* NeoForge builds

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Archive neoforge artifacts

* transformForge -> transformNeoForge

* Neoforge boots!
* Fix mixins on neoforge
* Update build/pr file names
* Update mods.toml to new neoforge standard
* Fix refmap naming

* more fixes
- no need to include gson
- cleanup nullable/nonnull annotations
- add more info to geyser dumps on neoforge

* yeet platform executor

* yet another temp branch to figure out the runServer task

* yeet transitive dependency, that cant be right

* Attempt at getting the runServer task to work, part two

* Revert the changes for the runServer task, try and shut down the injector

* Remove spigot weird bug workaround, shut down properly
Also add a compileOnly dependency for the mod module to get rid of spammy false warnings

* Update to latest restart changes
- fix duplicate nodes crashing neoforge
- connector -> geyser in GeyserModCommandExecutor
- create command manager early to fix issues with permission gather event

* Consistent NeoForge spelling, move some dependencies to the version toml

* Add lombok to version catalogue

* Add plugins to version catalogue

* revert move to buildSrc

* Create `assets/geyser/icon.png` to reference icon from a single file on standalone/neoforge/fabric

* add fabric permissions api to libs.versions.toml

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
Co-authored-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-02-23 17:58:39 +01:00