Commit Graph

242 Commits

Author SHA1 Message Date
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
RednedEpic b26879f76c Add deprecated annotaiton so gradle stops complaining 2022-03-19 23:24:57 -05:00
RednedEpic 95747d5649 Add maxPlayers API 2022-03-19 22:35:41 -05:00
RednedEpic f8e9662665 Add BedrockListener API and fix other stuffs 2022-03-19 22:30:12 -05:00
RednedEpic 9939a26a5b Add RemoteServer API 2022-03-19 21:55:29 -05:00
RednedEpic 1232c02c8e Do not compile ap into jar 2022-03-19 21:13:37 -05:00
RednedEpic 02cda38259 Merge remote-tracking branch 'origin/master' into feature/extensions-gradle 2022-03-19 20:48:14 -05:00
RednedEpic f53c3b71c0 Update dependencies 2022-03-19 20:46:30 -05:00
RednedEpic 4455dc0ded Merge remote-tracking branch 'origin/feature/extensions' into feature/extensions-gradle 2022-03-19 20:39:59 -05: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 9154a4571c Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/extensions 2022-03-06 20:35:04 -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
RednedEpic 2a667ed096 Use System.getenv instead of System.getProperty 2022-02-27 23:11:27 -06:00
RednedEpic e1e4b5059c Try command line 2022-02-27 23:01:24 -06:00
RednedEpic 28dca21892 Try this for branch name 2022-02-27 22:54:56 -06:00
RednedEpic 9bcd62937d Handle null better 2022-02-27 22:49:27 -06:00
RednedEpic 7428998d71 Fix variable replacement by using Indra 2022-02-27 22:43:06 -06:00
RednedEpic 12b3bcd6b8 Use api for the time being since that worked locally 2022-02-27 17:26:50 -06:00
RednedEpic 6321ecc166 Initial move to gradle 2022-02-27 16:38:55 -06: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 354e87b747
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/extensions 2022-02-10 09:17:27 -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
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
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
RednedEpic 5abf989139 Use lambda metadata factory for events
stonks
2022-01-16 22:52:27 -06:00
RednedEpic ac134b84f2 Remove onEnable, onDisable and onLoad and replace it with lifecycle events 2022-01-16 18:28:39 -06:00
RednedEpic 115b103628 Add extensions command 2022-01-16 16:35:27 -06:00
RednedEpic ac18ef6054 Remove adventure usage in API
Unfortunately due to various platforms we support not having adventure support, we are unable to fully implement adventure into our API without having issues with shading or conflicts with other plugins. May look into what we can do in regards to classloading in the future but unfortunately it may not be a possibility at this point in time to support adventure inside of the API.
2022-01-16 15:58:47 -06:00
RednedEpic 2277b98dfd Rename Priority to PostOrder 2022-01-16 15:16:52 -06:00
RednedEpic 30303d5f16 Implement support for adding Geyser subcommands 2022-01-16 15:09:53 -06:00
Camotoy f702fb45b4
Handle correct internal slot for swapping from inventory 2022-01-16 14:42:17 -05:00
RednedEpic b82c661688 Implement simple event system 2022-01-15 22:54:08 -06: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
RednedEpic 778f004d99 Slight cleanups and make Extension an interface 2022-01-15 16:27:35 -06:00
Camotoy 516d8e573e
Config option to disable Bedrock scaffolding/godbridging 2022-01-15 16:28:52 -05:00
Redned 3b088e81bc
Merge pull request #2761 from ImDaBigBoss/master
Geyser extension loading
2022-01-15 11:53:23 -06: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
ImDaBigBoss 0ccd85ccfb Use Geyser locale for log messages 2022-01-12 18:43:10 +01:00
ImDaBigBoss f8c173aae8 Actually did what Konicai wanted 2022-01-12 16:47:25 +01:00
ImDaBigBoss 8bb8e48a55 Fixed what Konicai asked 2022-01-12 16:40:51 +01:00
ImDaBigBoss f3a331981f Added extension dump data & make plugins be enabled on reload 2022-01-12 15:31:28 +01:00
ImDaBigBoss 805f7f666a Added javadocs & fixed API version & more 2022-01-12 13:50:54 +01: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
ImDaBigBoss 6757437193 Moved the extension into geyser-api 2022-01-10 20:01:36 +01:00