Commit Graph

499 Commits

Author SHA1 Message Date
Camotoy 0e07991edf
Changes as I was randomly staring at the code 2022-10-17 23:36:46 -04:00
Camotoy 657968f872
Indicate 1.19.31 Bedrock support 2022-10-17 23:35:16 -04:00
Kevin Ludwig bd613987ce
Fix empty chunk encoding 2022-10-15 20:26:02 -04:00
Camotoy 8bf8b22d6b
Fix some regressions in custom item handling 2022-10-12 17:21:58 -04:00
Camotoy f59e33d749
Fix behavior of matching custom item predicates
Huge thanks to Kastle for helping me disect this behavior.

- The Unbreakable NBT tag is not the only source for determining if an item should be treated as unbreakable. The damage NBT is also taken into account.
- Custom item options must be processed in an ascending order.
- Multiple conditions may be necessary for an item to be selected.
- Conditions do not have to be exact. See the comments in CustomItemTranslator for an explanation.
- Added a test so we don't break this behavior in the future.
2022-10-10 15:40:07 -04:00
Konicai 7653a626af
Update Sponge to API 8 (#2611) 2022-10-02 16:43:14 -04:00
Camotoy cb864b3c98 Fix NPE with furnace minecart with NBT data 2022-09-30 21:21:37 -04:00
Kevin Ludwig c31bd456f6
Fix entity motion (arrows now rotate correctly) (#3307) 2022-09-30 12:12:27 -04:00
Camotoy 1b6cfad5ad
Fix ghost blocks when insta-mining on 1.19+
Fixes #3113
2022-09-27 19:24:50 -04:00
Kevin Ludwig 2c5c72f85f
Replace particle explosion with particle block explosion in JavaExplodePacket (#3301) 2022-09-23 10:04:15 -04:00
Camotoy d2b7b8c392
Set the default Bedrock version to 1.19.30 2022-09-21 15:33:33 -04:00
Camotoy 6df9081d6e
Possibly fix recipe class cast errors 2022-09-21 12:52:29 -04:00
Camotoy 5206bc3b99
Elaborate if secure profiles need to be disabled 2022-09-21 12:49:38 -04:00
Camotoy 55f7253a98
Let biomes NBT be parsed by 1.19.30 2022-09-21 12:27:16 -04:00
Konicai c84d53c827
Re-add git.properties (#3287)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-09-19 11:22:09 -04:00
Camotoy 8605f0a91c
Use master languages branch 2022-09-18 15:56:30 -04:00
Camotoy f71fa9ccac
Only check for correct protocol version once 2022-09-18 15:18:48 -04:00
Camotoy 4e2d750791
Gatekeep RequestAbilityPackets to 1.19.30+ 2022-09-18 12:20:54 -04:00
Camotoy 64c03b9610
Correctly detect flying in 1.19.30 2022-09-18 12:18:47 -04:00
Camotoy c8a51d7834
Update to release protocol 1.19.30 2022-09-17 16:37:30 -04:00
Camotoy 83be01958f
Yeet logging into Microsoft with password
This has been broken for ages; we need to finally remove it.
2022-09-15 15:53:03 -04:00
Camotoy e64e12ff98
Initial support for 1.19.30 Bedrock 2022-09-14 21:17:08 -04:00
Camotoy 6df8740955
Only register commands on Spigot if the extension has commands 2022-09-14 14:19:56 -04:00
Camotoy a99afe4418
Remove usage of Fastutil Object2Reference maps
These are only beneficial for containsValue checks.
2022-09-13 16:24:08 -04:00
Camotoy 2d7a463089
Make Geyser dumps backwards compatible 2022-09-11 19:26:22 -04:00
RednedEpic 8fb22ee225 Merge branch 'master' into feature/extensions 2022-09-04 16:42:14 -05:00
RednedEpic 770dfca328 Fix dumps 2022-09-04 16:35:50 -05:00
ImDaBigBoss f1da9d7072 Allow events to be registered by any class
Supersedes & closes #3073

Co-authored-by: Redned <redned235@gmail.com>
2022-09-04 16:11:08 -05:00
RednedEpic db3b470225 Merge remote-tracking branch 'konicai/api-version-check' into feature/extensions 2022-09-04 13:17:20 -05:00
RednedEpic e5337b6298 Reintroduce GeyserDefineCommandsEvent and cleanup a few things 2022-09-04 13:08:17 -05:00
Kevin Ludwig a16fc9c07c
Add way to specify key for encrypted packs (#3263) 2022-09-03 14:12:48 -04:00
Camotoy 7d7a38a502 Indicate support for 1.19.22 2022-09-03 14:03:22 -04:00
Tim203 c07c7b9337
Added support for latest events version 2022-09-01 00:50:03 +02:00
AJ Ferguson f8a84f9777
Loopback exemption fixes (#3261)
* Fix potential hang when checking loopback exemptions

* Remove single quotes from LoopbackExempt command
2022-08-31 16:42:38 -04:00
Camotoy d9db035d95
Add example issue to Inventory#getBedrockId 2022-08-29 12:30:16 -04:00
AJ Ferguson 8e47a9f5e9
Ensure bedrock inventory id is at most 100 (#3260) 2022-08-29 12:26:30 -04:00
Kas-tle 1db77ad2bd
Fix address, port, & motd being ignored in config (#3259) 2022-08-28 20:42:31 -04:00
Camotoy b7337fa032
Update mappings
Fixes #3252
2022-08-25 16:11:30 -04:00
Camotoy 29fcce7ec8
Add option to not log player IP addresses
Resolves #3246
2022-08-25 16:10:43 -04:00
Kas-tle 936fed1ded
Move sendMessage(Component) to GeyserCommandSource 2022-08-24 15:38:54 +00:00
Kas-tle e35f3785b2
Resolve fallout 2022-08-24 04:53:13 +00:00
Kas-tle 9232310b4d
Upstream 2022-08-24 04:53:00 +00:00
Camotoy 8dde4b4347
Support Bedrock 1.19.21 2022-08-23 13:20:57 -04:00
Camotoy 82411978c8
Update languages submodule 2022-08-22 14:34:26 -04:00
Camotoy d499e22502
Debugging always sneaks in... 2022-08-21 21:25:32 -04:00
Camotoy 67a65c45d3
Implement update notifications for Geyser
Geyser installations will now get notified when a new Bedrock release is out and Geyser must be updated. The system works similarly to ViaVersion where OPs get a notification of an update when they join. The permission node for players to see update notifications is `geyser.update` and the backing JSON that controls this can be found at https://github.com/GeyserMC/GeyserSite/blob/gh-pages/versions.json. There is also a config option to disable update checking.

This update also fixes modern Paper installations not being able to see colored text logged from Geyser in the console.
2022-08-21 21:22:15 -04:00
Camotoy a3b1cf61ad
Geyser end of https://github.com/GeyserMC/GeyserOptionalPack/pull/34 2022-08-20 16:32:24 -04:00
Camotoy 3716b7a84f
Remove initialized check in movement
This probably isn't needed anymore. This was introduced in https://github.com/GeyserMC/Geyser/pull/41 and is probably no longer needed since we never send movement before the player is spawned, and we don't allow movement to go through until the Bedrock player matches the unconfirmed teleport we create in JavaPlayerPositionTranslator. By removing this we should fix some instances of players kicked for 'flying' as players joining in the air would never respond to gravity until Bedrock finished loading.
2022-08-20 14:56:40 -04:00
Tim203 13046a8602
Fixed building and switched event library 2022-08-13 22:48:12 +02:00
David Choo 33af9e094c
Fix missing cool down indicator when attacking mobs (#3230) 2022-08-12 22:25:07 -04:00
Tim203 ab6e0d1e16
Some more API changes 2022-08-12 01:01:26 +02:00
Tim203 80588a07bd
Initial API changes 2022-08-11 23:17:56 +02:00
Typical fd4f683d15
Merge pull request #1 from TypicalShavonne/master
Set baby if armor stand is small for OptionalPack (#3210)
2022-08-11 14:40:00 +07:00
Kas-tle 50ea5eac9a
Set baby if armor stand is small for OptionalPack (#3210) 2022-08-10 18:05:59 -04:00
Konicai 737df21495
Merge remote-tracking branch 'upstream/master' into ext-1.19.20-fixes
# Conflicts:
#	ap/pom.xml
#	api/base/pom.xml
#	api/geyser/pom.xml
#	api/pom.xml
#	bootstrap/bungeecord/pom.xml
#	bootstrap/pom.xml
#	bootstrap/spigot/pom.xml
#	bootstrap/sponge/pom.xml
#	bootstrap/standalone/pom.xml
#	bootstrap/velocity/pom.xml
#	common/pom.xml
#	core/pom.xml
#	pom.xml
2022-08-10 17:01:02 -04:00
Konicai ab2b79485b
Fix sending forms with floodgate for 1.19.20 (#3217)
* Fix sending forms with floodgate

* Comment about 1.19.20

* Swapped if-else

Co-authored-by: Tim203 <mctim203@gmail.com>
2022-08-10 22:09:55 +02:00
David Choo 25a18a2e4f
Fix maps not loading in Bedrock (#3218) 2022-08-09 21:35:26 -04:00
Camotoy 88727fb473
Bump Geyser to version 2.0.7-SNAPSHOT and default Bedrock to 1.19.20 2022-08-09 20:30:49 -04:00
Konicai 259fed247a
Merge remote-tracking branch 'upstream/master' into ext-1.19.20-fixes
# Conflicts:
#	core/pom.xml
2022-08-09 19:27:25 -04:00
7man7LMYT ef81bdeb6b
Update items to 1.19.20 (#3215)
* Update to 1.19.20

* Add 1.19.20 mapping

* Revert biome changes
2022-08-09 16:52:53 -04:00
Konicai ee5e916112
Merge remote-tracking branch 'upstream/master' into ext-1.19.20
# Conflicts:
#	core/pom.xml
2022-08-09 14:36:54 -04:00
Camotoy f74713c0ed
Initial support for 1.19.20 Bedrock 2022-08-07 12:09:54 -04:00
Camotoy 3c27273eac
Indicate support for Java 1.19.2 2022-08-05 11:29:47 -04:00
Konicai 29c9bde9ef
Merge branch 'feature/extensions' into api-version-check 2022-08-04 18:18:21 -04:00
Konicai 67e3bf1f8d
Move extensions folder to Geyser's config folder (#3202)
* Move extensions folder to Geyser's config folder

* Move directory field
2022-08-04 17:55:12 -04:00
Konicai 22b16e3587
Merge branch 'feature/extensions' into api-version-check 2022-08-03 11:29:31 -04:00
Konicai 36ef23b24e
Don't allow empty extension name 2022-08-03 00:30:22 -04:00
Konicai aa7d0f4a57
Use class for reading extension.yml 2022-08-03 00:20:27 -04:00
Konicai a5dc70a3b5
Refactor extension description 2022-08-02 23:22:08 -04:00
Konicai 17f3deb8df
try to reset languages 2022-08-02 01:11:17 -04:00
Konicai 7121051d9a
Merge mistake fixes 2022-08-02 00:25:07 -04:00
Konicai aee43e68fa
Merge remote-tracking branch 'upstream/master' into feature/extensions
# Conflicts:
#	ap/pom.xml
#	api/base/pom.xml
#	api/geyser/pom.xml
#	api/pom.xml
#	bootstrap/bungeecord/pom.xml
#	bootstrap/bungeecord/src/main/java/org/geysermc/geyser/platform/bungeecord/GeyserBungeePlugin.java
#	bootstrap/pom.xml
#	bootstrap/spigot/pom.xml
#	bootstrap/sponge/pom.xml
#	bootstrap/standalone/pom.xml
#	bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap.java
#	bootstrap/velocity/pom.xml
#	common/pom.xml
#	core/pom.xml
#	core/src/main/java/org/geysermc/geyser/command/CommandManager.java
#	core/src/main/java/org/geysermc/geyser/registry/populator/ItemRegistryPopulator.java
#	core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaLoginTranslator.java
#	core/src/main/resources/languages
#	pom.xml
2022-08-02 00:01:05 -04:00
Camotoy 6856922f42
Don't let players change their own gamemode without permission
Fixes #3191
2022-08-01 14:45:03 -04:00
Camotoy 51d9320500
Bungee: Check for potentially outdated proxies 2022-08-01 11:01:24 -04:00
Camotoy ab5e5a661d
Update wording on `saved-user-logins` 2022-08-01 00:37:17 -04:00
Camotoy d826949b01
Indicate support for Bedrock 1.19.11 2022-07-28 18:09:35 -04:00
Camotoy 8f8964761a
Merge branch 'feature/1.19.1' 2022-07-28 17:45:55 -04:00
Camotoy 4163de9314
Translate allay dancing 2022-07-28 17:45:38 -04:00
Camotoy 40fde6b046
Some nitpicks and cleaning up the provider API
The command changes here are not final. Internally we're discussing if we want to allow extensions to register root commands on platforms.
2022-07-26 18:33:39 -04:00
Camotoy f4a5ccb1f9
Empty villager trades are valid
Fixes #3171
2022-07-24 19:41:05 -04:00
Camotoy a18ac29a91
Initial 1.19.1 Java support 2022-07-24 19:32:22 -04:00
Camotoy 76bb5d4d88
Fix persistent FOV when walk speed is ever set to zero
Fixes #3139
2022-07-23 10:50:43 -04:00
Camotoy 0efd04dd87
Initial code for `/geyser connectiontest`
This command acts as a testing ground for debugging Unable to Connect to World. More checks will be added in the future.
2022-07-20 19:59:03 -04:00
Camotoy 616c088b66
Fix custom items with ItemTranslator#getBedrockItemMapping 2022-07-20 18:35:40 -04:00
sctigercat1 467286060c
Update items to 1.19.10 (#3151)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-07-19 21:23:04 -04:00
David Choo 3de2b33e30
Armor stand fixes (#3147)
Co-authored-by: David Choo <davchoo@users.noreply.github.com>
Co-authored-by: The Judge <53906078+thejudge156@users.noreply.github.com>
2022-07-17 21:00:08 -04:00
Kas-tle 46faf02474 Merge remote-tracking branch 'upstream/master' into feature/extensions 2022-07-14 01:46:26 +00:00
Camotoy f6f8886f23
Fix PS4 players crashing on certain dimension switches 2022-07-13 21:31:10 -04:00
Kas-tle 1b5f237996 Merge remote-tracking branch 'upstream/master' into feature/extensions 2022-07-12 20:17:23 +00:00
Camotoy 109e1c0a97
Fix dropping items in 1.19.10 2022-07-12 16:05:06 -04:00
Kas-tle 2dbd39c5a4
Per review by @Camotoy 2022-07-12 16:33:57 +00:00
Kas-tle bca6359f7e
1.19.10 fallout 2022-07-12 05:29:39 +00:00
Kas-tle 363d72da91
Merge remote-tracking branch 'origin/master' into feature/extensions 2022-07-12 05:26:52 +00:00
Camotoy 16bb79e7aa
Support HAProxy in legacy ping passthrough 2022-07-11 08:38:26 -04:00
Camotoy 83ba6b5ab5
Extensions have their own command 2022-07-10 20:58:48 -04:00
Camotoy fa726092e3
A cleaner error on illegal set slot packet 2022-07-10 15:52:11 -04:00
Camotoy 4d0952c224
Initial support for 1.19.10 Bedrock 2022-07-10 13:33:39 -04:00
Camotoy 2ce7ff850a
Support the 1.19.0 Java block prediction/ack system 2022-07-09 23:02:19 -04:00
Camotoy 897c4dcfec
Changes 2022-07-09 18:39:02 -04:00
Yashar ab4800c4f2
Fix login screen not closing (#3122) 2022-07-08 19:01:00 -04:00
David Choo dc810f1d39
Fix break time while submerged in water (#3110)
* Fix break time while submerged in water

* Review stuff

* LAYERS -> LEVELS
2022-07-02 21:17:14 -04:00
RednedEpic f9fd7cb831 Fix Geyser not working in IDE 2022-07-02 12:42:31 -05:00
RednedEpic b5eb27693f Use an immutable view in GeyserDefineCommandsEvent
Methods to properly register/unregister commands are provided in the command manager
2022-07-02 12:30:23 -05:00
ImDaBigBoss 36c49a7256
Custom item support for extensions (#2822)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-07-02 12:50:16 -04:00
AJ Ferguson f2f894b1d1
Fix IronGolem cracked texture and sound (#3103)
* Update mappings submodule

* Set IronGolem maxHealth to 100 by default

Fixes cracked texture on vanilla servers

* Add detail to comment
2022-06-30 17:40:30 -04:00
Camotoy 13e8b59ed0
Quick fix for NPE in SystemChatTranslator
This won't matter in 1.19.1 so.
2022-06-30 16:53:55 -04:00
David Choo 5d29bda7eb
Fix incorrect patterns in loom and DecoderException in beacons (#3090)
* Fix DecoderException when setting beacon effect

* Fix incorrect patterns applied in loom and remove old version stuff
2022-06-26 19:12:43 -04:00
Camotoy 00603c5239
Fix creeper primed sound 2022-06-26 18:45:47 -04:00
Camotoy 2ea50116cf
Forward cooldowns for shields and goats
These are server-controlled as of 1.19. Ender pearls and chorus fruit still appear to be client-controlled.
2022-06-24 23:13:35 -04:00
David Choo 9ea22042eb
Fix some item interactions (#3083)
* Remove Bedrock only banner patterns from the creative inventory

* Add sound for tadpole bucket

* Fix lily pad and frogspawn placing on mobile/single stacks

* Workaround? Fix? for bucket usage on mobile

* Simplify math and update position+rotation whenever ServerboundUseItemPacket is sent

* Rotate the player back after using an item and fix glass bottles

* ITEM_USE actionType 1 does not need the rotation fix

Increase delay for look back

* Add some checks

* Prevent buckets and spawn eggs from being unintentionally placed when interacting with special blocks

As of 1.19 Bedrock no longer sends a PlayerActionPacket with action=BLOCK_INTERACT. Bedrock now sends action=ITEM_USE_ON_START before and action=ITEM_USE_ON_STOP after using an item on a block. However, this is not useful as it is sent for all block interactions.

* Fix inventory transactions being rejected after restoreCorrectBlock

The held item's netId is always 0 in the InventoryTransactionPacket.

* Touch ups

* Fix lookAt for different poses and sneaking + cauldron + bucket interactions

Fix boat items being desynced when placing them very close to collision
Fix bottles being desynced when tapping above water

Resend the held item if we do encounter a desync

* Avoid getting blockstate twice and fix comment

* Use generated interaction data

* Fix glass bottles being double filled and phantom water bottles/water buckets

* Don't update the entire inventory on useItem

* Use Geyser's inventory copy for check

* Use ItemTranslator#getBedrockItemMapping to avoid NBT translation

* mappings

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-06-24 16:48:28 -04:00
Camotoy 60327339d6
Indicate support for Bedrock 1.19.2 2022-06-23 21:24:26 -04:00
AJ Ferguson 18f6836c15
Set default Warden heartBeatDelay to 40 (#3071) 2022-06-18 15:32:51 -04:00
Xamyr fef0401add
Fixed armorstand passenger yOffset (#2976) 2022-06-17 22:15:31 -04:00
AJ Ferguson 71c489b462
Add missing villager entity events (#3063) 2022-06-17 12:25:49 -04:00
Camotoy 37d6fd8abf
Add an option to disable compression for Geyser clients 2022-06-16 19:18:11 -04:00
Camotoy 5b67c78785
Allow Minecraft locales to be loaded even if offline 2022-06-16 17:14:47 -04:00
David Choo 5e1769d2bd
Translate goat horns (#3057) 2022-06-15 22:55:11 -04:00
Camotoy ea21e0323a
Map correct glass sounds
Fixes #3049
2022-06-15 21:38:10 -04:00
Camotoy 7739e8097e
Another locale string to pick up on for outdated servers 2022-06-15 19:59:27 -04:00
Camotoy 4405989b81
Fix compiling 2022-06-15 18:36:55 -04:00
Camotoy ddd2262380
Custom chat types at login are valid
Fixes https://github.com/GeyserMC/Geyser-Fabric/issues/55
2022-06-15 18:32:27 -04:00
rtm516 aa097ecdc4
Fix java style queries responding incorrectly (#3051) 2022-06-14 19:51:45 -04:00
ImDaBigBoss db003293e9 Merge master 2022-06-12 10:33:32 +02:00
Camotoy 162aff4978
Better handle chat packets sent before login 2022-06-10 10:27:07 -04:00
Camotoy f1a12d1feb
Bump mappings and MCProtocolLib 2022-06-09 18:34:25 -04:00
Camotoy 72a9df58e0
Properly support differently setup chat registries
ViaVersion has two entries in its fake chat registry that are not in the same order as Java. This commit supports that properly and renders subtitled text correctly.

Resolves #3023
2022-06-08 22:30:34 -04:00
ImDaBigBoss 4e2f74481b Updated to 1.19 2022-06-08 14:09:14 +02:00
Camotoy c8856d487d
Compile too 2022-06-06 22:56:08 -04:00
Camotoy a397f55e8b
Add goat horn count 2022-06-06 21:06:02 -04:00
Tim203 378aa6ed99
Updated changes for latest Geyser version 2022-06-07 00:31:29 +02:00
Tim203 d8b63b9310
Merge remote-tracking branch 'origin/feature/1.19-bedrock' into feature/floodgate-packet
# Conflicts:
#	core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCustomPayloadTranslator.java
#	core/src/main/java/org/geysermc/geyser/util/PluginMessageUtils.java
2022-06-07 00:25:17 +02:00
Tim203 5fe24ac867
Merge remote-tracking branch 'origin/feature/1.19-bedrock' into feature/cumulus-1.1
# Conflicts:
#	core/src/main/java/org/geysermc/geyser/session/cache/AdvancementsCache.java
2022-06-07 00:14:43 +02:00
Tim203 86d0200960
Re-added the old sendForm methods 2022-06-06 10:03:39 +02:00
Camotoy 09fb6bf3ba
Fix direct connection and ensure connecting doesn't block 2022-06-05 18:38:29 -04:00
Tim203 94445a5222
Re-added the old sendForm methods 2022-06-06 00:25:45 +02:00
RednedEpic bcc68ee4b5 Update to latest MCPL changes 2022-06-05 13:12:36 -05:00
Camotoy 3ac2c981a7
Swap pitch and volume for warden heartbeat 2022-06-02 18:57:33 -04:00
davchoo 2e3e7c6949
Fix sonic boom duration ticking below zero 2022-05-31 15:15:15 -04:00
davchoo 365f8cf7e3
Translate Warden sonic boom event
Bump Protocol to fix Sonic boom flag
2022-05-31 14:58:40 -04:00
Camotoy eb23a46887
Fix frog color translation 2022-05-31 14:51:21 -04:00
Camotoy 81bb6f124e
e 2022-05-31 14:26:08 -04:00
Camotoy 196742a597
Set entities silent client-side, and more
Add warden entity events. Fix up other things.
2022-05-31 14:25:15 -04:00
Camotoy bf4e1d5be7
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.19-bedrock 2022-05-31 10:52:10 -04:00
Camotoy c83eb7f142
Print CPU name in dump if possible 2022-05-30 14:51:03 -04:00
davchoo 9133008e18
Translate ClientboundSoundEntityPacket
Used by allay, frog, and a few other mobs.
Move common code to SoundUtils
Update mappings
2022-05-30 14:38:03 -04:00
Camotoy a3cdfc5306
Use correct type for entity metadata 2022-05-29 21:11:10 -04:00
Camotoy e43a143bf4
Remove obsolete chunk writing code 2022-05-29 20:39:14 -04:00
Camotoy 7a0a6795d0
Remove now-obsolete sign workaround. Yay. 2022-05-29 20:31:54 -04:00
davchoo f79a3ef2f7
Bump Protocol version to fix command suggestions
Fix assert that occurs on Bedrock after typing /
2022-05-29 18:56:54 -04:00
Tim203 bd1cc26bf3
Use new Cumulus methods 2022-05-29 23:39:40 +02:00