Commit Graph

492 Commits

Author SHA1 Message Date
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 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 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 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 ac9da9a5a0
Fix flower pot updating 2021-07-13 21:47:13 -04:00
Camotoy c7d4130a44
Start of extended world height support 2021-07-13 20:48:45 -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 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
Tim203 7bf4040308
Added new news types 2021-07-05 15:42:42 +02: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 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 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 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
Tim203 f0b8870a47
'on server started' should only work during the first check 2021-06-08 13:21:22 +02:00
Tim203 acc3a8222a
Check if item is active and added global items 2021-06-08 12:53:00 +02:00
Tim203 41c1be4262
Only listen for Geyser news 2021-06-08 08:17:12 +02:00
Camotoy bb20afb123
Warn if server is using high/low dimension heights and remove translations on some strings 2021-06-07 23:09:42 -04:00
Camotoy 207af5dffb
Listen to PlayerPositionRotationTranslator#dismountVehicle 2021-06-06 11:58:03 -04:00
Tim203 1ded2086e3
Merge remote-tracking branch 'origin/floodgate-2.0' into feature/1.17
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
2021-06-06 01:16:57 +02:00
Tim203 01492647fc
Some small changes 2021-06-06 01:05:05 +02:00
Tim203 50b51f5f57
Added the initial version of news 2021-06-05 23:12:33 +02:00
Camotoy 1fe179c6d2
Implement glow item frames 2021-06-03 19:04:28 -04:00
Camotoy f5c5d0cd39
Support 1.17-pre3 and Bedrock 1.17.0.58 2021-06-01 21:12:58 -04:00
Camotoy ebf726ce9e
Yeet cache chunks
So many features require this config option, and we don't intend on supporting it being both disabled and enabled.
2021-06-01 15:36:33 -04:00
Tim203 209a4ffc42
Use the correct plugin message packet. Thanks, Camo 2021-05-31 16:54:02 +02:00
Tim203 776fc4e933
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/GeyserConnector.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-05-26 02:17:33 +02:00
Tim203 cfa2805e00
Make sure that the time we use is always the same across servers 2021-05-26 01:55:58 +02:00
Camotoy 1f83a5ac9f
Respect tool tier requirement for block breaking (#1837) 2021-05-23 22:32:42 -04:00
Camotoy b5307ab3ed
21w20a support 2021-05-19 22:24:11 -04:00
Camotoy 024655f008
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-19 17:53:06 -04:00
Konicai dfc24f1ecb
Fix Javadoc in CooldownUtils (#2213) 2021-05-14 23:12:37 -04:00
Konicai 3e3b8faf16
Add client setting for cooldown type, refactor show-coordinates (#2193) 2021-05-14 22:48:34 -04:00
Camotoy 41e0ad3e74
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-05-09 16:41:31 -04:00
Camotoy 0691bb67b4
Item frame optimization and block picking support (#2203)
Geyser now supports block picking for item frames. It checks to see if the item frame has an item in it - if so, it attempts the same block picking process with the item inside (NBT included). Otherwise, it attempts to pick for an item frame item.

This commit also improves item frames by having the internal map store the entity and not the ID - in many situations, this prevents two maps from having to be searched. Additionally, item frames are no longer despawned if an item is placed on them - rather, it waits until the server tells us to despawn the entity.
2021-05-09 15:44:41 -04:00
Camotoy ce000a496b
Use tags sent from the server, where possible (#2188)
Java Edition has a tags system that allows for some server-side control of certain properties. This PR allows for piglin trading items, wool, and flowers to be determined from the server.
2021-05-02 21:47:11 -04:00
Camotoy f4426f14f7
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-05-02 13:17:17 -04:00
Camotoy e74fa6c42d
Allow connections even if encryption failed to initialize post-1.16.220 (#2147)
This allows Java 16 to still be compatible with Geyser.
2021-05-02 13:07:04 -04:00
Camotoy e692b53c3f
Initial update for 21w17a 2021-05-01 23:19:49 -04:00