Commit graph

862 commits

Author SHA1 Message Date
Kas-tle
9ddfdf9374
Add support for custom blocks and skulls (#3505)
* Super cursed custom skulls custom block

* Rename some stuff

* Attempt to clean up some code

* Remove skull translation events and define custom blocks for custom skulls

Clean up skull block translation a bit

* Auto generate skull resource pack

Change `davchoo` to `geyser` in geometry

* Add config options for custom blocks and custom skull blocks

* Fix formatting and names for player skulls

* Use block states more efficiently for custom skulls

21 block states vs 48 block states

* Clean up custom block api a bit

* Apply some suggestions from Camotoy

* Move custom skull config stuff to its own file

Custom skulls can now be added by username, uuid, and textures

Move skull nbt stuff from requestTexturesFromUsername to
SkullBlockEntityTranslator
Add requestTexturesFromUUID

* Update custom block nbt for v534

* Disable collision box & selection box when box is empty

Fix incorrect collision names used in CustomBlockComponentsBuilder

* Add custom block stuff to provider registry loader

* More API changes

Convert CustomBlockPermutation into a record
Change materialInstances in CustomBlockComponents Builder to
materialInstance
Reuse box components in CustomSkull

* Convert skull floor geometries into a template

Should be easier to modify in needed in the future.

* Crop and reorder skull textures to eliminate unused space

Should reduce memory & storage usage for Bedrock clients

* Revert "Crop and reorder skull textures to eliminate unused space"

This reverts commit 15fd5353e1.

* Use identifier from CustomBlockData in SkullResourcePackManager

* Fix isIncorrectHeldItem check for custom skull blocks

Add defaultBlockState to CustomBlockData

* Fix adding duplicate block states for custom blocks with 0 properties

Remove defaultBlockState CustomBlockState field from
GeyserCustomBlockData since it creates a circular reference

* Add basis for overriding Bedrock block states

Fix missing providers when used in GeyserDefineCustomBlocksEvent

* Fix custom blocks in 1.19.50

* Decouple mappings from items

* Decouple mappings from items

* Null check

* Move to CustomBlockRegistryPopulator

* Remove name_hash from blocksTag/vanillaBlockStates

Fixes creative inventory contents with custom blocks registered

* Limit Bedrock versions to 1.19.40+

Custom blocks were released in 1.19.40

* Un-revert Crop and reorder skull textures to eliminate unused space

Should reduce memory & storage usage for Bedrock clients

Bug with top face flipping + per-face uv's was fixed in 1.19.40+
https://bugs.mojang.com/browse/MCPE-160073
Geometry is still offset by 0.5 to prevent lighting bugs

* Add validation custom block components and s/lightFilter/lightDampening/

Also validate custom block names

* Add display name component and add toggle for client block placing

The display name component allows blocks to use other locale keys.
placeAir will prevent the client from placing the default block state.

* Begin parsing block mappings (still much to do!)

* CustomBlockMapping stores block w/ all states

* Mappings almost :/

* Ok now they work at least

* Read most mapping components

* Block mappings mostly done

* Translate block item

* Add docs for custom blocks

* Add tags

* More docs

* Accidentally added name comp.

* Fix collide box and warn for >16 props

* add registerBlockItemOverride event + refactor

* Inventory overrides for multistate bedrock blocks

* Implement all remaining block components

* Minor cleanup and javadocs

* Update custom skull config example

* Address @Camotoy's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix light_emission and light_dampening components

* Remove redundant populate method and remove BLOCKS_JSON after last use

* Fix inventories with block state overrides not opening

* API event for skull blocks & let register via URL

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Use skin hash instead of URL

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @davchoo's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Rework MappingsReader_v1 to avoid passing maps around

* Treat all properties as string properties

There isn't a real need to check for boolean and int properties

* Fix block registry scan in MappingsReader

* Skin hashes can have less than 64 characters?

* Include entry when logging exceptions from block mappings

* Submodule

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix block break speeds thanks to @Camotoy

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Temporarily fix build on eclipse so I may work...

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Custom tool breakspeed by server; Closes #3348

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Account for if custom skulls are added on 1st run

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Initial framework for extended collision boxes

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Add some notes for the extended collision box impl

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* We have our extended collision registry

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Notes for me

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Extended collision boxes almost work

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Extended collision boxes actually work

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Consider all hitboxes in calculation

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* X is mirrored...

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Extended collision boxes are much improved

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Upstream fallout

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @Redned235's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Oops my bad that makes no sense :)

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Ext collision box chunk translation optimization

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Trunc skinhash to 32 chars due to 80 char limit

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Use new transformation cmpnt vs legacy rotation

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* keep arr null on get extcolstor

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Properly handle if extended collision box is below

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Less ugly (realized it can go here)

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Prevent 2x placement due to extended collision box

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Properly build on eclipse via indra

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Ensure enough bits in bedrockData for paletteIDs

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix not needed whitespace

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update license headers to 2023

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Use release indra over snapshot

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Revert "Update license headers to 2023"

This reverts commit f750059e8e.

* Account for collisions in chunk section y0 layer

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix extended collision @ air section bottom

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @davchoo's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @rtm516's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* More @rtm516's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @Camotoy's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update javadocs

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @davchoo's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Lock extended collision to section

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Clear ext col even when air

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Let override vanilla items in creative inventory

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Avoid creating 12 HashSets for every overrided block state

* Super minor nitpicks + Custom Skull NBT fix

* Check custom skull is within Bedrock bounds

Fixes NPE with custom skulls above y=320 or below y=-64

* Add static builder methods to match CustomItemData API

* Upstream

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Initial API setup for modded blocks (no impl yet)

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* More work on nonvanilla blocks (nonfunctional)

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix compile

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update submodules

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Modded reg so far (not done)

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Add non-vanilla registration and fix a few bugs

* Fixes for non-vanilla blocks

* Remove import

* CustomRegPop. go1st for now; must split for modded

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address silent change to geo component for blocks

Co-Authored-By: Unoqwy <pm@unoqwy.dev>
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Seperate bedrock, vanilla, & nonvanilla block reg

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Single event

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Impl MaterialInstance as builder per @Redned235

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Added creative category enum & added some missing overrides (#7)

* Add material instance to provider registry

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* oops

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix case of correctBedrockIdentifier not found

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix docs

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address @Camotoy's review

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address review from @davchoo

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Set namespace of custom blocks vs ident direct

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Address review from @rtm516

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* One more

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Remove rogue space

* Geo component as builder

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* use super name

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Bump version

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: davchoo <davchoo@users.noreply.github.com>
Co-authored-by: davchoo <4722249+davchoo@users.noreply.github.com>
Co-authored-by: Unoqwy <pm@unoqwy.dev>
Co-authored-by: RednedEpic <redned235@gmail.com>
Co-authored-by: ImDaBigBoss <67973871+ImDaBigBoss@users.noreply.github.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2023-08-21 16:04:08 -07:00
Konicai
661a9b4741
Improvements to MessageTranslator (#3803)
* Renames for clarity and refactor convertToJavaMessage
* Bump adventure, velociy. Require CharacterAndFormat in MessageTranslator
* Fix deprecations related to DummyLegacyHoverEventSerializer
* Patch serialization of ScoreComponent until Adventure 1.15.0
2023-08-17 23:07:55 -04:00
chris
706d1b9627
Fix smithing tables on pre-1.20 servers (#4056) 2023-08-16 22:42:17 -04:00
Adam Chance
505c065956
Update Geyser download URL (#4045)
* Update Geyser download URL

* Use existing constant instead of duplicating string
2023-08-08 10:18:43 -07:00
Kas-tle
941275586d
Use chunk version 9 (#4040)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-08-07 08:01:10 -07:00
chris
2361f587da
Don't send softEnumPackets when command suggestions are false (#4037)
* Don't send SoftEnums if command suggestions are set to false, add system property to not send team suggestions

* address review
2023-08-06 17:39:27 -07:00
chris
b1f04a9012
Allow custom unusable-space blocker item (#4038)
* Allow the "unusable-space-block" to be a custom item (specified by bedrock identifier)

* add space for log error

* don't use ugly atomic reference
2023-08-06 17:22:05 -07:00
chris
176ef83ed1
Fix fox height/width (#4039) 2023-08-06 17:15:13 -07:00
Konicai
7b409fd55b
Cache the Keep Alive timestamp for forwarding ping (#4002)
* Cache the (clientbound) Keep Alive timestamp and use that for forwarding ping
* Use a Queue of keep alive IDs to handle KeepAlive packets sent in succession
* Don't force NetworkStackLatencyTranslator on the session's event loop
* Send clientbound NetworkStackLatencyPacket immediately
* Avoid sending negative NetworkStackLatencyPackets that are not from the form-image-hack in FormCache
* Downsize timestamps that would lead to overflow on the client
2023-08-01 10:58:59 -04:00
Konicai
d89b55e9ac
Ignore invalid animations in ClientboundAnimatePacket (#4025) 2023-07-31 16:56:28 -04:00
Roman Alexander
7725651726
Fix double sending ServerboundPlayerActionPacket in creative (both of which Spigot interprets as a BlockBreakEvent) (Fixes #4021) (#3996) 2023-07-30 13:48:29 -07:00
chris
d147ee37dc
send system chat overlay and actionbar as jukebox_popup messages (#3941)
* send actionbar and systemchat overlay messages as jukebox text to avoid clashes with armor/air UI

* add explaining comment
2023-07-29 16:51:16 -07:00
Konicai
3949fb1988
Check if Items of campfire block entity is null (#3986)
* Check if items of campfire block entity is null
* Use instanceof for Items
2023-07-25 13:33:50 -04:00
Konicai
19914a5d7a
Update enchanting table use sound (#4007) 2023-07-22 17:32:13 -04:00
chris
b17191b553
Fix /playsound command by stripping only the Minecraft namespace (#3956)
Fixes https://github.com/GeyserMC/Geyser/issues/3953
2023-07-21 22:25:09 -04:00
Camotoy
966270d3c8
Fix missed swing on 1.20.10 2023-07-21 19:25:01 -04:00
Konicai
396f4e4900
Update latency translator for 1.20.10 (#3993) 2023-07-17 14:45:45 -04:00
chris
340be2d8a4
fix observer mapping (#3970) 2023-07-12 13:21:29 -04:00
Konicai
3a0c1b788a
Support for 1.20.10 (#3961)
Co-authored-by: chris <github@onechris.mozmail.com>
Co-authored-by: RednedEpic <redned235@gmail.com>
2023-07-11 18:17:01 -05:00
chris
cc6bbf9902
fix https://github.com/GeyserMC/Geyser/issues/3948 (#3955) 2023-07-08 21:36:08 -04:00
chris
872d7e3bb6
let boats not sink down, use less choppy (but faster) animation (#3949)
* let boats not sink down, use less choppy (but faster) animation

* remove passenger check since that always returns true
2023-07-07 18:14:38 -04:00
chris
d1357df8f5
fix https://github.com/GeyserMC/Geyser/issues/3938 (#3947) 2023-07-06 10:19:02 -07:00
Camotoy
0e3e2d0e28
Remove unused file 2023-07-04 19:18:12 -04:00
Camotoy
d44e599925
Fix #3905 2023-07-04 18:06:05 -04:00
Konicai
ff05c98690
Camera shake and fog effect api (#3931) 2023-07-02 17:00:46 -04:00
Konicai
b344e21f7f
Fix loading contents keys of encrypted resource packs (#3925) 2023-06-29 12:22:13 +01:00
Tim203
99671960d0
Merge remote-tracking branch 'origin/master' into jwt-changes
# Conflicts:
#	core/src/main/java/org/geysermc/geyser/registry/populator/BlockRegistryPopulator.java
#	core/src/main/java/org/geysermc/geyser/registry/populator/ItemRegistryPopulator.java
#	core/src/main/java/org/geysermc/geyser/util/LoginEncryptionUtils.java
2023-06-27 12:12:31 +02:00
Konicai
c7568ec889
Move to a text box for commands on Geyser standalone GUI (#3915) 2023-06-26 14:44:25 -04:00
Konicai
cdd0459d47
Implement interaction entity (#3916) 2023-06-26 12:04:28 -04:00
Konicai
8aed471ba0
Fix serverbound hanging sign updates (#3904) 2023-06-22 18:05:07 -04:00
Amberichu
70db98eeaf
Fix updating villager trade experience (#3906)
* Fix villager experience not updating

Remove unnecessary fake trade experience stuff

* Hide trade level for wandering traders
2023-06-22 17:38:05 -04:00
Konicai
50d7f56aaf
Update piglin head variants (#3901) 2023-06-20 08:28:51 -05:00
DeveloperDragon
50d3945477
Fix/proxy protocol missing message (#3898)
* Show proxy protocol ip for debug message

* Make sure that first message that contains proxy protocol also gets sent. This caused issues with serverlists and console players
2023-06-20 08:28:31 -05:00
Amberichu
811aba3339
Validate written_book tags and fix writable book losing changes (#3894)
* Validate NBT tags of written_book like Java edition

* Update page count and character count limits

The maximum number of characters allowed in Java's book edit screen is
1024 for each page and 16 for the title. However, the packet itself has
a limit of 8192 * 3 bytes for each page and 128 * 3 bytes for the title.

* Fix writable book losing changes when signing

Bedrock sends a 3 action InventoryTransactionPacket after the player
changes a page. This causes Geyser to send a ServerboundEditBookPacket
with an outdated NBT. The Java responses with a
ClientboundContainerSetSlotPacket that overwrites any NBT Changes from
BedrockBookEditTranslator.

* Add a comment for the title length check

* Specify color in Component.translatable
2023-06-18 20:02:27 -04:00
Konicai
2368b63ad5
Allow deferred registries to be loaded/set more than once (#3892) 2023-06-18 17:45:25 -04:00
rtm516
f272ed9383
Move PlatformType to API and expose it for extensions (#3798)
* Move PlatformType to API and expose it for extensions

* Move to a record
2023-06-17 02:56:50 +01:00
chris
8d068ee28f
Add SessionJoinEvent and SessionLoginEvent (#3840) 2023-06-16 20:46:32 -05:00
chris
903e61f1a3
Exposing resourcepack loading to api (#3696)
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
Co-authored-by: RednedEpic <redned235@gmail.com>
2023-06-16 20:39:53 -05:00
Konicai
6eca6ade06
Loop through item palette versions in ascending order (#3884) 2023-06-16 20:51:29 -04:00
Konicai
23fb63eb17
Update mappings for new pottables, other misc(#3885)
torchflower/cherry sapling as pottable, other misc
2023-06-16 20:37:54 -04:00
Tim203
3d1a10db3b
Update events library to latest version 2023-06-16 22:54:21 +02:00
chris
6591332eb7
fix commands with trailing whitespaces (#3878)
fixes https://github.com/GeyserMC/Geyser/issues/3877
2023-06-15 22:17:29 -04:00
Konicai
eecf84e87d
Show archeology brushing animations (#3855)
Display items emerging from suspicious blocks
2023-06-15 15:04:50 -04:00
Konicai
4e749d75f8
Sound and particle mapping updates (#3874) 2023-06-15 13:27:11 -04:00
RednedEpic
bf5e08403c Fix shift-click crafting with item in hand
When shift-clicking the result item in a crafting table while holding an item in your hand, items would bug out completely and cause weird inventory desyncs.
2023-06-13 23:26:43 -05:00
RednedEpic
d43a862491 Strip unnecessary block entity tag from container NBT 2023-06-13 22:54:55 -05:00
RednedEpic
1b0d03824a Update Protocol and RakNet 2023-06-13 22:09:00 -05:00
Amberichu
f55d84321a
New entity mount offsets (#3861)
* Add missing entities to getMountedHeightOffset and getHeightOffset

* Fix mount offset on Camels for more than 1 passenger

* Fix mount offset for Shulkers on Bamboo boats and minecarts with stuff

Also fix mount offsets for minecart and boat passengers

* Combine

* More missing mount offsets

* Fix mount offsets for entities riding players
2023-06-11 13:32:42 -04:00
Konicai
049d64d34d
Leniency when trimming incoming sound ids (#3852) 2023-06-09 21:30:03 -04:00
AJ Ferguson
1d99f8beb8
Fix shift clicking Stonecutter output (#3854) 2023-06-09 21:23:10 -04:00
Konicai
1788295291
Translate nbt of decorated pots (#3847) 2023-06-09 12:33:50 -04:00
Camotoy
3ec0d82d46
Kick pre-1.19.30 players for not sending a RequestNetworkSettingsPacket 2023-06-09 12:10:59 -04:00
Konicai
53d002656f
Update EmotePacket creation for 1.20 (#3841)
Include xuid and platformId in EmotePacket
2023-06-08 23:43:45 -04:00
Konicai
ab577f66ac
Translate armour trims on items (#3837) 2023-06-08 23:32:04 -04:00
Konicai
f9870ac4ce
Update mappings to fix chiseled bookshelves (#3839) 2023-06-08 23:25:16 -04:00
Konicai
4cd472906c
Update handling of sign color/glow for 1.20 (#3835) 2023-06-08 13:30:25 -07:00
Konicai
6791acd215
Handle effects with infinite duration (#3834) 2023-06-08 13:20:49 -07:00
Konicai
4ab9eb4920
Misc 1.20 fixes (#3828)
* Update mappings

diff: f69b4db9a6...2989dbd7e1

* 1.20 boat entity variants and remove old check in UpstreamPacketHandler
2023-06-08 07:23:27 -07:00
Redned
b78ca431b6
Merge pull request #3817 from GeyserMC/feature/1.20 2023-06-07 10:47:44 -05:00
RednedEpic
13c9063368 Update to use protocol 589 and other 1.20 updates 2023-06-07 09:44:18 -05:00
Redned
b3a66dbe29
Something looked wrong... 2023-06-04 22:43:56 -05:00
Redned
23cdde5cc6
Drop any namespace for incoming sounds
Fixes custom sounds defined through a resource pack.
2023-06-04 22:40:09 -05:00
Tim203
c5d4b86564
Prepare for changes made in CloudburstMC/Protocol#205 2023-06-03 11:47:50 +02:00
Camotoy
822568ecaa
Banners on shields support 2023-06-03 00:21:09 -04:00
James Harrison
277396525f
Update MinecraftCapes URLs (#3797) 2023-05-26 23:25:46 +01:00
Konicai
3162f1e4fd Update mappings module 2023-05-24 16:54:32 -04:00
Konicai
a9d64de070 Support for v588 client and mappings 2023-05-24 16:37:16 -04:00
Konicai
f712d4dd81 Bump Protocol and update imports of org.cloudburstmc.protocol.bedrock.data.definitions 2023-05-23 16:34:50 -04:00
Konicai
ba4e37075d
Fix uppercase item attribute modifier names (#3780)
* Check for hide attributes flag, and "Name" -> "AttributeName"

* Operation tag is not required?

* Only process each modifier once

* Ignore `minecraft:` namespace if present

* No `Operation` is implicitly ADD, fix knockback_resistance check
2023-05-22 12:58:01 -04:00
rtm516
178fb2136f
Allow custom bows and food to be registered using the API (#3782) 2023-05-21 13:22:15 +01:00
AJ Ferguson
3e7f420532 Handle non-full blocks for Sniffer digging particles
This is how Java does it
2023-05-19 21:11:43 -04:00
AJ Ferguson
53ed40fde7 Some work on CamelEntity 2023-05-19 18:46:02 -04:00
Konicai
df5092d32f Take width of hanging signs into account 2023-05-18 00:58:27 -04:00
Camotoy
b9c568733a
Improve sign editing 2023-05-17 20:11:14 -04:00
Konicai
4d8cb709da Use load for sniffer_food because of ViaVersion 2023-05-17 16:43:42 -04:00
Konicai
5cf5225c0c canEat for Sniffer 2023-05-17 16:06:28 -04:00
AJ Ferguson
701d9844aa Set SnifferEntity digTicks to 0 when transitioning out of DIGGING state 2023-05-16 23:35:28 -04:00
AJ Ferguson
c35b7c93fd
Translate SnifferEntity (#3777)
* Translate SnifferEntity

* Add comment for pose
2023-05-16 21:45:16 -04:00
onebeastchris
231095e115 make heads render when equipped 2023-05-17 01:38:49 +02:00
YHDiamond
fbd157ccdf
Add Attribute Modifiers Display (#3728)
* Add Attribute Modifiers Display

Allows Bedrock players to view the Attribute modifiers display on the bottom of items.

* Fix handling for Knockback Resistance

For some reason, Knockback Resistance is multiplied by 10 in the display for addition, so this handles that oddball.

* Add null check for NBT

* Remove "contains" check

This is checked in the beginning of the addAttributes method so is not required here.

* Add curly brackets

Camotoy likes curly brackets I guess

* Use ModifierOperation enum instead of int for clarity
2023-05-16 14:54:34 -05:00
Konicai
d8ec4a5389 Hardcode armor trim recipes 2023-05-15 22:51:52 -04:00
Konicai
c2285e018b Merge remote-tracking branch 'upstream/master' into feature/1.20 2023-05-15 14:05:23 -04:00
Konicai
67662113fd Update mappings to 1.20 2023-05-14 19:30:35 -04:00
Camotoy
8e67b87bc0
A start on signs 2023-05-14 19:12:19 -04:00
Roman Alexander
1e79aa9b37
Update AddEntityPacket to include headYaw (#3762) 2023-05-13 23:37:44 -04:00
Konicai
d9698edcc2
Fix smithing tables, but trim recipes are broken. 2023-05-13 22:42:18 -04:00
蒟蒻
ea136b269c
Add Spectator mode ability layer (#3770)
Fixes #3769
2023-05-13 17:29:30 -04:00
rtm516
2b56927d27
Fix java items getting registered at the wrong index
Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
2023-05-13 19:54:16 +01:00
Konicai
e978df5a3b
Merge branch 'feature/1.20' into feature/1.20-more 2023-05-13 00:13:07 -04:00
Konicai
21623fee20
Remove special cases in block/item populators that are no longer necessary 2023-05-13 00:05:22 -04:00
rtm516
870a838c0f
Add the ability for custom items to show with an enchantment glint (#3766) 2023-05-13 00:40:17 +01:00
Konicai
2ec0d8c501
Compiling against MCPL 1.20
At a minimum, smithing and signs are broken
2023-05-11 21:27:46 -04:00
Konicai
d0bf0013ec
Use the mapped bedrock item identifier (instead of java) to fill the record registry 2023-05-11 20:08:43 -04:00
Konicai
9def94cba0
Update Items class 2023-05-11 17:52:31 -04:00
Camotoy
cc856b84b1
Initial sniffer code 2023-05-11 13:23:27 -04:00
Camotoy
8849fd7018
Revert "Revert "Drop support for versions less than 1.19.80 (#3758)""
This reverts commit d93f3dd1f5.
2023-05-11 12:38:49 -04:00
Camotoy
d93f3dd1f5
Revert "Drop support for versions less than 1.19.80 (#3758)"
This reverts commit 7b05ca3c41.
2023-05-11 12:38:11 -04:00
Konicai
7b05ca3c41
Drop support for versions less than 1.19.80 (#3758) 2023-05-11 12:36:19 -04:00
AJ Ferguson
fbac0c10db
Fix creativeNetId overlap (#3756) 2023-05-10 09:41:36 +01:00
7man7LMYT
9b264e6374
Add GeyserBedrockPingEvent (#3715) 2023-05-09 23:50:38 -04:00
Camotoy
ed21a10101
Boss bars should actually be more reliable on dimension switch 2023-05-09 01:41:57 -04:00
RednedEpic
a0b63abc6e Warn on outdated Java version 2023-05-08 19:08:40 -05:00
rtm516
6da8d5e7be
Add custom items to registry 2023-05-08 20:54:49 +01:00
onebeastchris
33d50cb668
Change the API not found error message #3670) 2023-05-07 03:07:27 -04:00
Camotoy
0d25a3f04d Fix boss bars not showing up on dimension switch 2023-05-07 02:59:44 -04:00
Camotoy
6e9b272f50
Should fix custom items and durability 2023-05-03 20:17:05 -04:00
Camotoy
f3f30625d4
Gracefully handle invalid level event IDs
Fixes #3714
2023-05-03 11:01:31 -04:00
onebeastchris
f801dc05bd
Add support for new spawn eggs (#3688) 2023-05-02 15:09:07 -04:00
Camotoy
5e5d5f3e43
Fix Javadocs 2023-05-02 13:21:17 -04:00
Camotoy
f457d953fc
Fix proxy protocol support for Bedrock
Fixes #3703
2023-05-02 13:17:25 -04:00
rtm516
b48d4a0625
Check the local extension for the class before expanding the search 2023-05-01 23:24:34 +01:00
Camotoy
aa5e2e9cac
Ensure a singleton IntList doesn't take in a Block object 2023-05-01 13:04:12 -04:00
Valaphee The Meerkat
eee8dd46b1
Fix RakNet ping (#3722) 2023-04-30 15:52:45 -04:00
Valaphee The Meerkat
4d929f8a2c
Replace § in sign text and book editing operations (#3721) 2023-04-29 21:41:14 -04:00
onebeastchris
baae46822e
Fix enchantments on books Bedrock -> Java (#3713) 2023-04-28 16:29:46 -04:00
Camotoy
8a25afbc8f
Update mappings submodule 2023-04-27 13:27:20 -04:00
Camotoy
1f18e4fe4f
Fix #3683 2023-04-27 13:09:38 -04:00
Camotoy
97e91ef962
Indicate 1.19.81 support 2023-04-27 13:09:15 -04:00
Camotoy
c8afd3436d Fix Floodgate autodetection 2023-04-26 21:11:26 -04:00
onebeastchris
8a257181b9
Don’t overwrite all other version changes (1.19.80 wool works again) (#3701) 2023-04-26 19:08:26 -05:00
Camotoy
58b593ef99 GeyserItemStack: Remove item from equalsAndHashCode 2023-04-26 19:02:49 -04:00
Camotoy
545087fba4
Fix message translation regression 2023-04-26 15:33:36 -04:00
onebeastchris
321f98c75d
fix logs and fences in 1.19.80+ (#3698) 2023-04-26 14:50:59 -04:00
Tim203
7c1100b830
Fixed auto-setting auth-type to Floodgate 2023-04-26 18:53:03 +02:00
basaigh
d4ffecb500
Fix the RGB downgrade chat test. (#3697)
Co-authored-by: D3ATHBRINGER13 <53559772+D3ATHBRINGER13@users.noreply.github.com>
2023-04-26 12:25:56 -04:00
Camotoy
49aa9468a0
Should fix some crafting errors 2023-04-25 13:29:05 -04:00
Camotoy
214d3d241d Commment out this test; am lazy and don't want to fix it 2023-04-24 23:53:44 -04:00
Camotoy
b66088e434 TEMPORARY fix for chunk memory leaks 2023-04-24 23:48:05 -04:00
Camotoy
abba88112a
Use all 1.19.80 Bedrock legacy codes for color downsampling
This will make RGB downsampling a bit more colorful.
2023-04-24 18:44:33 -04:00
Camotoy
bc66f81630
Should fix Floodgate skin uploading 2023-04-24 13:16:45 -04:00
Camotoy
365dd622bb
Recipes are fixed in 1.19.80 2023-04-23 14:09:51 -04:00
rtm516
2ac7eb83c0
Add SessionInitialize event (#3691)
* Add SessionInitialize event

* Move to using GeyserConnection instead of BedrockServerSession

* Remove redundent re-expose

* Rename geyserSession to just session
2023-04-23 11:42:02 +01:00
Julian Vennen
f39e689b83
Implement System properties to set the udp port and address #3597 (#3689)
* System property stuff

* Add geyserUdpPort/Address system properties as overrides for pluginUdpPort/Address

* Fix formatting for if-else statements

---------

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2023-04-22 21:33:23 -04:00
Camotoy
66ae88a2f6
Signs work in 1.19.80 2023-04-21 12:56:30 -04:00
Camotoy
51566a963f
Work-in-progress 1.19.80 support. Doesn't work yet 2023-04-21 00:36:51 -04:00
SupremeMortal
eaaba44e05
Remove unneeded retain 2023-04-20 10:45:23 +01:00
Camotoy
0f3d5c5859 Allow fallback components to translate with arguments 2023-04-18 19:07:55 -04:00
Camotoy
48b796d75e
Expose emote stuff in API; different secure chat checking
This should fix false flags from secure chat disablers doing funky things.
2023-04-15 12:54:30 -04:00
Camotoy
0521fba1a8
Do not assume biomes are in sequential order 2023-04-12 11:03:03 -04:00
ImDaBigBoss
98dceee5e3
Mapping option for handheld display & fix for #3346 (#3672)
* Mapping option for handheld display and fix for #3346

* Fix custom items
2023-04-11 14:32:31 -04:00
Camotoy
d22ee51633
Fix NPEs in CrossbowItem 2023-04-11 13:15:17 -04:00
RednedEpic
e542e01994 Merge branch 'feature/protocol-3.0' of https://github.com/GeyserMC/Geyser into feature/protocol-3.0 2023-04-09 14:12:15 -05:00
RednedEpic
37c936e177 Chunk biome optimizations 2023-04-09 14:11:46 -05:00
Camotoy
0cc801d047 Fix custom items 2023-04-09 12:30:25 -04:00
RednedEpic
5ea88a8cf1 Untested HAProxy support 2023-04-08 19:44:01 -05:00
RednedEpic
be48b83c28 Fix connection request handler 2023-04-08 19:01:42 -05:00
Camotoy
05a88f7693 Fix compiling probably 2023-04-08 16:19:42 -04:00
Camotoy
11c277481f Allow fallback components to translate properly
Fixes #3660
2023-04-08 15:49:55 -04:00
Camotoy
f83235cf96 Remove unused parameter in NBT translation 2023-04-08 12:57:07 -04:00
Camotoy
707cbce6cf Javadocs. 2023-04-08 12:54:19 -04:00
Camotoy
60de3187c6 Yeet NbtItemStackTranslator 2023-04-08 12:45:13 -04:00
Camotoy
503296a9cf Decrease final startup memory usage 2023-04-07 14:08:22 -04:00
Camotoy
5eb8bec76e Commands work again I guess 2023-04-07 00:17:20 -04:00
Camotoy
b6113dfd31 Optimizations and regression fix 2023-04-06 21:47:37 -04:00
Camotoy
8083f70435 KQueue no longer needs to be shaded in on Spigot/Fabric 2023-04-06 19:54:22 -04:00
Camotoy
a62595aaa4 AAAA 2023-04-06 14:43:07 -04:00
Camotoy
adb37c96e9 Just disable this test... it's going to be complicated to get this to work 2023-04-06 14:38:50 -04:00
Camotoy
80ac3f3d08 Test fix attempt two 2023-04-06 14:07:12 -04:00
Camotoy
a315d04b35 Test fix 2023-04-06 14:03:21 -04:00
Camotoy
ff89913d20 Fix mappings submodule 2023-04-06 13:33:03 -04:00
Camotoy
d9811d08e3 Merge remote-tracking branch 'origin/master' into feature/protocol-3.0 2023-04-06 13:26:28 -04:00
Camotoy
0f99abc3a4
Fix #3549 2023-04-02 16:42:44 -04:00
Camotoy
5871ca3f22
Fix up boat types after 1.19.4
Fixes #3649
2023-04-01 15:25:37 -04:00
Camotoy
e2535108e6
Folia support and preparations for future changes 2023-03-30 15:44:55 -04:00
Camotoy
95236b37e0
Add support for basic display entities 2023-03-28 18:49:19 -04:00
Tydium
45e043c6e9
Fix Custom Model Data not working on Potions. (#3616) 2023-03-28 14:35:22 -04:00
Kas-tle
2a8d8b6cdf
Set Shulker Color by Default (#3648) 2023-03-28 11:18:21 -04:00
Camotoy
a7c04d5323
Fix #3619 2023-03-26 13:20:53 -04:00
Camotoy
323394d2b5
Clean up jar file classes a bit 2023-03-26 13:20:53 -04:00
onebeastchris
7474d2c745
show sweeping edge enchantment (#3615) 2023-03-25 21:14:04 -04:00
Kas-tle
96260cc358
Bring Rain/Thunder Behavior Inline With Java (#3637)
Closes #3611 Closes #2588 Closes #2499

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2023-03-24 00:57:40 -04:00
Camotoy
7ef005006b
Safety null check for dismount check code 2023-03-21 15:07:51 -04:00
Camotoy
b695dc075d
Fix command redirection detection 2023-03-19 14:09:01 -04:00
Camotoy
b664bb961e
Indicate 1.19.71 support 2023-03-19 14:08:48 -04:00
David Choo
021ffe2d94
Update ringing bell block event logic (#3625)
Check for BellValue instead of a GenericBlockValue
Removes now unnecessary JAVA_BELL_ID from BlockStateValues
2023-03-19 11:30:56 -04:00
Camotoy
a330c9a5db
Fix lecterns
Huge thanks to Dylan from PocketMine for the idea here.

Fixes #3138
2023-03-18 17:40:51 -04:00
Camotoy
9609686eb3 Version out potion registry
The ID of (for example) redstone dust has shifted, meaning that our hack of re-using IDs no longer works.

Fixes #3620
2023-03-17 19:07:31 -04:00
Camotoy
147618d5bc
Fix player nametags always appearing 2023-03-17 13:41:13 -04:00
Camotoy
acb25b0c99
Remove legacy 1.19.2x Bedrock code 2023-03-17 13:41:01 -04:00
Camotoy
79e9890923
Fix smithing tables not opening 2023-03-15 11:03:29 -04:00
Tim203
6ec7326193
Removed another debug line 2023-03-14 21:16:38 +01:00
Camotoy
d3e7d99396 Remove debug print 2023-03-14 15:53:16 -04:00
Camotoy
03c0767965 Finish 1.19.4 support and add Bedrock 1.19.70 support 2023-03-14 15:37:57 -04:00
Camotoy
720c901535
Fix nameTagVisibility nullability 2023-03-14 07:44:52 -04:00
Camotoy
2436b2b1be Damage will now show again. 2023-03-12 23:51:51 -04:00
Camotoy
777c69a21e
Remove armor quick change config
This is now in vanilla 1.19.4.
2023-03-12 13:06:13 -04:00
Camotoy
b3f1c64249 Base changes for Java 1.19.4 support 2023-03-10 20:51:51 -05:00
nils
2f23e5cb9c
fix: Fix legacy ping passthough (#3601) 2023-03-10 00:13:20 -05:00
Camotoy
1be2a1ccac
Fix sleeping on vanilla/Fabric
Fixes #3595
2023-03-06 20:53:54 -05:00
apex_
10c2e51da4
Fix closing inventory confirmation behavior (#3587) 2023-03-03 09:09:52 -05:00
Camotoy
95d10fb7fc Don't throw an AssertionError on failed locale download
Fixes #3589
2023-03-02 18:40:40 -05:00
Redned
a72e49527d
Simplify publish logic and move to GitHub Actions (#3579)
Co-authored-by: Tim203 <mctim203@gmail.com>
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
2023-02-24 20:05:15 -06:00
Camotoy
65319c5859 Prepare for an actual 568 release 2023-02-24 12:40:29 -05:00
Camotoy
e50226132f
Fix more issues of chunks not appearing 2023-02-23 13:11:18 -05:00
Camotoy
406dfcb22c Fix error on 1.19.62 2023-02-16 20:01:51 -05:00
Camotoy
30277d5411 Anticipate support for the patch version of 1.19.60 2023-02-15 16:17:38 -05:00
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
6a6a601efc Notify on disconnect when a new Geyser update is available 2023-02-15 00:01:33 -05:00
SupremeMortal
1769f2a85c
Merge branch 'master' into feature/protocol-3.0 2023-02-14 22:09:48 +00:00
onebeastchris
9b3b2fba17
callout internet connection issues (#3544) 2023-02-09 22:18:03 -05:00