Commit Graph

1647 Commits

Author SHA1 Message Date
Konicai 6f93bbfe21
Improvements to VillagerEntity (#2412)
* initial changes to villager

* touchup

* don't call getPos() twice

* whoops, better
2021-07-30 15:45:50 -05:00
Camotoy 8c95e26189
Fix experimental toggle'd biomes not accounting for chunk offset 2021-07-29 14:35:03 -04:00
Camotoy 7a99aa0ddf
Merge branch 'biomes' 2021-07-28 20:27:34 -04:00
Konicai b86648332a
Auth type refactor in internal config (#2410) 2021-07-28 19:44:09 -04:00
Camotoy 5529a1cc1c
Fix spectator gamemode movement
- Don't allow the player to toggle flight status in spectator mode
- Fix weird flight movement when player was previously on the ground
- The player is always flying in spectator mode, no exceptions
2021-07-28 13:21:18 -04:00
Camotoy 4241b5463f
Fix mesa replacement biome 2021-07-27 23:01:38 -04:00
Camotoy a5beebdffa
Add best-fit replacement biomes for custom biomes 2021-07-27 22:52:07 -04:00
Camotoy 8c96c3b11d
Biome reworkings
- Introduce biome mappings for having a constant reference between Java biome identifier and their Bedrock equivalents
- Don't assume biome IDs and instead listen to the server for biome IDs
- Ensure that only valid Bedrock biomes are sent. With the caves and cliffs experimental toggle, Bedrock will crash if an invalid biome ID is sent its way.
2021-07-27 20:29:27 -04:00
Camotoy 46cd26ffae
Don't cache non-locale assets in the LocaleUtils asset cache
Previously Geyser was storing a reference of every single asset hash provided by the server, including things like sound files. We never used this files, and their existence caused the amount of Asset classes present in Geyser to be over 3000. With this change, we only cache the 118 language files.
2021-07-25 10:11:53 -04:00
David Choo c6589136bf
Fix movement against spawners (#2409) 2021-07-24 10:35:23 -04:00
Camotoy a93f3119f6
Map bamboo jungle [hills] to their Bedrock ID 2021-07-23 21:42:08 -04:00
Camotoy da66a01a9a
Fix possible NullPointerException in handling CanBreak/CanDestroy items 2021-07-23 21:28:28 -04:00
Camotoy e840828763
Update the outdated strings to be more concise 2021-07-23 20:11:50 -04:00
Camotoy f16f91f469
Check for outdated Java versions older than 16 2021-07-23 19:51:46 -04:00
Camotoy 11f048a065
Better logic for item updating on item entities
Specifically created to address InteractionVisualizer updating all metadata properties when updating the nametag - this commit prevents the item from jumping on updating. It also prevents the entity from being respawned if just the stack size updated.
2021-07-22 09:16:19 -04:00
Redned c3f65b176d Tweak README - Geyser is fine on production and has been for a while :) 2021-07-21 22:31:54 -05:00
Redned 0e30895302 More registry documentation, and remove unneeded clean identifiers registry 2021-07-21 22:18:31 -05:00
RednedEpic 9817dc932a Merge branch 'feature/optimizations' into master 2021-07-21 21:44:49 -05:00
Redned ef7c673276 Properly use CompleteableFuture for MSA auth 2021-07-21 21:39:30 -05:00
Redned 4a8e598c62 Document the registry system (Closes #2387) 2021-07-21 21:14:00 -05:00
David Choo 8f98162c69
Fix Item drop animation (#2406) 2021-07-21 21:48:59 -04:00
Camotoy 6b84e07c34
Consolidate left/right parrot checks into one boolean
The 1.17 update missed a couple of updates. Address the problem by only checking once.

Fixes #2402
2021-07-21 13:44:11 -04:00
Camotoy 41d15f3ec3
Optimize squid packet sending
Don't send a full MoveEntityAbsolutePacket when we can send a smaller MoveEntityDeltaPacket that only has rotation information.
2021-07-20 18:41:09 -04:00
David Choo d7fbdaf93d
Fix Squid Animation (#2398) 2021-07-20 12:08:48 -04:00
Redned 1a0ac26398 Move leak detector to standalone bootstrap class 2021-07-18 17:44:08 -05:00
Redned 39324ce95d Go back to normal thread for now using MSA auth, and only toggle leak detector on standalone 2021-07-18 17:41:47 -05:00
Redned ae4e4397e3 Use a CompleteableFuture rather than constructing a new thread for logins 2021-07-18 17:04:16 -05:00
Redned 15863bdaef Disable netty's resource leak detector if no level is set 2021-07-18 16:24:55 -05:00
Redned 95a1cbfa24 Some more micro optimizations 2021-07-18 15:43:04 -05:00
Redned 1ad952b581 Handle locale stuff downloading of main thread and add doc to Object2IntBiMap
Technically LocaleUtils is not thread safe and people running Geyser for the first time on slow internet connections may see some untranslated messages. However, we were seeing startup times of about 1+ minutes on these slow connections, and it's better that players see untranslated messages for a short period of time rather than having to wait over a minute for the program to start up.

Once the locale is installed, it doesn't need to be redownloaded again (unless there is a game update) and all translated messages will just work once this download is complete without clients needing to relog.
2021-07-18 15:20:40 -05:00
Redned b4921132e1 Replace BiMap with an Object2IntBiMap 2021-07-18 14:43:17 -05:00
Redned fde36a2234 Fix check for missing item mapping and update mappings submodule 2021-07-18 12:47:02 -05:00
Camotoy 0e72952e0b
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-07-18 11:13:37 -04:00
David Choo 2766038db9
Update player bounding box in more scenarios (#2377)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-18 10:58:08 -04:00
Camotoy 697f35f657
Specify the first and last relevant block runtime IDs for items
Improves startup time and processing
2021-07-17 18:09:55 -04:00
RednedEpic ff280ef192 Replace Reflections usage with an annotation processor
Reduces jar size by about 1.5-2mb
2021-07-17 13:36:04 -05:00
Camotoy 80b8d18c31
Replace more instances of String#split with BlockUtils#getCleanIdentifier 2021-07-17 09:43:25 -04:00
David Choo 4e629feee8
Fix block unique Java IDs (#2390) 2021-07-17 09:33:38 -04:00
Camotoy 4844302883
Merge branch 'extended-world-height' 2021-07-16 20:21:43 -04:00
Camotoy 01873ea566
Change some comments 2021-07-16 20:18:13 -04:00
Camotoy 8e593a55a3
Adjust language strings for new options 2021-07-16 20:06:09 -04:00
Camotoy f03a2dd317
Remove goat horn from creative menu; use proper sculk sensor item 2021-07-16 12:28:11 -04:00
Camotoy 7972f089d9
Oops 2021-07-15 20:51:35 -04:00
Camotoy db1563aa79
Better estimate for new biome data size 2021-07-15 20:51:13 -04:00
Camotoy 3b55826d70
Make the ByteBuf in ChunkDataTranslator allocate a more decent size 2021-07-15 18:33:49 -04:00
Camotoy 99a7f9a012
Explain that yes, we have to write 32 biome palettes always 2021-07-15 18:31:47 -04:00
Camotoy 89370ef648
Explain new changes in BedrockMovePlayerTranslator 2021-07-15 18:27:43 -04:00
Camotoy 143464b5a9
Respect Javadoc's wishes 2021-07-15 18:12:08 -04:00
Camotoy 25edf41329
Some optimizations
- Fix recipe registry not using an int key-based map
- Versioned registries now use Fastutil more effectively
- Replace uses of String#split for block identifier manipulation with #indexOf and #substring
- Reuse Patterns in collision loader
2021-07-15 18:03:41 -04:00
Camotoy 11874aaa9b
Merge branch 'master' of https://github.com/GeyserMC/Geyser into extended-world-height 2021-07-14 22:00:23 -04:00
Camotoy e5cb122db3
Use normal biome data for non-extended world height 2021-07-14 21:59:10 -04:00
Camotoy d19ff657de
Ensure overworld constraints are used everywhere 2021-07-14 21:46:56 -04:00
Camotoy feb64e08df
Fix biomes crashing and more (huge thanks to @dktapps 2021-07-14 21:14:53 -04:00
Camotoy ba4e0cf5b9
Fix scaffolding and auto crafting
Fixes #2381
2021-07-14 09:33:34 -04:00
Camotoy ac9da9a5a0
Fix flower pot updating 2021-07-13 21:47:13 -04:00
Camotoy a1706365b9
Potted azaleas are now visible 2021-07-13 21:14:22 -04:00
Camotoy c7d4130a44
Start of extended world height support 2021-07-13 20:48:45 -04:00
Camotoy b2619fa7c7
Address some null pointers (fixes #2378, #2380) 2021-07-13 18:12:55 -04:00
Redned f7ef90278b
Implement a new registry system (#2306)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-12 21:19:40 -04:00
Camotoy 887296ef78
Round up health attribute for all living entities (fixes #2362) 2021-07-09 10:28:03 -04:00
Camotoy 334e4fb059
Fix players being 'dead' even with half heart 2021-07-08 20:21:21 -04:00
Camotoy 92cd36d81f
Fix horse jump meter showing if not saddled 2021-07-08 18:55:28 -04:00
Camotoy 32bbd8ae1c
Attribute rewrite
This commit solves a couple issues:
- Entities that don't implement LivingEntity don't need to bother with attributes
- We don't need to cache all attributes for every entity
- Mounted entities' hearts were inconsistent

No entity as of this commit caches their attributes except for the player entity.
2021-07-08 10:30:59 -04:00
Camotoy 8edf36e063
Actually mark the squid as leashable 2021-07-06 21:39:54 -04:00
Camotoy 2d85505351
Mark new 1.17 mobs and squids as leashable 2021-07-06 21:38:30 -04:00
Camotoy e162cd526c
Micro-optimizations in player entity code 2021-07-06 18:09:01 -04:00
Camotoy b407e8a748
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-07-06 10:20:32 -04:00
Tim203 7bf4040308
Added new news types 2021-07-05 15:42:42 +02:00
Camotoy 605f56b895
Update to 1.17.1-rc1 2021-07-04 10:42:28 -04:00
Camotoy 74a5a4a366
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17.1 2021-07-04 10:36:18 -04:00
Camotoy 7ae27c79e8
Ensure that the player never dimension switches to the same dimension
Fixes #2342
2021-07-01 08:48:22 -04:00
Camotoy b757032457
Show iron golem attack animation
TODO: Do the same for the hoglin and zoglin - this requires more work with the hitbox.
2021-06-29 22:36:30 -04:00
Camotoy afc1f48d5e
Use custom class for caching chunk data
Right now, our chunk cache stores the heightmap and biome data that the server sends, which we never use. This commit saves that data in a custom GeyserColumn class that only stores chunk data. In the future, it may also store NBT data.
2021-06-29 10:09:47 -04:00
David Choo 566394f798
Fix breaking animation while jumping (#2335)
* Update block break time after a CONTINUE_BREAK action

* Fix breaking animation time for some blocks

* Reuse Vector3f and add comment

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-06-28 19:26:02 -04:00
Camotoy 90fa5610f5
Finish my thought 2021-06-27 23:26:32 -04:00
Camotoy ad5356472d
Create a new cached chunk when a block is created in an empty chunk 2021-06-27 23:25:51 -04:00
Camotoy 215ffc618f
Fix some SettingsUtils regressions
- Add the new 1.17 gamerules
- Don't hide exceptions in form responses
- Fix the settings form silently failing
- Fix some translation strings in the settings form
2021-06-27 19:57:53 -04:00
Camotoy 495eafc6e5
Work around axolotl buckets titled 'Bucket of '
Huge thanks to @SupremeMortal for figuring out the magic required NBT.
2021-06-25 14:47:01 -04:00
Camotoy f9f74a0da8
Determine chunk Y offset on Java packet processing thread
Should stop NullPointerExceptions if the session closes before chunks are processed
2021-06-25 13:51:52 -04:00
Camotoy 71fe2621fc
Remove obsolete chunk merging 2021-06-23 16:48:56 -04:00
David Choo 0a0d84d779
Fix phantom scaling (#2314) 2021-06-23 13:39:57 -04:00
Camotoy 65c52f9ff0
Fix fishing rod durability (fixes #1964) 2021-06-21 18:51:43 -04:00
Camotoy 3a2cff7864
Clean up a bunch
Mostly checked with IntelliJ, but manually performed. The only issue I possibly anticipate is item name/lore issues, but the new method should be technically better.
2021-06-20 21:42:22 -04:00
Camotoy c60600e0f9
Update to 1.17.1-pre1 2021-06-20 12:35:48 -04:00
Camotoy 683ac1c763
Fix spawn egg triggering twice in water 2021-06-19 20:33:07 -04:00
Camotoy 35450f7b78
Implement entity shaking when freezing and more
- When freezing ticks is at 140 or more, entities will shake
- Implement skeleton and zombie conversion shaking
2021-06-18 19:09:18 -04:00
caoli5288 3c9f628ac4
Fix item spawning up (#2278) 2021-06-16 19:23:01 -04:00
Camotoy 569c36680d
Remove debug statement 2021-06-16 19:12:18 -04:00
Camotoy c4131428ea
Translate more new level events 2021-06-16 19:09:35 -04:00
Camotoy 2c9cd7ed02
Don't hardcode record IDs and fix records for 1.17 2021-06-16 11:05:10 -04:00
Camotoy aba279fd1a
Fix cat scale :upside_down: 2021-06-16 10:26:28 -04:00
Camotoy 139167d090
Don't hardcode the bell block ID 2021-06-15 14:48:18 -04:00
Camotoy f53c0cf73f
Fix nether brick item mapping 2021-06-15 13:02:18 -04:00
Camotoy 096c707a25
Don't look up git properties for news handler in development 2021-06-15 12:48:45 -04:00
Tim203 bae4906879
Don't always automatically restart the skin uploader 2021-06-12 14:22:58 +02:00
Camotoy cc2d26dda8
Translate new world events
The copper-related ones do not show if the Bedrock player performs them. This will be fixed later.
2021-06-09 19:48:38 -04:00
Tim203 13f8b54d77
Close skin uploader on shutdown when using Floodgate 2021-06-10 00:52:57 +02:00
Camotoy 1df6e2151d
Show non-sensitive IPs in all dumps (#2102)
IPs such as 0.0.0.0 and 127.0.0.1 will now show in all dumps, regardless of if it's a full dump or not.
2021-06-09 09:01:03 -04:00
Tim203 60e6f8c162
Catch AssertionError 2021-06-08 15:31:50 +02:00
Tim203 7aa05426b6
Merge remote-tracking branch 'origin/feature/1.17' into feature/1.17 2021-06-08 15:29:35 +02:00