Commit graph

3687 commits

Author SHA1 Message Date
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
Tim203
58ff00db96
Fixed an issue where there would be a null score in SetScorePacket 2023-12-16 23:42:59 +01:00
Konicai
6e56666be2
Update spigot adapters to include 1.20.4 (#4340) 2023-12-14 21:31:51 -08:00
Kas-tle
aaf38f46fb Target Java 17 2023-12-14 21:31:14 -05:00
Konicai
a13492e0ed Final 1.20.4 cleanup 2023-12-14 21:31:14 -05:00
Konicai
4294982310 fabric: require 1.20.4 as ViaFabric doesn't support 1.20.2 2023-12-14 21:31:14 -05:00
Konicai
d3a4b13364 cleanup 2023-12-14 21:31:14 -05:00
Konicai
21a2c2332f translate trial spawners, cleanup 2023-12-14 21:31:14 -05:00
Konicai
22009054ab Crafter translation 2023-12-14 21:31:14 -05:00
Konicai
e2062dd182 Reimplement support for 1.20.40 2023-12-14 21:31:14 -05:00
Konicai
9b53f2efd1 Update 1.20.50 creative items to include experimental items
also remove the old unused ones
2023-12-14 21:31:14 -05:00
Konicai
701e567818 Enable 1.21 experimental features 2023-12-14 21:31:14 -05:00
Konicai
c7da8fe163 Better nullability annotations/handling for ItemStacks 2023-12-14 21:31:14 -05:00
Konicai
f0e983977a update mappings 2023-12-14 21:31:14 -05:00
Konicai
f38d82c19c Drop <1.20.50 2023-12-14 21:31:14 -05:00
Konicai
a89aa4e064 1.20.3: compiling protocol changes 2023-12-14 21:31:14 -05:00
Hasan
184a14d026 Update versions in README and modrinth task (#4303)
* Change fabric version

* Update java version

* Update Bedrock version also
2023-12-14 21:31:14 -05:00
Konicai
f33703929e 1.20.3: update Items class 2023-12-14 21:31:14 -05:00
chris
3d05181a13
Fix: Show the correct port that Geyser started on when using Geyser-Fabric on a client. (#4335) 2023-12-12 22:44:13 +01:00
kyrptonaught
d63a70daa9
Add support for adding custom translations. (#4047)
* Add support for loading locale overwrites. Any lang files in this new folder will be appended to the main lang file when loaded.
* A locale will no longer attempt to be downloaded and loaded if it already is loaded. Previously a lang file was reloaded everytime a player joins.
* Switch some io bits to nio
* formatting fixes
* Update core/src/main/java/org/geysermc/geyser/text/MinecraftLocale.java
* Rename isLocalLoaded to isLocaleLoaded
* Rename overwrites to overrides
* Catch separate exceptions when parsing locale file. Similar to previous implementation
* Add //no-op to try/catch
* Apply suggestions to fix issues that might arise with the Norwegian locale
* Properly resolve override locale path for nb_no
* Yeet temporary fix - addresses @Camotoy's review
* Catch IOException properly

---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2023-12-12 00:20:25 +01:00
chris
f1e7ef92f4
Fix issues with the ConnectionTestCommand (#4333)
- Port out of bounds checking
- Proper encoding of ip's to check
- Don't assume "cache" response is nonnull; it is null when there's an error
- Send users the error message that we get when server is unreachable
2023-12-11 18:12:19 +01:00
chris
1499def4a3
Catch UnknownHostExceptions in legacy ping passthrough pings (#4331)
* Catch unknownhostexception to avoid network errors when using legacy ping passthrough

* Catch UnknownHostException separately, log a warning but no stacktrace
2023-12-07 20:27:25 +01:00
千飞夏
3971650856
Fix collision problem with glass pane and iron bars (#4302)
* Fix collision problem,the wide for bedrock is 0.5 but for java is 0.5625 when only one side connect.

* Fixed an issue where the collision box was abnormal at the corner when two sides of the glass panel were connected.

* Merge similar methods, adjust code.

* More lenient judgment; reduce redundant code to avoid repeated calls.
2023-12-07 09:57:30 +01:00
chris
9d6dd58fd8
Ensure executor service isn't null by accessing it via the getter (#4328) 2023-12-06 22:22:21 +01:00
TheFloyds4240
94a1cbeb83
Default motd and player count passthrough config values to true(#2523)
* Update config.yml
I will in no way be offended if this is not merged. Essentially, it makes Geyser slightly more configured at the start for plugin versions by forwarding more information about the server to Bedrock players.

* remove unused

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2023-12-06 09:50:16 +01:00
chris
c0f6a2b926
Add more info to Fabric's geyser dumps (#4175)
* Added onlineMode, platformName, and Minecraft version to dump - renames platformVersion to loaderVersion since that is more fitting to modded structure

* rename loaderVersion back to platformVersion

* address review by @Konicai

* Fix geyser dump creation (regression from the syntax/annotation PR)
2023-12-06 08:26:20 +01:00
chris
95d65350e4
Project wide syntax/annotation cleanup (#4238)
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
2023-12-05 18:54:42 -05:00
Konicai
998caee156
Catch all throwables when loading each extension (#4320) 2023-12-04 17:05:12 -05:00
chris
308f293021
Fix potential issue with the settings form - coordinate showing might change while we are in the settings menu (#4324) 2023-12-04 01:44:06 +01:00
chris
b8481cc3cd
Fix: Recipe tags application
We only need to use recipe tags when there is more than one possible ingredient option. For example, before this, we applied a logs item tag to the planks recipe, which caused an issue with plank type suggestions. (#4321)
2023-12-01 20:38:25 +01:00