Commit Graph

718 Commits

Author SHA1 Message Date
Kas-tle 0f50a3cbe6
Re-implement subchunk v9 with proper index (#4287)
* Re-implement subchunk v9 with proper index

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

* typo in comment

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-11-28 20:33:07 -08:00
chris 3292718e69
Don't show custom names on display entities (#4309)
* Ensure that a custom text display entity name doesn't show up - it doesn't show on Java, and if we show it, the text display contents aren't shown.

* Update core/src/main/java/org/geysermc/geyser/entity/type/TextDisplayEntity.java

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

---------

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
2023-11-23 09:51:57 +01:00
chris 119fbc86bc
Don't send an awkward "null" when a exeption disconnect cause doesn't have a message (#4306)
* Don't send an awkward "null" when a cause doesn't have a message

* Fix accidental regression leading to unhandled "CraftingEventPackets"
2023-11-22 21:03:24 +00:00
chris 44174fdc04
Add 1.20.50 Bedrock support (#4296)
* Start on 1.20.50

* Add 1.20.50 block_palette.1_20_50.nbt, creative_items.1_20_50.json and runtime_item_states.1_20_50.json

* fix stone and planks mappings

* add and do something with the new SetPlayerInventoryOptionsPacket

* Add readme version bump

* Cleanup/Explain the new BedrockSetPlayerInventoryOptionsTranslator
2023-11-21 23:31:56 +01:00
chris 118e769976
Fix issues with empty MOTDs - fallback to configured MOTD (#4259)
* Fix issues with empty MOTDs - fallback to configured MOTD

---------

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
2023-11-14 00:33:34 +01:00
Konicai bb6a1ec40a
Simply pingpassthrough logic, add fabric ping passthrough (#3930)
* Check if PingPassthrough is null
* Remove QueryPacketHandler
* Fabric ping passthrough
2023-11-13 18:17:40 -05:00
Camotoy 13339f1ed1
Dragon and piglin heads now animate on 1.20.2 servers 2023-11-11 17:14:15 -05:00
chris 81178ba2a0
Reset weather on dimension switch (#4283) 2023-11-11 02:25:02 +01:00
chris 0ebb7232f9
Add SessionDisconnectEvent (#4052)
* Add SessionDisconnectEvent

* Move disconnect event calling to UpstreamSession, debug double calling issues

* Prevent duplicate disconnect calling

* Tidy up disconnection logic, ensure SessionDisconnectEvent is always fired - but only once. Fix /geyser reload command
2023-11-10 23:44:38 +01:00
chris 9dad1acfe5
Feature: Add recipe unlocking on Bedrock edition (#4016)
* Start on 1.20.10+ recipe unlocking system

* Keeping track of multiple Bedrock recipes to unlock for a single Java recipe

* Unlock stonecutter recipes

* Stonecutter recipes

* Unlock tipped arrows/shulker box recipes even when Java doesnt (why..?), and dont send trims if Java doesn't

* Translate FurnaceDataRecipes

* Revert FurnaceRecipe translation, revert stone cutter recipe identifier caching - Bedrock does not need the smelting recipe, and doesn't (un)lock stonecutter recipes (yet...?)

* Remove debug message

* Make decorated pot crafting just a little bit smoother :p

* formatting

* Use itemTag descriptors to fix https://github.com/GeyserMC/Geyser/issues/3784

* Use hashmap instead to store item tag overrides

* remove unnecessary comment

* Address review by @Konicai

* Support for 1.20.30

* undo add whitespace

* Merge upstream, use FastUtil maps, rename a few methods

* Address Camotoy's review

* Fix formatting
2023-11-10 20:45:15 +01:00
chris f40ca2004e
Add ability to set molang tags for custom items (#4041)
* Start on custom molang tags with custom items

* geyser_custom instead of geyser item tag

* Address reviews, add custom namespace ("geyser_custom") to tags

* use isBlank() instead of isEmpty()

* More efficient item tag setting
Co-authored-by: Konicai <71294714+konicai@users.noreply.github.com>

* tags instead of temp

* Merge in master, adapt to changes in the MappingsReader, delete unused ToolBreakSpeedsUtils class

* oops

* clean diff

* Change namespace from `geyser_custom` to just `geyser`

* Don't force a namespace at all; just like blocks don't

* Tags for items are now, as blocks, NonNull. Additionally, calling the .tags() builder multiple times will not add both sets of tags, but replace the existing tag set

* Remove @NotNull usage in favor of @NonNull

* Allow setting null for tags, but ensure that .tags() is always non-null

* Fix nullable annotation on tags method in the builder interface
2023-11-09 08:44:13 +01:00
chris aa899af908
Clear bossbars & entity attributes on server switching (#4278)
* This ensures bossbars are cleared on server switch. Additionally, this clears the EntityCache - which should resolve issues around air supply/hearts persisting visually.

* - Also reset attributes on server switch, aswell as air
2023-11-08 00:23:56 +01:00
chris 574dad015d
Fix: Display entities only being visible when directly looked at (#4271) 2023-11-04 18:59:02 +01:00
chris a559cde654
Move "unknown entity definition" spam to debug level (#4270) 2023-11-04 16:06:23 +01:00
chris ec526a798d
Send cooldown when punching air (#4257) 2023-11-03 17:22:55 +01:00
chris 121ca11db2
Fix text displays on 1.20.2
It seems like 1.20.2 added one more field to base displays (https://wiki.vg/Entity_metadata#Display), and a few more to text displays: https://wiki.vg/Entity_metadata#Text_Display (#4268)
2023-11-03 16:58:02 +01:00
Kas-tle 8d2ebcf69b
Reduce Frequency of Crashes Due to Dispensers, Droppers, and Chiseled Bookshelves (#4248)
* Revert to subchunk v8; reduces freq of #4240

* Full resolution
2023-10-26 08:16:24 -07:00
Konicai 8173917623 Merge remote-tracking branch 'upstream/master' into feature/1.20.40 2023-10-24 10:37:28 -04:00
chris b4290d5be4
Versioned potion mappings (#4239) 2023-10-24 01:41:02 +02:00
chris 450e3b61fe
Bring back accidentally removed MTU option (#4229) 2023-10-20 20:14:16 +02:00
Konicai 647a73d9f6
Support 1.20.40 connections 2023-10-19 01:11:59 -04:00
Kas-tle 3fa35b2cb9
Restrict game packets to state; Closes #4191 (#4210)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-10-12 06:02:57 -07:00
chris e8048ede08
Fix: Skull rotation issues since 1.20.2 (#4200) 2023-10-08 20:33:35 +02:00
chris 3f0e366bac
Fix: Don't rename extensions while the extension directory is being walked (#4197) 2023-10-08 18:04:22 +02:00
chris 3fdd6b41d0
Fix: Beacon effects broken since 1.20.2 (#4199)
Since 1.20.2, effect IDs start at 0, not 1. Bedrock of course doesn't respect that, so we need to subtract 1!
2023-10-08 12:33:17 +02:00
chris dec62e94e2
Fix: Implement 1.20.30 START_FLYING and STOP_FLYING cases (#4198) 2023-10-08 00:31:23 +02:00
rtm516 30cca70e56
Tell the server we loaded the resource pack (#4183)
* Tell the server we loaded the resource pack
* Decline resource packs if they are not required

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2023-10-07 22:38:44 +02:00
Kas-tle 89d7225c54
Fix API Registration of Custom Block Overrides (#4178)
* Api reg vanilla blockstate overrides; Closes #4177

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

* proper case non static

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

* Clear queue when done

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-10-04 09:56:47 -07:00
chris 3547fab228
Fix: Bedrock clients timing out due to present Java resource packs (#4176)
* fix: auto deny Java edition resource packs

* 1.20.2 bump on Fabric

* bump mcpl

* Bump required min version in the fabric.mod.json file
2023-10-03 17:15:30 +02:00
chris 7983448ce6
Remove Mojang account sign-in option (#4147)
* Remove Mojang auth

* Yeet Connector wrapper, ensure that empty config arrays (e.g. saved user logins) are empty lists instead of null to avoid NPE exceptions
2023-10-03 01:12:54 +02:00
petersv5 7d489c7354
Close threads at server shutdown (#4029)
Co-authored-by: Peter Svensson <petersv@psv.nu>
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
2023-10-01 18:15:44 -04:00
chris 34ff8c1217
Allow extensions to load other extension's classes, and store extensions by IDs instead of name (#3946)
- the extensionmanagers `extension` method now takes in a extension id instead of name
- extension folders are now created using extension id's
- Extensions can load classes from other extensions now
- Added warning about external class loading
- Wherever applicable: store extensions internally by id instead of name
2023-10-01 07:17:53 +02:00
rtm516 1d75d084a7
Force loading help-text using utf-8 to fix encoding errors (#4165) 2023-09-30 23:18:57 +02:00
Konicai c2cd99c829
Support Java 1.20.2 (#4112)
* Initial pass for 1.20.2, compiling
* Remove unused level events
* handle null GameProfile in ClientboundPlayerInfoUpdatePacket
* Handle level events BRUSH_BLOCK_COMPLETE and EGG_CRACK
* Account for null tag in DecoratedPotBlockEntityTranslator
* Explicitly show that 1.20.31 is supported
2023-09-29 17:14:49 -04:00
Spongecade 5276a1e2ba
Update Minecraft Wiki links to new domain (#4151) 2023-09-27 07:55:54 -07:00
chris ae983779ba
Fix: Don't allow client side gamemode changes even if rogue plugins send a level 4 op permission... (#4148) 2023-09-25 22:54:23 +02:00
Valaphee The Meerkat dead91b929
Set BlockMapping.AIR (#4135)
* Set BlockMapping.AIR, id is always 0, but this also ensures that the palette always has air

* Rename BlockMapping.AIR to DEFAULT, as it does not have to represent AIR, and statically set it
2023-09-20 06:52:37 -07:00
chris a443265e1d
Don't block chunk loading if an invalid skull is found (#4129)
* Add null check in case skull texture value is null

* Use variable for future result
2023-09-18 22:56:20 +02:00
Konicai 9a8015e8b6
Support Bedrock 1.20.30 (#4115) 2023-09-11 22:22:50 -04:00
Camotoy c67d50c13e
Some formatting fixes and creative menu fix 2023-09-09 13:23:19 -04:00
chris 806ec35a84
Feature: Allow client-side "game settings" menu gamemode/difficulty changes (#4062)
Removes difficulty/Gamemode settings from the custom server settings form since these are now present in the client side settings.
2023-09-09 00:34:19 +02:00
chris 007edcbf11
Fix: Update inventory names (#4106)
Ensure inventory name updates used for e.g. JsonUI work properly.
2023-09-09 00:13:57 +02:00
chris acf24d4d6b
Revert sending actionbar messages as jukebox, avoid pink system chat overlays (#4066)
System chat overlays too aren't pink anymore - they're still sent as jukebox for better visibility though.
2023-09-07 09:07:42 +02:00
chris 3ec591509c
Fix forced zoom issue when switching into spectator mode (#4093)
* init: spectator mode support

* properly set second abilitylayer for spectator mode

* Fixes https://github.com/GeyserMC/Geyser/issues/3318 by not sending changed flags in spectator mode
2023-09-06 18:13:19 -04:00
Valaphee The Meerkat 54bb1f3d13
Remove blockstate version (#4011)
* Remove blockstate version

* Regr, add comment why version tag is removed
2023-09-06 11:19:51 -07:00
chris 0d5cb51d5f
Make `geyser connectiontest` command more foolproof (#3951)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2023-09-05 23:16:44 -04:00
Kas-tle bf81fc1139
Allow Null Texture for Block Mappings/API (#4094)
* Allow null textures for blocks.json use

* Missing semicolon
2023-08-31 10:09:14 -07:00
Konicai d4ae428225
Drop support for 1.19.80 (#4091)
* Initial removal of any 1.19.80 logic
* Re-add isPre1_20_1 method
2023-08-29 16:58:51 -04:00
chris ec5a20113d
Fixes thrown error when skull skin cache doesnt exist (#4082) 2023-08-29 13:23:08 -07:00
chris 00def3b0c6
Fix duplicate extension's help command permission registration on Paper (#4079)
* Fix duplicate permission registration

* Register /<extensionid> help (and aliased ?) commands under the "geyser.command.exthelp.id" permission

* Fix: Show correct header for /geyser help vs /<extensionid> help
2023-08-27 13:48:14 +01:00