Commit Graph

378 Commits

Author SHA1 Message Date
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
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 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
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 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 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 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
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 71fe2621fc
Remove obsolete chunk merging 2021-06-23 16:48:56 -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 01822672a5
Remove debug elements 2021-06-08 08:57:03 -04: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 a2b3e1946d
Update lectern if updated via the WindowItemsPacket 2021-06-07 14:19:17 -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
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
Camotoy 5376ba49b8
._. 2021-05-30 21:37:32 -04:00
Camotoy 2f2e2cc285
Only upload the skin on Floodgate 2021-05-30 21:36:25 -04:00
Tim203 db583135eb
Improved the comment added in the previous commit 2021-05-30 00:51:04 +02:00
Tim203 360e2f4b9a
Always replace spaces in usernames when using Floodgate
Bungeecord recently started checking usernames for spaces in the login start packet. To resolve this we just always send the username without spaces in the login start packet. Floodgate is still able to get the real username of the Bedrock player and Floodgate is also still in charge of the final username.
2021-05-30 00:22:11 +02:00
Tim203 934fc12b16
Warn if we were unable to check if the system clock is accurate 2021-05-26 20:20:59 +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 986701f06f
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-23 21:31:40 -04:00
Camotoy 4734ce2059
Update MCProtocolLib + PacketLib (#2211)
By updating these dependencies, we bring in a couple fixes that should improve network performance:

    Use TCP_NODELAY for the Java connection
    Use Epoll/KQueue if possible for the Java connection
    Only use one event loop for the Java connection
    Fix Netty dependencies so Spigot and BungeeCord can use native network types

Currently, Geyser-Spigot pre-1.12 breaks with these changes. It is unlikely that this will be fixed.
2021-05-23 15:55:01 -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 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 e692b53c3f
Initial update for 21w17a 2021-05-01 23:19:49 -04:00
Tim203 3b9674ac29
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/dump/BootstrapDumpInfo.java
#	connector/src/main/java/org/geysermc/connector/dump/DumpInfo.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-05-01 12:16:25 +02:00
Camotoy 48fcb4733d
Add emote offhand workaround (#2163)
This commit add a new config option, `emote-offhand-workaround`. If set to a value, emoting will perform the offhand swap action.
2021-04-26 16:10:32 -04:00
Camotoy 9b39affd28
Reduce the amount of values() calls (#2143)
Because apparently it's not just a constant; it makes a new array every time.
Also, GeyserSession#tick() does not need to be public and I made enchantments in commands use the Java list.
2021-04-26 14:15:24 -04:00
Konicai 873e37e1c0
simplify javadoc of updateShowCoordinates() in WorldCache.java (#2162) 2021-04-21 19:05:53 -04:00
Konicai 0a79eb92ac
Fix unwanted behaviour with show-coordinates (#2151)
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
2021-04-21 16:57:01 -04:00
rtm516 f0a002f0e3
Add option to forward the connection hostname over to the remote server (#2149)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-04-21 14:55:08 -04:00
Tim203 085c122d30
Merge remote-tracking branch 'origin/master' into floodgate-2.0 2021-04-21 19:49:49 +02:00
David Choo 70e28604b8
Fix various horse bugs (#2115)
* Fix horse health display

* Fix horses warping back when damaged

* Fix horse jumping animation

* Fix horses not taking damage while standing on magma

* Allow mules and donkeys to jump
2021-04-15 15:31:03 -04:00