Commit Graph

86 Commits

Author SHA1 Message Date
Camotoy ee754c529b
Add implementation for ClientEmoteEvent
Also, a few random changes I've stored since forever.
2023-02-15 00:17:14 -05:00
Camotoy c909b2b1a5
Fix #3521 2023-01-31 13:01:20 -05:00
Camotoy b5e1ddc3c8
Guess when the client is clicking air on mobile
Should address #2113
2023-01-03 19:28:43 -05:00
Camotoy 00df4c26ba
Don't send more than one ServerboundSwingPacket per tick
Should address #2875
2023-01-03 15:51:58 -05:00
Camotoy c483204446
Merge branch 'dev' 2023-01-02 12:19:19 -05:00
Camotoy 566b2635c0
Explain why Bedrock players can't chat with enforce-secure-profile 2022-12-30 16:24:16 -05:00
Camotoy c48cb2a4a8
Remount players in their vehicle if they're not supposed to leave 2022-12-22 13:19:46 -05:00
Camotoy ad4424d2b6
Use server data to pick block on banners 2022-12-17 21:05:41 -05:00
Konicai 59974c3f3a
A start on camels and hanging signs 2022-12-04 18:12:07 -05:00
Konicai 7d165e329b
Revert "Drop anything below 1.19.50"
This reverts commit 58eede37
2022-12-03 17:20:33 -05:00
Konicai 58eede37c0
Drop anything below 1.19.50 2022-12-02 00:28:24 -05:00
RednedEpic 8f96823048 Add support for Bedrock 1.19.50 (560) 2022-11-28 20:53:17 -06:00
Kevin Ludwig 7dc2ca35d6
Fully strip formatting from chat and commands (#3417) 2022-11-28 12:46:07 -05:00
Konicai cc82f4b871
Fix bounding box for 1.19.40 after death + respawn (#3374)
Co-authored-by: onebeastchris <105284508+onebeastchris@users.noreply.github.com>
2022-10-29 20:08:41 -04:00
Camotoy 1b6cfad5ad
Fix ghost blocks when insta-mining on 1.19+
Fixes #3113
2022-09-27 19:24:50 -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
RednedEpic 8fb22ee225 Merge branch 'master' into feature/extensions 2022-09-04 16:42:14 -05:00
AJ Ferguson 8e47a9f5e9
Ensure bedrock inventory id is at most 100 (#3260) 2022-08-29 12:26:30 -04: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 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
David Choo 33af9e094c
Fix missing cool down indicator when attacking mobs (#3230) 2022-08-12 22:25:07 -04:00
Tim203 80588a07bd
Initial API changes 2022-08-11 23:17:56 +02: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 616c088b66
Fix custom items with ItemTranslator#getBedrockItemMapping 2022-07-20 18:35:40 -04:00
Kas-tle 363d72da91
Merge remote-tracking branch 'origin/master' into feature/extensions 2022-07-12 05:26:52 +00:00
Camotoy 83ba6b5ab5
Extensions have their own command 2022-07-10 20:58:48 -04:00
Camotoy 2ce7ff850a
Support the 1.19.0 Java block prediction/ack system 2022-07-09 23:02:19 -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
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
ImDaBigBoss 4e2f74481b Updated to 1.19 2022-06-08 14:09:14 +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
Camotoy 7a0a6795d0
Remove now-obsolete sign workaround. Yay. 2022-05-29 20:31:54 -04:00
Tim203 d4ecd2bd72
Merge remote-tracking branch 'origin/master' into feature/cumulus-1.1
# 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
#	core/src/main/java/org/geysermc/geyser/session/cache/AdvancementsCache.java
#	core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCustomPayloadTranslator.java
#	core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java
#	pom.xml
2022-05-28 17:09:20 +02:00
Camotoy 9183897d52
Implement chest boat 2022-05-26 13:11:39 -04:00
Camotoy ebf18cfb28
Switch all Position instances to Vector3i 2022-05-25 19:17:49 -04:00
Camotoy bbf45b6a4c
Compiles; provide your own mappings for now 2022-05-25 15:55:15 -04:00
David Choo b33cc512b4
Add custom skull render distance (#2751)
* Add player skull render distance

* Improve updateVisibleSkulls a bit

Avoid rechecking visibility on small movements

* Periodically despawn unused skull entities

* Don't hide skull entity for position/rotation changes

Prevents flickering for skulls that are rotating

* Update visible skulls when a skull is removed

* Only update on removal if an entity is assigned

* No need to check for skull in ChunkUtils

Update copyright year

* Avoid rechecking all skulls when a skull is added/removed

* Allow skull render distance and number to be configured

Renamed some fields to better match their values

* Compare texture property directly from GameProfile

* Remove unnecessary blockState field from SkullPlayerEntity

* Use binarySearch for insertion

Wait for player movement before loading skulls

* Allow culling to be disabled by setting max-visible-custom-skulls to -1

* Only remove skulls in inRangeSkulls when culling is enabled

* Add suggestions from review

* Merge the for loops in updateVisibleSkulls

* Fix skulls being leaked on chunk unload
2022-05-14 15:12:18 -04:00
RednedEpic 43f23674d6 Merge branch 'master' into feature/extensions
# 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
#	core/src/main/java/org/geysermc/geyser/configuration/GeyserJacksonConfiguration.java
#	core/src/main/java/org/geysermc/geyser/network/UpstreamPacketHandler.java
#	core/src/main/java/org/geysermc/geyser/session/GeyserSession.java
#	core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockFilterTextTranslator.java
#	pom.xml
2022-04-24 11:23:26 -05: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 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
Konicai 03b067e23e
Merge master into extensions (#2941)
* 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.

* Make all moon phases visible

The fix to prevent integer overflows also prevented moon phases from being visible until now.

Fixes #2927

* SetTimeTranslator: cast from long on the entire modulus

This should fix some inaccuracies with time on older worlds.

* Bump version; drop 1.17.40; support 1.18.30

* Actually bump to 2.0.3-SNAPSHOT

* Fix message being sent still if a single escape character is sent

* Replace instances of configs using `generateduuid` for Metrics

* Fix some merge mistakes

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-04-20 21:37: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 cf8114543e Bump version; drop 1.17.40; support 1.18.30 2022-04-17 19:53:06 -04:00
Camotoy 1ebc3fd8f6
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/extensions 2022-04-07 19:22:46 -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