Camotoy
074d60d5b0
Add system locale and encoding to Geyser dumps
2022-04-25 15:13:09 -04:00
Camotoy
0d1fedbdbf
Fix instances of resizing global biome palettes
...
Fixes #2744
2022-04-24 13:58:34 -04:00
Camotoy
9bf3334cb0
Update Protocol for 1.18.30 command param correctness
2022-04-24 13:38:44 -04:00
Tim203
2f54bf0e14
Rotation fixes ( #2396 )
...
* Should fix some rotation issues
* Some more changes
* Small changes
* Fixed merge conflicts and updated other classes that changed
* Added translation for the LookAt packet
2022-04-23 13:57:32 -05:00
Camotoy
c36b98d778
Make completed advancement color easier to read
...
Resolves #2937
2022-04-22 20:16:22 -04:00
Camotoy
7ea14c1a03
Don't send the SetHealthPacket clientbound
...
Seems like this can cause the client to break in 1.18.30, and we already send the health as an attribute.
2022-04-22 18:06:38 -04:00
Camotoy
5a94bdae5a
oops
2022-04-21 22:24:41 -04:00
Camotoy
05d74ebd3e
Fix signs for Bedrock 1.18.30
...
Fixes #2944
2022-04-21 22:23:00 -04:00
Camotoy
575fe98c0f
Fix anvils for 1.18.30 Bedrock
2022-04-20 21:39:35 -04:00
Camotoy
e923325246
Fix stonecutters for Bedrock 1.18.30
...
Also add an option in debug mode to not log pings in the event they're spammy.
2022-04-20 21:22:02 -04:00
Camotoy
b528a1c4f6
Update Protocol to better support older Netty versions
2022-04-20 13:30:45 -04:00
Camotoy
137eb3ece8
Replace instances of configs using generateduuid
for Metrics
2022-04-19 10:18:50 -04:00
Camotoy
af08488d1e
Fix message being sent still if a single escape character is sent
2022-04-18 21:30:44 -04:00
Camotoy
67f4de9781
Actually bump to 2.0.3-SNAPSHOT
2022-04-17 20:10:16 -04:00
Camotoy
cf8114543e
Bump version; drop 1.17.40; support 1.18.30
2022-04-17 19:53:06 -04:00
Camotoy
0803c5d9af
SetTimeTranslator: cast from long on the entire modulus
...
This should fix some inaccuracies with time on older worlds.
2022-04-12 19:42:41 -04:00
Camotoy
98db9c6948
Make all moon phases visible
...
The fix to prevent integer overflows also prevented moon phases from being visible until now.
Fixes #2927
2022-04-12 19:04:09 -04:00
Camotoy
cb8858fc42
Don't always store cert/client data used for skin uploaded
...
This takes up a decent 30K of memory that we don't use after the skin is uploaded. The GameProfileTranslator cannot be run more than once per session.
2022-04-11 15:44:15 -04:00
Camotoy
1d3eebc678
Add recent Paper check and new vanilla check for block placement
...
Fixes #2917
2022-04-04 21:03:43 -04:00
Camotoy
d6cb5bd52d
ItemMappings: use array for ItemMapping class
2022-04-04 14:08:35 -04:00
Camotoy
fb26e263cc
Be more resilient with different enchantment NBT types
...
Fixes #2911
2022-04-01 15:20:30 -04:00
Camotoy
2a05dd57ff
Don't store GameProfile class of players
...
This stores repetitive information, and also we don't currently use the signature, so it's wasted memory.
2022-03-30 22:30:49 -04:00
Camotoy
7a5321b78f
Hmm what print line?
2022-03-29 14:38:15 -04:00
Camotoy
f78d2d3d2a
Fix ghost items when taking items out of a furnace
2022-03-29 14:36:58 -04:00
rtm516
0067ba5bb9
Fix jackson versions causing build to fail
2022-03-26 15:56:36 +00:00
rtm516
08051edad1
Update Jackson dependency
2022-03-26 15:49:02 +00:00
Camotoy
238be40c6a
No need to reset when a set times packet is just about to be sent
2022-03-25 20:30:33 -04:00
Camotoy
f639be6362
Better handling of fake cooldown
...
Because of Bedrock limitations, if a player has text background opacity enabled, they'll see an empty section where the title is usually displayed as the fake cooldown is shown. This commit minimizes the time that is shown by clearing the text as soon as possible. Reference issue: https://github.com/GeyserMC/Geyser/issues/1710
This commit also removes starting the fake cooldown process if the client switches to an inventory slot with the same Java ID.
2022-03-25 20:22:39 -04:00
Camotoy
877301a500
Remove locator map from creative menu; show some map colors
...
Java allows any map color but Bedrock only allows a few, so we take what we can get.
Fixes #2617
2022-03-23 16:21:04 -04:00
Camotoy
b7de1b668f
Remove unused NibbleArray class
2022-03-23 13:57:58 -04:00
Camotoy
24b0f83742
Change banner item translator into NBT-specific translator
...
Since we don't need to change any other item properties, this removes a builder hack that had to be implemented.
2022-03-23 13:57:25 -04:00
Camotoy
780218d39d
Consolidate NoteblockBlockEntityTranslator behavior
...
It was only used in one place that could better use existing code.
2022-03-22 23:03:37 -04:00
Camotoy
10383d31ab
Replace show coordinates string
...
Use the one built into Bedrock for less maintenance.
2022-03-22 23:01:00 -04:00
Konicai
87d70be10d
Register floodgate:transfer
plugin channel ( #2896 )
...
* Register floodgate:transfer channel
* Don't warn on unknown channel
2022-03-19 19:56:34 -05:00
Hancho1577
b81ad3f0db
Prevent async task pool from being full ( #2894 )
...
Fixes #2883
2022-03-19 09:45:19 -04:00
Camotoy
732fd90d48
Missed instance of Outdated server
2022-03-18 23:31:25 -04:00
Konicai
f8e983887e
Add method in Connection API for transferring connections ( #2891 )
2022-03-18 18:59:32 -04:00
Camotoy
b36ec79bbb
Update languages submodule
2022-03-18 10:51:36 -04:00
Camotoy
607e97f988
More descriptive disconnect messages for outdated Java servers
2022-03-18 10:51:22 -04:00
Camotoy
0829b5cd4e
Replicate Bedrock shield behavior more accurately
...
If the player swings, then they cannot be holding their shield at the same time.
Also fixes an animation edge case with other players.
2022-03-15 13:34:56 -04:00
Camotoy
7f5d81772b
Fix inability to toggle sitting of parrots
2022-03-10 15:16:08 -05:00
Camotoy
d0d01714aa
Remove unlockedRecipes storage
...
This has been unused, and for the time being we aren't going the packet route that would use these.
2022-03-09 23:09:48 -05:00
Camotoy
9c0b9f1975
Show attribute suggestions in commands
2022-03-07 13:58:09 -05:00
Camotoy
a1bb4343a3
Update languages submodule
2022-03-05 22:33:43 -05:00
Camotoy
8388a4830e
Simplify disconnection logging
...
A disconnect message will always be printed, but not more than once.
CLOSED_BY_REMOTE_PEER -> Bedrock client disconnected (hopefully slightly less vague)
If a message is sent from the server, the log will now indicate their disconnection reason.
2022-03-05 22:32:38 -05:00
Camotoy
50bed6a2be
Use a dummy legacy event hover serializer
...
This reduces computation processing needing, since Bedrock doesn't have any hover text ability. This also fixes a 1.8 bug where villager titles would not process correctly - by having a dummy serializer, a recent MCProtocolLib update would not stop the window packet from processing.
2022-03-05 22:15:25 -05:00
Camotoy
edbb946d97
Indicate Geyser supports 1.18.10 AND .12
2022-03-04 23:24:38 -05:00
Camotoy
c977e36368
Deprecate userAuths in favor of a saved token system
2022-03-03 18:52:26 -05:00
Camotoy
37c854b5ac
Fix our PacketLib selection not being used
2022-03-01 22:52:30 -05:00
Camotoy
17fb38e567
This method can be final
2022-03-01 22:50:11 -05:00
Camotoy
e163301d23
Fix StackOverflow possibility with undead horses
2022-03-01 15:44:13 -05:00
Camotoy
0fd903e0a0
Pending Microsoft Authentication changes for GeyserConnect
2022-02-28 10:24:27 -05:00
Camotoy
65b68087b8
Bump Geyser to 2.0.2 and Java to 1.18.2
2022-02-28 10:07:45 -05:00
Camotoy
a435288bdf
Properly map lit deepslate redstone ore
2022-02-26 20:10:07 -05:00
turikhay
d0220a9b71
Allow single-device Microsoft authentication ( #2688 )
...
By default, there is a two-minute delay if you disconnect so you can authenticate your Microsoft account.
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-02-26 15:45:56 -05:00
Camotoy
dfbb5897b9
Update mappings
2022-02-25 13:48:34 -05:00
Camotoy
b4b5cea42d
Implement offhand support when interacting with entities
...
By simulating the exact processing that Java Edition does on the client-side, we can achieve full packet parity with Java when interacting with an entity.
2022-02-25 11:02:18 -05:00
Camotoy
9b8e1372c1
Work around dropping items from other slots
...
Fixes #2846
2022-02-25 10:31:00 -05:00
Camotoy
7d1ec5c41a
Support offhand interactions with entities
2022-02-24 22:49:10 -05:00
Camotoy
7bd5b59565
Allow the Jigsaw to operate correctly on 1.14.4
...
Fixes #2852
2022-02-21 21:19:19 -05:00
Camotoy
619ce53c50
Javadoc fix for Registries.RECIPES
2022-02-21 20:51:31 -05:00
Camotoy
811ae178c9
Store recipes in a more compact GeyserRecipe type
...
This prevents us from storing some unnecessary data.
Also removes some 1.11 recipe compatibility code that is essentially unusable.
2022-02-21 16:11:51 -05:00
Camotoy
252348ebd8
Implement globe banner pattern translation
...
Co-Authored-By: Konicai <71294714+Konicai@users.noreply.github.com>
2022-02-19 12:07:30 -05:00
Camotoy
31fd57a58d
Also apply villager fix for consoles
2022-02-12 21:44:51 -05:00
Camotoy
44af9da01d
Use axolotl tempt tag to determine axolotl food
2022-02-11 13:37:19 -05:00
Camotoy
0ca77233ed
oh no my extensive debugging setup
2022-02-10 20:15:46 -05:00
Camotoy
746cd94dd1
Fix villagers for 1.18.10
...
Includes working around pre-1.14 ONLY on pre-1.14 by checking the tags packet.
Fixes #2828
2022-02-10 20:14:52 -05:00
Camotoy
559c5d655a
Allow smithing recipes to work again in 1.18.10
2022-02-09 15:08:58 -05:00
Camotoy
0479af7cd3
Restore ClickPlan double-simulation
...
This is used in some autocrafting situations. Oops.
2022-02-08 23:16:11 -05:00
Camotoy
0eed6025a6
Remove protocol checks referencing 1.17.30
...
These are now unnecessary.
2022-02-08 23:16:11 -05:00
Camotoy
e73a4efe60
Fix build; bump to 2.0.1-SNAPSHOT
2022-02-07 12:38:28 -05:00
Camotoy
08a78731df
Drop 1.17.30 support; add support for 1.18.10.28 beta
2022-02-06 17:15:12 -05:00
Camotoy
c295e47940
Ensure inventory affected slot is added in MOVE_TO_HOTBAR actions
2022-02-05 17:12:00 -05:00
Camotoy
9d908c5598
Create IntMappedRegistry to prevent boxing
2022-02-01 20:15:31 -05:00
Camotoy
7853e8c93f
Fix cache image task from last commit and make it work with reloading
2022-01-31 09:57:43 -05:00
David Choo
36afd3f2ec
Fix villager prices with demand price adjustments ( #2767 )
...
* Fix villager prices with demand price adjustments
* Don't cap second input/output item count
* Handle negative item counts properly
* Don't get item mapping twice
* Add null check to getItemTag
2022-01-30 19:26:31 -05:00
Camotoy
da33811e3b
Init SkinProvider on Geyser startup
...
Prevents it from loading in the middle of the first Geyser player joining
2022-01-30 17:06:45 -05:00
Camotoy
2d28ba0cb5
Several inventory and parity improvements
...
These changes fix up things that were missed with Java Edition inventory changes in 1.17 and 1.17.1. Working with the inventory in modern versions should be much nicer.
2022-01-30 11:15:07 -05:00
Camotoy
d0fa2d2b05
Don't send respawn code until Java is ready
...
Fixes #2668
2022-01-30 11:14:51 -05:00
Camotoy
14882534c0
Don't fully translate item data to compare net IDs
...
Just compare the item mappings of the two Java items. This should shave some NBT and display conversion processing time down.
2022-01-30 11:05:29 -05:00
Tim203
5ce2c113ae
Remove IPv6 scope if present
2022-01-28 13:08:10 +01:00
Tim203
53de9f4a31
Deploy the Cumulus changes for Geyser so Floodgate can use them
2022-01-26 12:10:15 +01:00
Camotoy
f682cf1326
Yes, Geyser supports Bedrock 1.18.0/1/2.
2022-01-22 16:36:41 -05:00
Camotoy
1fba96c339
Address armor stand invisibility edge case
...
See https://github.com/GeyserMC/Geyser/issues/2780
2022-01-22 16:22:27 -05:00
Tim203
3011d89db6
Update Geyser to use the latest features of Cumulus 1.1
2022-01-22 12:20:52 +01:00
Camotoy
e92633d657
Add an option to always quick-change armor
...
With thanks to f068217cb7/src/main/java/me/juancarloscp52/bedrockify/client/features/quickArmorSwap/ArmorReplacer.java
for making me realize this was possible.
Currently disabled by default in the event that a server implementation also has this feature. May be enabled by default in the future.
2022-01-20 18:09:35 -05:00
Camotoy
6667a53bca
Better handling of invalid display tags
2022-01-19 19:44:46 -05:00
Camotoy
a6004af083
Minor cleanups
2022-01-19 19:30:54 -05:00
Camotoy
001a1a7a15
Support proper dimensions for player dying pose
2022-01-19 19:30:45 -05:00
Camotoy
c1e4040cb6
Don't let Bedrock players send format character
...
See https://github.com/PaperMC/Paper/issues/7362
2022-01-17 16:10:56 -05:00
Camotoy
f702fb45b4
Handle correct internal slot for swapping from inventory
2022-01-16 14:42:17 -05:00
Camotoy
8a93f6a116
Send the client render distance to the server
...
Previously we've had discussions on if the render distance math should be tweaked like we do server -> client, but for now this is better than nothing and can be tweaked further in the future.
2022-01-15 20:29:00 -05:00
Camotoy
516d8e573e
Config option to disable Bedrock scaffolding/godbridging
2022-01-15 16:28:52 -05:00
David Choo
a39de7d7d2
Fix ArrayIndexOutOfBoundsException for worlds lower than -64 ( #2759 )
...
* Fix ArrayIndexOutOfBoundsException for worlds lower than -64
`chunkSize` is Java section count while `sectionCount` is the Bedrock section count
* Send biomes for air sections while also staying within limits
.-.
* Move protocol version check to variable
2022-01-14 14:57:59 -05:00
Camotoy
3b943f214c
Update comments
2022-01-13 20:03:38 -05:00
Camotoy
881352daaf
Recreate the death smoke particles to work around double death noises
...
Fixes #2363
2022-01-13 20:00:05 -05:00
Camotoy
1c11a2ef01
Partially revert previous commit and implement hotbar swap actions
...
1.16.5 does not cooperate well when an action is invalid, and this breaks hard when crafting.
2022-01-11 16:56:11 -05:00
Camotoy
a29e7731e8
Inventory fixes and state ID emulation
...
- Introduce a state ID incrementation emulation. This prevents the server from spamming back with tons of set content packets, and can instead reply with set slot packets.
- Fix what we were sending as a carried item in the ServerboundContainerClickPacket.
2022-01-10 22:55:27 -05:00
Tim203
3251d9010c
We're in 2022 now
2022-01-01 20:03:05 +01:00
Camotoy
d7eef7aaeb
Cache forms until the player has fully initialized
2021-12-29 14:20:34 -05:00
RednedEpic
7beedb46f8
Check for empty component in JavaSetTitleTextTranslator
2021-12-29 10:50:26 -06:00
Redned
c6c2ff99c3
Fix NPE and API contract breakage for Component deserialization
2021-12-29 10:29:48 -06:00
RednedEpic
61636f44aa
Simulate Java chunk unloading by sending empty chunks
...
Closes #2725
2021-12-28 23:25:33 -06:00
RednedEpic
6742865bc5
Don't send UUID cape or ear requests if player is an NPC
...
Addresses #2722
2021-12-28 23:01:38 -06:00
Redned
b23275ff6c
Fix /geyser reload
2021-12-28 22:36:08 -06:00
Camotoy
2037a924bd
Update languages submodule
2021-12-27 13:58:28 -05:00
Camotoy
5d7e564d95
Update mappings
2021-12-26 23:58:19 -05:00
Camotoy
830baf06ca
Merge branch 'master' of https://github.com/GeyserMC/Geyser into biome-redefinition-1.18
2021-12-26 19:50:46 -05:00
Camotoy
b70e2645c8
Allow dropping items from the creative menu in mobile
...
Fixes #2626
2021-12-26 12:07:38 -05:00
Camotoy
68c13c08fa
Fix some regressions in swim handling
2021-12-25 22:46:16 -05:00
Olivia
b134dd3b1c
fix: Return early in banner translation if tag is null ( #2729 )
2021-12-25 17:16:30 -05:00
David Choo
65aaa07493
Fix sneaking speed adjustment and bounding box ( #2728 )
...
* Fix sneaking speed adjustment and bounding box
Also remove redundant session variable in SessionPlayerEntity
* Add comment to valid field
* Hopefully fix crawling after swimming in water
2021-12-23 19:49:58 -05:00
Konicai
6cd8b3387c
Cleanup some ping passthrough stuff ( #2726 )
2021-12-22 23:05:56 -05:00
Camotoy
4c409f98f3
Properly implement piglin/hoglin dimension safety
...
Whether they shake or not is now controlled by the server, as implemented in Java Edition.
2021-12-20 22:54:34 -05:00
Camotoy
fd955a66af
Fix stack trace when coordinate_scale isn't a DoubleTag
2021-12-20 21:31:19 -05:00
Camotoy
2420e33149
Allow some invalid decompression handling
2021-12-20 20:55:29 -05:00
Camotoy
6eb069cc13
Fix evoker fangs not being visible
...
Also implement sound when attacking
2021-12-20 19:59:12 -05:00
Camotoy
24f09e016d
Entity IDs in Java Edition just need to be integers
...
We don't need to keep them as longs - this just reduces the amount of casting needing throughout the codebase.
2021-12-20 19:25:11 -05:00
Camotoy
15522aed52
Fix fishing rod behavior on Geyser players
...
Fixes #2716
2021-12-19 19:15:53 -05:00
Camotoy
71a975b805
Fix tooltip durability/NBT not being translated
...
Fixes #2706
2021-12-19 15:54:31 -05:00
Camotoy
222c9d7a24
Switch to master branch of mappings
2021-12-18 22:48:28 -05:00
Camotoy
d699e7d02b
Update mappings
...
See #2710
2021-12-18 22:45:47 -05:00
David Choo
754bb42c19
Fix some mount offsets and strange behaviors with GSit ( #2701 )
...
* Prevent boats from floating when a Bedrock player rides in the back
* Update llama and shulker mount height offset
* Fix Trader llama mount offset
* Change passengers to an IntList
Also move rotation lock stuff to EntityUtils
* Allow EntityCache.getEntityByJavaId to return the session's player
Removes many checks from several translators.
* Fix mount offset on armorstands and area effect clouds
Also prevent area effect clouds from despawning when used as an invisible entity (used in GSit to offset players riding on other players)
* Update mount offsets on height changes
TODO test this
* Actually update vehicleId and optimize StriderEntity metadata update
* Don't hide marker armor stands and properly update mount offsets
* What?
* Remove y offset for Shulkers riding other entities
* Confirm teleports in the order received
This allows Bedrock players to move after standing up when using GSit
* Fix mount offset for riders on baby zoglins
* Cache only the latest teleport and confirm teleports immediately
* Fix crawling with GSit
* Inline var and undo respawn method
* Use Entity reference for vehicles
* Remove ridingVehicleEntity from GeyserSession
* Use Entity references for passengers and drop cachedPlayerEntityLinks
* Reuse variable and remove setVehicle(null)
2021-12-18 11:43:57 -05:00
Carbuino
67945ea447
Update the Bedrock Biome map for 1.18
2021-12-17 17:03:10 -07:00
Tim203
9c672c9919
Packet ids can't be negative
2021-12-16 21:58:40 +01:00
Tim203
a4399f0c1e
Implemented Floodgate's 'packet' plugin message
2021-12-16 00:19:51 +01:00
Camotoy
967ee4f58d
Fix command descriptions merging
2021-12-13 22:25:08 -05:00
Camotoy
25921e1d67
Hide out-of-range entity metadata IDs
...
The vanilla Java client gracefully ignores these.
2021-12-13 13:25:51 -05:00
Camotoy
117ebdd9c1
Remove extra semicolon
2021-12-13 13:24:58 -05:00
Camotoy
3d6dd6b8ac
Remove debug code
2021-12-11 16:06:47 -05:00
Camotoy
892855415b
Fix offset team colors
...
Fixes #2674
2021-12-11 16:05:12 -05:00
Camotoy
9d09a7e418
Display Java supported versions as list in dumps
2021-12-10 16:27:23 -05:00
Camotoy
1885a75d3c
Update version strings to indicate 1.18.1 support
...
Geyser 1.18 builds already support 1.18.1.
2021-12-10 11:15:12 -05:00
Luke
8c7a3d1822
Show the nether fog when using the nether height workaround ( #2663 )
2021-12-08 13:23:05 -05:00
Camotoy
046c93ffb0
Fix stonecutters for Bedrock 1.18
2021-12-08 09:23:23 -05:00
David Choo
ad5a98c859
Improve Statistics Form ( #2667 )
...
* Improve statistics form
Fix furnace minecart java identifier
Use clean Java identifier in times mined
Fix icons for statistic form
Show all generic statistics by initializing them to zero
Color every other line grey
Format numbers like on Java Edition
* Update for Java 16 and MCProtocolLib changes
* Sort all statistics alphabetically and color them.
* Update for MCProtocolLib changes
* Re-add clean java identifiers registry and properly fix block break statistics
Also translate before sorting >.>
* Use toLowerCase(Locale.ROOT)
* Use the format provided by MCProtocolLib
* Simplify condition
* Move statistics init and bump MCProtocolLib version
2021-12-07 20:05:44 -05:00
Camotoy
b0baf1670d
Don't send inventories to the client before initialization
...
Fixes #2677
2021-12-07 14:51:58 -05:00
Camotoy
2953ea9513
Fix NPE when hovering over ender dragon
2021-12-06 15:06:53 -05:00
Kenox
1840172c8d
Fix custom merchant inventory not opening ( #2672 )
2021-12-06 10:43:36 -05:00
Camotoy
70ec77b1e3
Revert this particular change since it wasn't quite ready yet
2021-12-05 19:07:51 -05:00
Camotoy
e954d091b9
Prevent errors from simply being swallowed
2021-12-05 19:03:47 -05:00
RednedEpic
1d713cb34c
Fix handling for null ContainerTypes
...
EnumMap does not permit null values.
2021-12-04 14:35:01 -06:00
RednedEpic
2e9ac9db7c
Use EnumMap in InventoryTranslator for inventory translators
2021-12-04 14:17:26 -06:00
Camotoy
f0213d4b8e
Minor fixes; add CPU count to dump
2021-12-03 20:26:20 -05:00
Camotoy
66819aee83
Null check for player textures in GameProfile
...
Fixes an issue with the ZNPCs plugin.
2021-12-03 19:24:22 -05:00
Camotoy
763743a845
Allow for implementations to provide a custom resource loader
...
This will allow Geyser-Fabric to work without resource loading issues. This commit also ensures try-with-resources is used anywhere a resource is accessed.
2021-12-03 11:01:06 -05:00
Camotoy
9084c59003
Fix regressions in player movement handling
2021-12-02 19:56:12 -05:00
Camotoy
c3f146370e
Add a check/warning for outdated Floodgate versions
2021-12-02 10:26:19 -05:00
Camotoy
0daa697a4c
Comment/import fixes
2021-12-02 10:15:59 -05:00
Camotoy
6a77253ef2
Fix Bedrock proxy protocol support
2021-12-01 22:47:33 -05:00