Commit graph

245 commits

Author SHA1 Message Date
davchoo
528e8d6f67
Add effects for sculk shrieker and sculk catalyst. Translate vibration particle
Bumps NBT version to 2.2.1 for LevelEventGenericPacket
2022-05-27 11:55:00 -04:00
davchoo
f079ee430b
Fix missing startup debug logs on Standalone 2022-05-27 02:03:45 -04:00
Camotoy
3898e4f7e6
add Swift Sneak enchantment to known enchantments 2022-05-26 20:05:02 -04:00
davchoo
41cd7f4574
SoundEvent and ParticleEvent are now combined 2022-05-26 19:57:45 -04:00
Camotoy
4a9eec4c54
Implement last death position translation 2022-05-26 19:34:27 -04:00
Camotoy
85800eb32b
Tadpole 2022-05-26 18:52:04 -04:00
Camotoy
e2ce553d3a
Warden time 2022-05-26 18:41:19 -04:00
davchoo
a70f1bc003
Reinforced deepslate can't be moved by pistons 2022-05-26 18:09:27 -04:00
Camotoy
83c309711e
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.19-bedrock 2022-05-26 18:05:39 -04:00
Camotoy
d74b0e236d
Fix encoding SpawnParticleEffectPacket for 1.18.30+ 2022-05-26 18:04:58 -04:00
Camotoy
29c819fe21
Implement allay, plus some interaction fixes 2022-05-26 17:51:55 -04:00
davchoo
4b9055c252 Add new PaintingTypes 2022-05-26 16:27:54 -04:00
Camotoy
59cb0c07c2
Start implementing frogs. Ribbit. 2022-05-26 16:22:53 -04:00
davchoo
2c77306937 Use new toasts for advancements and simplify advancement form response 2022-05-26 13:13:06 -04:00
Camotoy
9183897d52
Implement chest boat 2022-05-26 13:11:39 -04:00
davchoo
66a7efaa96 Yeet 1.18.30 and old palette stuff 2022-05-25 22:11:35 -04:00
davchoo
c5de293373 Allow 1.19.0 to join and use new block mappings 2022-05-25 21:50:50 -04:00
Camotoy
1a7b57018e
Chat messages now show up correctly. 2022-05-25 21:48:38 -04:00
Camotoy
ebf18cfb28
Switch all Position instances to Vector3i 2022-05-25 19:17:49 -04:00
Camotoy
193fa23146
Paintings work 2022-05-25 18:44:33 -04:00
Camotoy
bbf45b6a4c
Compiles; provide your own mappings for now 2022-05-25 15:55:15 -04:00
Camotoy
5339127105 Start work on 1.19 2022-05-24 16:16:40 -07:00
David Choo
38625312a1
Prevent max health from being set below 0 (#2980)
* Prevent max health from being set below 0

* Add more detail to comment
2022-05-21 11:54:32 -04:00
Camotoy
8c9d1fe09f
Allow language file overrides
By placing a locale file in `languages/ll_CC.properties`, any strings in that file will take priority over Geyser's own.
2022-05-15 14:23:52 -04:00
Camotoy
b885e22fa3
Always show the world border at least five blocks away
Previously, no indication that the world border exists would show if warning blocks was set to 0.
2022-05-15 13:52:18 -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
Camotoy
f38c1fbc0f
Spigot: programmatically add Geyser permissions and fix reloading 2022-05-06 15:32:43 -04:00
Camotoy
05e98c3a10
Fix edge case in health code since 1.18.30
Fixes #2957
2022-05-04 15:54:19 -04:00
Camotoy
31a84ea302
Remove unused set 2022-04-30 20:42:29 -04:00
Camotoy
e66014af9e
Fix lava and snow cauldrons looking wrong
Fixes #2955
2022-04-30 20:40:34 -04:00
Camotoy
8a1799e0e3
Remove block tag adding to villager trading
Fixes sugar cane being untradeable.
2022-04-29 13:24:58 -04:00
Camotoy
3035527be2
Indicate 1.18.31 support for Geyser
This uses the same protocol version as 1.18.30, so no further changes are required.
2022-04-27 20:04:13 -04:00
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
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
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
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
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
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
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
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
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
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
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