Commit graph

548 commits

Author SHA1 Message Date
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
SupremeMortal
e491cf8a17
Use Gradle's dependency catalogue feature (#3305)
Move all of our dependencies to a single catalogue file to make maintenance of them easier.
2022-09-26 11:43:17 -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
50b99d70a1
Return to using NBT dependency provided by Protocol 2022-09-21 13:39:06 -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
Camotoy
98cfdb0b33
Fix epoll on at least standalone 2022-09-20 14:25:39 -04:00
Camotoy
f31b183a33
Rename Geyser standalone jar to Geyser-Standalone.jar 2022-09-19 11:26:47 -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
9791e7b544
One more try on branch name 2022-09-18 16:29:44 -04:00
Camotoy
f11dc6d03d
A better educated guess to fix the git branch 2022-09-18 15:56:46 -04:00
Camotoy
8605f0a91c
Use master languages branch 2022-09-18 15:56:30 -04:00
Camotoy
44e60b7ad8
An educated guess to fix Git branch 2022-09-18 15:40:44 -04:00
Camotoy
f71fa9ccac
Only check for correct protocol version once 2022-09-18 15:18:48 -04:00
Camotoy
bb2f4644be
Fix IO_Uring being included in builds 2022-09-18 15:11:18 -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
Konicai
0aa7411d02
Fix git branch on Jenkins (#3286) 2022-09-15 20:32:38 -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
27b948a09b
Use Indra to get branch name 2022-09-14 21:22:34 -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
670308edc2
Update Netty version used in standalone 2022-08-26 11:19:23 -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
Camotoy
eab92da988
Fix form responses on 1.19.20 2022-08-09 19:07:11 -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
c914938acb
Fix clientbound action serialization 2022-07-27 16:55:57 -04:00
Camotoy
45b05d14be
Compiles; bump version 2022-07-27 16:38:51 -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
41273001d8
Fix chunks on Hypixel 2022-07-24 13:51:17 -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
4656383c67
Bump to 2.0.5-SNAPSHOT 2022-07-10 17:05:19 -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
Camotoy
f62484b93e
Update Adventure to fix click event deserialization
Fixes #3054
2022-06-29 16:42:30 -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
78bb69be42
Fix LevelEvent reading 2022-06-07 15:07:54 -04:00
Camotoy
2595eae300 Bump to 2.0.4-SNAPSHOT 2022-06-07 11:14:58 -04:00
Camotoy
c8856d487d
Compile too 2022-06-06 22:56:08 -04:00
Camotoy
172167f14f
Prepare for release 2022-06-06 22:54:10 -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
3582d5cd6f
Changed back the Geyser version and use Cumulus 1.1 2022-06-07 00:19:59 +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