Microsoft accounts can now use Geyser, while maintaining full backwards compatibility with Mojang accounts.
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
* Implement downstream PROXY protocol support
* Clarify the configuration version updating procedure
* Bump netty-resolver-dns to 4.1.56.Final
* Update Netty to .56
* Don't increase jar size by 2MB
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
* Change version in query to use a more informative string
* Fix removal of string
* Cleaner implementation of version
* Fix build
* Make more explicit what we're replacing
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
Movement is now significant better, especially on slabs, stairs, and other half-blocks.
Co-authored-by: RednedEpic <redned235@gmail.com>
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: Tim203 <mctim203@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
* Initial work on 1.16.100 - currently crashes the client
* Update runtime item states
* Use new Bedrock runtime IDs
Bedrock now hardcodes block runtime IDs in alphabetical order of the identifiers. This commit updates Geyser to accomodate.
- Remove runtime_block_states.dat and replace it with blockpalette.nbt
- Calculate the block runtime ID based on the order of the block palette
- Separate BlockTranslator.AIR into Bedrock and Java values
- Update the second layer of chunks to use air when not waterlogged
- Don't send item palette for now, as that's what crashes the game (will look into for v415)
- Other misc. changes
* Improve second layer chunk translation
* v415 support
- Add a message warning people they are on a beta version of Geyser
* Update to protocol v417
There are still some mappings changes that need to be gone through.
* Update runtime item states and clean up item frames
* Future-proof enchanment table
* Update for v418
* Update to v419
* Apply proper air ID to waterlogged chunk layer
* Fix missing import
* Remove beta warning
* Update mappings
* Manually patch runtime_item_states and send the ITEMS registry
* Update README
* Disable grindstone and smithing inventories (since they're broken)
* Use artifactory jenkins plugin (#1548)
* Use artifactory jenkins plugin
* Bump version to 1.2.0-SNAPSHOT
Co-authored-by: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com>
* Rewrite message handling in MessageUtils to use Adventure
* Move to static Adventure commit to fix a bug
* Initial test implementation
* Add RGB downgrade test
* Move MessageUtils and rename
* Clean-up and fix tests
* Fixed sign and book content handling
* Fix blank signs causing NPEs
* Fix reset before message being stripped
* Add comment about the reset character
* Fix legacy style server motds
* Fix more messages being handled wrong
* Fix title packets being handled wrong
* Fix trailing formatting characters on the end of sign lines
* Add auto updating of Java locale files
* Add en_us locale updating and hash caching
* Changes to hash determining
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
* 1.16.4-pre1 support
* Update to support ViaVersion 3.2.0 (#1358)
* Update to support ViaVersion 3.2.0
This commit updates ViaVersion integration to support their recent mappings changes.
Co-authored-by: Nassim <jahnke.nassim@gmail.com>
* Send adventure settings on gamemode change after gamemode swap
* Update Velocity to 1.1.0 proper
* Update to 1.16.4
Co-authored-by: Nassim <jahnke.nassim@gmail.com>
* BlockStorage is never used concurrently, no need to synchronize
* initial, semi-functional, faster chunk conversion
* faster chunk conversion works well for every situation except spigot
* delete unused ChunkPosition class
* preallocate and pool chunk encoding buffers
* make it work correctly on spigot
* make field naming more consistent
* attempt to upgrade to latest MCProtocolLib
* remove debug code
* compile against my MCProtocolLib fork while i wait for my upstream PR to be accepted
* return to Steveice10 MCProtocolLib
* Fix NotNull error with particles, replace incorrect string meta with int meta.
* Add back newline
* Remove debug line
* Update Protocol and prepare for merge
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
* Forward keep alive packets to the client
Previously, MCProtocolLib (our Java protocol library) handled keep alive packets for us. This commit disables that option and 'forwards' the keep alive packets to the client, and sending the keep alive packet back once Bedrock sends us a ping response.
* Delete DataCache
* Update to latest MCProtocolLib
* Swap values around as a sanity check
- Relocate all of our dependencies. This does not include MCProtocolLib and Nukkit dependencies at this time as there are no other known plugins that use these dependencies.
- Switch to a static commit for Adventure dependencies.
Tested working on all versions.
* Downgrade reflections to 0.9.11
* Add comment explaining downgrade
* Move to pre-build reflections
* Update skins to use https and relative cache dir
* Move to https OptiFine cape url
* Add javadoc to isProduction
* Add ANDROID as a platform type
* Re-ordered PlatformType
* Change stop command to call onDisable
* Port code from #486
Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
* Fix and clean code and add default gamemode changing
* Clean copyright
* Remove direct modification of server, clean up code and add player list xuid fetching.
* Move to custom settings menu
* Move sendAdventureSettings to GeyserSession
* Add javadoc comments
* Add translation support
* Remove updated copyright
* Clean up
* Clarify some javadoc comments
* Remove obsolete code
* Update languages submodule
* Fix javadoc comments
* Fix compile
Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
Co-authored-by: Redned <redned235@gmail.com>
* Update effects mappings
* Use STOP_RECORD as the default record instead of null
* Add comments
* Update mappings submodule
* Update MCProtocolLib and effects
* Change level event used for EVAPORATE effect
The bedrock client plays an additional sound when using CAULDRON_EXPLODE.
The java client does not play any sound.
* Update mappings submodule
* Change versioning to match supported Bedrock version
Line up Geyser's versioning to match with the highest/currently supported Bedrock version for future tracking of older Geyser versions.
* Add version command
* Fix DEV check for version command
* Remove SNAPSHOT
* Update languages submodule
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
* Add dump command
Adds a command to collect and dump infomation about the Geyser install and bootstrap and submit it to a dumps site.
* Finalize URL; misc. fixes; add 'architecture' param
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
This prevents changes upstream from immediately affecting Geyser workflow. This also removes the CodeMC repository in favor of Jitpack (which can use the commit hash as a version).
* Ignore all downstream packet errors
Instead of kicking the client off because of an error, we simply display a logger warning and suppress the error.
* If debug mode, print stacktrace
* Added automatic git version infomation to startup
* Moved to compile time replacement
* Cleaned up old functions
* Removed redundant variable
* Added project version to version string
Previously, any time a block was clicked whether it be with a block in the hand or not, a sound would play. This checks if the item in the players hand is indeed a block as well as the same block in the UpdateBlockPacket, and properly plays the packet.