Commit Graph

3566 Commits

Author SHA1 Message Date
chris 112f4ddb8d
Fix: Inventory handling when client tries to open the player inventory when it shouldn't (#4499)
* attempt at fixing <https://github.com/GeyserMC/Geyser/issues/4497>

* Fix wrong handling of OPEN_INVENTORY case in BedrockInteractTranslator
2024-03-15 17:33:48 +01:00
chris c3d4277ae6
More error-robust kernel version parsing (#4496)
* should resolve https://github.com/GeyserMC/Geyser/issues/4492

* Use regex to parse version

* yeet debug

* Only log the throwable message
2024-03-15 13:52:34 +01:00
chris c91ee53788
Fix virtual lecterns - again (#4494) 2024-03-14 10:27:49 +01:00
chris 39b05e284e
update protocol lib to resolve command crashing (#4493) 2024-03-13 12:25:30 -07:00
Kas-tle a9467cf150
Temporary bad fix for command crashing (#4490)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-03-13 02:54:39 -07:00
Kas-tle 7e4d97f6e1
Fix wooden slabs (#4489)
* Fix wooden slabs

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

* Update submodule

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

* Also indicate 1.20.71 support

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

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-03-13 02:05:41 -07:00
Kas-tle 1df63c6de8
Support Bedrock 1.20.70 (#4477)
* Support 1.20.70

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

* Update readme

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

* Use 1.20.70 mappings

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

* Creative lectern drops work but not survival yet

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

* Fix lectern book pickup in survival

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

* Add copyright notices to new files

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

* Temp fix for incorrect creative_items from Cloudburst/Data

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

* Fix item frame breaking in creative

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

* Clarify what to remove when 1.20.60 support is dropped

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

* Don't use dim change enum pre 1.20.70

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

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-03-11 00:29:27 -07:00
Kas-tle a0fd720e7c
Fix client crash issue if empty recipe is sent (#4485)
* Fix client crash issue if empty recipe is sent

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

* More efficent order

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

* Recipes are recipies

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

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-03-11 00:03:37 -07:00
chris 0ad7c4325d
Fix: Workaround for recipes involving custom items to show up in the recipe book (#4484)
* Allow adding custom items to the creative inventory in order for recipes outputting said custom items to work

* yeet includeInCreativeInventory as it would break existing nonvanilla extensions - and is pretty pointless anyways

* rename mappings to `creative_group` and `creative_category`

* delete outdated comment
2024-03-10 23:38:38 +01:00
Kas-tle 527eab0b58
Cap render distance at 96 (#3530)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2024-03-09 04:51:32 +01:00
rtm516 92ce0fc6c7
Ignore merge queue branches from build workflow (#4483) 2024-03-09 01:24:16 +00:00
rtm516 f1e125a360
Add merge group trigger to pullrequest workflow (#4482) 2024-03-08 21:32:28 +00:00
chris 32f66371d9
Should resolve https://github.com/GeyserMC/Geyser/issues/4121 (#4481) 2024-03-08 21:30:17 +00:00
rtm516 1af24e5547
Add new village map icons (#4480) 2024-03-08 21:24:15 +00:00
Shanwer 621dc6f89a
Update actions to node20 (#4456) 2024-03-04 23:37:45 +01:00
chris 79154f3d0c
Fix: Lecterns not opening when there is no lectern cache (#4476)
... the LecternCache doesn't always exist. Oops.
2024-03-04 00:39:57 +01:00
chris 123990a795
Update ViaVersion api usage 2024-03-02 20:03:18 +01:00
chris 5d95bf65a6
Fix lecterns on 1.20.60, add support for virtual books (#4471)
* Fix lecterns on 1.20.60, start on virtual lecterns

* Fix: virtual books & actual books opening twice, resolve other issues, remove debug

* undo some unnecessary diff

* Don't try to send virtual books to pre 1.20.60 clients

* address review by camotoy
2024-03-02 03:21:31 +01:00
rtm516 3c4a1a82c9
Deprecate unit cube in block components (#4470)
* Depricate unit cube

* Didn't mean to remove that
2024-03-02 01:56:35 +01:00
chris f8e6d26fc2
Fix mod platform publishing (#4454) 2024-02-23 18:40:41 +01: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
RK_01 aca368e332
Implemented ViaProxy bootstrap (#4201)
* Implemented ViaProxy bootstrap

* Applied requested changes to code

* Override indra settings to Java 17

* Removed explicit java source/target version

* Added ViaProxy artifact to build.yml

* Added ViaProxy artifact to pullrequest.yml

* Updated ViaProxy API usage

* Implemented floodgate support for ViaProxy

* Depend on stable ViaProxy release

* Initialize command manager and ping passthrough before Geyser#start

* Revert "Initialize command manager and ping passthrough before Geyser#start"

This reverts commit 39356071c4.

* Some ping passthrough improvements

* Merged code properly

* Updated ViaProxy API usage

* Implemented better command handling

* Updated ViaProxy and Geyser API usage

* Combine bootstrap and plugin into one class

* Minor code improvements

* Call Geyser shutdown on plugin disable

* Only call disable if Geyser was enabled once

* Don't send two shutdown done messages

* Use setter for enabled boolean
2024-02-19 22:25:49 +01:00
byquanton 8b170d656e
Fix: Nametags are not shown in some other cases (#4447) 2024-02-15 22:22:46 +01:00
byquanton e97258f625
Fix: Nametags not showing up after respawn (#4445) 2024-02-15 14:57:51 +01:00
chris 6a51d8298f
Feature: Rework startup logic (#4377)
* This makes `geyser reload` work the same across all platforms. For example, it ensures that we reload the config to the greatest extent possible (with the exception of compression/injection settings). Additionally, this clears up issues where Extensions were previously disabled during reloading - instead, the new Pre and Post reload events allow extensions to reload whatever necessary on their own.
2024-02-14 12:50:50 +01:00
chris 19c6648bc2
Fix: Nametags not showing up (#4427) 2024-02-08 17:30:01 +01:00
chris 63fd97ab32
Fix: Crashing due to custom bows/crossbows/tridents (#4421)
* initial stab at fixing crashing due to removal of the chargeable component

* remove hardcoded animation
2024-02-07 18:17:51 +01:00
Kas-tle e6636ec9fe
Weapon component is deprecated (#4417) 2024-02-07 06:15:36 -08:00
chris fa339d37b5
Update version in readme (#4420) 2024-02-07 08:32:04 +01:00
chris 19a3dc3c4b
Support Bedrock 1.20.60 (#4415)
* Start on 1.20.60 support

* fix dimension switching

* Fix custom item icons... thanks mojang

* fix custom blocks/custom skulls breaking all block mappings

* - replace 10000 with static final variable

* fix: creative items not being found

* versioned custom item registration

* fix compression level setting
* show 1.20.61 as supported
2024-02-06 20:11:17 +01:00
千飞夏 226a4bb151
Use multiple channels at startup, fix the occasional issue of all pla… (#4329)
* Use multiple channels at startup, fix the occasional issue of all players getting disconnected.

* Standardized shutdown periods and refactored network handlers for improved consistency.

* tiny fix

* Let's use the system property

---------

Co-authored-by: chris <github@onechris.mozmail.com>
2024-02-02 16:25:50 +01:00
chris f555dc0a92
Feature: Camera/Input locking API (#4332)
Adds API methods to control player cameras - including fancy transitions,  color fades, or simple input locks.
2024-01-31 11:21:06 +01:00
rtm516 07150db592
Fix language key typo when floodgate encryption fails (#4412) 2024-01-28 22:49:47 +00:00
chris 61b3ffd0de
Feature: Allow setting a different port in the motd (#4293)
* Allow changing the broadcasted port using a system property. This may be needed if the port Geyser runs on & the port Bedrock players connect on do not match - e.g. due to port forwarding/different routing.

* initial stab at making the broadcast port an (unsafe) config option

* Automatically set broadcast port to be the bind port unless manually overridden

* Warn about broadcast port mismatch

* Use 0 instead of -1 as indicator to broadcast the port geyser is running on
2024-01-24 22:28:03 +01:00
rtm516 3f577f4128
Add fetching MC versions and Console from the extensions API (#4168)
* Add fetching MC versions and Console from the extensions API

* Address reviews, expose custom MinecraftVersion interface

* Rename of McVersion -> MinecraftVersionImpl; proper nonnull annotation

* fluent consoleCommandSource(), change MinecraftVersion#name() to versionString()

* Javadocs adjustments

* Create impl package and move `MinecraftVersionImpl` there

* api version bump

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2024-01-24 22:20:30 +01:00
chris 97ba6a25e6
Don't warn if clients send subchunkrequest packets (#4395) 2024-01-24 21:18:09 +01:00
chris 7bcecdf403
Fix: Opening inventory menus in spectator mode (#4407)
Revert to spectator_viewer instead of the native Bedrock spectator menu. While it looks uglier - e.g. it's showing health/hunger bars; it allows opening menus. It'll also be needed for entity spectating, since clicking on things isnt possible in bedrocks spectator mode
2024-01-23 00:34:53 +01:00
chris 87779dca88
Gracefully handle invalid stone cutter recipes (#4406)
* Gracefully handle invalid stone cutter recipes

Further various little fixes:
- bump source version in AP to 17 to silence build log spam
- remove unneeded close() on auto-closable resource
2024-01-22 19:21:12 +01:00
chris 16f9f0d94f
Don't try to show the server settings form to players who are not logged in (#4387)
* Don't show the server settings form to players who are not yet logged in

* Add brackets to if statement
2024-01-20 12:03:32 +01:00
chris 509e00c138
Fix: Geyser on Velocity after they renamed packet class names :/ (#4399) 2024-01-19 00:19:07 +01:00
chris 710dbfc1c8
Bump mcpl to re-allow invalid block entity types (#4398) 2024-01-17 18:38:48 +01:00
chris 3288f422b1
Update ViaVersion api usage (#4386)
- Switch to fluent accessor, since the getter was removed after being deprecated for 3 years
2024-01-12 15:39:53 +01:00
Camotoy 7613bdbafe
Fix https://github.com/GeyserMC/Geyser/issues/4378 2024-01-04 13:49:01 -05:00
chris 46bde0c019
Fix: protocol being null during online mode login (#4369)
* fix: protocol being null during online mode login

* gimme more space

* add debug logging for too early downstream packet sending
2023-12-31 02:24:44 +01:00
chris 592a58a0c8
Use uuid for bukkit api permission checks (#4363)
* lookup players by uuid instead of name

* Fix: look up Players by UUID for permissions, dont throw if a player can't be found (e.g. disconnected)

* use api method
2023-12-25 20:43:13 +01:00
Kas-tle b0ccf45cd4
Closes GeyserMC/Geyser#4358 (#4360)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-12-23 18:06:06 -08:00
chris cdb8ab344c
bump cloudburst/netty dependencies (#4354)
* bump cloudburst's netty-transport-raknet

* bump cloudburst protocol/codec/connection bump
bump netty due CVE-2022-41881

Changes in cloudburst libs:
- uses netty 4.1.101.Final
- bumps netty-transport-raknet which fixes https://github.com/CloudburstMC/Network/pull/36, an issue where some connection attempts did not work
2023-12-20 23:48:51 +01:00
chris 32a8573651
Fix broken netty util class check (#4357) 2023-12-20 17:59:51 +01:00
chris f3e56d282e
Gracefully fail on older spigot builds due to outdated netty (#4355)
* Test for outdated netty to avoid https://github.com/GeyserMC/Geyser/issues/3814

* capitalization

* bad spigot, go paper
2023-12-20 16:35:48 +01:00
Konicai af83e9269d
Fix (de)serialization of ClientboundExplodePacket (#4351) 2023-12-19 02:57:34 -05:00