Commit graph

1565 commits

Author SHA1 Message Date
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
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
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
dbf366b138
ACTUALLY fix swapping armor in hotbar when armor is already present (#2206)
Tested with iOS, desktop and console
2021-05-10 21:14:30 -04:00
Camotoy
5c76bd8544
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-05-10 01:03:48 -04:00
Camotoy
95bcd4000f
Interact with an optional resource pack to add more features (#2176)
See https://github.com/GeyserMC/Geyser/wiki/GeyserOptionalPack
2021-05-10 00:48:01 -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
51aa96de2e
Fix visual glitch when swapping out armor that's already equipped (#2173)
Bedrock Edition allows you to swap out armor by right-clicking an item in your inventory, even when armor in that slot is already equipped. This PR prevents Bedrock from performing this action if both slots are occupied (which Java Edition will not do).
2021-05-09 01:25:57 -04:00
Camotoy
dda0172ded
Allow more blocks to have a place sound on standalone (#2183)
Items such as wall torch blocks currently do not have a place sound on standalone, as their block identifier differs from their item identifier. This commit uses the pick item logic in order to fix place sounds for such blocks.
2021-05-09 01:19:06 -04:00
Camotoy
2aa131f9dc
Fix minecart rotation when not on rails (#2200)
This isn't perfect, but it's better than before, for sure.
2021-05-09 01:11:42 -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
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
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
1301cd9c30
Fix interact entity packet (#2179)
For the InteractAt type of packet of the PlayerInteractEntityPacket, Java sends a diff between the entity's current position and the hit result of its cursor. Bedrock sends the full vector location in its interaction. Therefore, we just do the diff ourselves.

This fixes taking armor off of armor stands.
2021-04-30 18:35:45 -04:00
Camotoy
abc3a187d4
Provide the Geyser file's MD5 and SHA-256 hash in Geyser dumps (#2026) 2021-04-30 12:43:37 -04:00
Camotoy
7d80dff028
Play effect when feeding baby animals (#2146)
Java plays a client-side-only effect when feeding animals. This commit abstracts out the feeding code we already have for interactive tag and checks it when right-clicking any animal that is a baby.
2021-04-26 19:59:12 -04: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
17ad18f450
Fix some raid entities up (#2144)
* Fix some raid entities up

- Show axe when vindicator is attacking
- Show arm movement and spell color when evoker summons

* Reduce the amount of casting
2021-04-26 15:22:58 -04:00
Camotoy
e7f933ba6c
Show proper names for Java-only items (#2159)
Spectral arrows and knowledge books, if unnamed, will now show their correct, translated names.
2021-04-26 14:44:16 -04:00
D3ATHBRINGER13
9de0ebdba7
Small changes (#2169) 2021-04-26 14:16:13 -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
Camotoy
bb41c0f9ee
Add an option for setting Bedrock compression level (#2128) 2021-04-19 22:18:18 -04:00
Tim203
14894c8f27
Allow skin uploader to log messages instead of closing the connection 2021-04-17 17:40:53 +02:00
Tim203
11b10e2857
Allow skin uploader to log messages instead of closing the connection 2021-04-17 17:39:08 +02:00
Camotoy
852d5b050d
Fix item enchanting pre-1.14 (#2127)
If the server spams the window property update packet, then the network ID assigned for each enchanting slot will update too quickly, essentially disabling enchanting. This commit remedies this by only updating the network ID of each slot if a property changed.
2021-04-16 11:42:03 -04:00
Camotoy
beb7e54b7a
Fix llama carpet decoration (#2125) 2021-04-16 11:30:17 -04:00
Camotoy
6a88a46b51
Fall back to the loopback address when resolving autoconfigured remote (#2090)
This way, if it errors, you're not stuck with 'unknown host: auto' when actually connecting.
2021-04-16 11:28:15 -04: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
Camotoy
404419df08
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-12 15:10:55 -04:00
Camotoy
22c492fda6
More bounding box fixes (#2132)
- Fix decimal formatting error when running Geyser in another region
- Fix sneaking bounding box when flying
2021-04-12 12:42:42 -04:00
Camotoy
120769c7f6
Allow for crawling and moving in one-block spaces where possible (#1814)
This commit brings full support for crawling, sneaking under 1.5-block-tall spaces, and swimming in one-block areas. There is a check in place that decreases the player's speed to something comparable to Java if they are in a situation where they would otherwise go at normal walking speed (for example: without the check, a Bedrock player would go at full walking speed while crawling).
2021-04-12 00:35:53 -04:00
Camotoy
7dc9c031c2
Compile. (#2122) 2021-04-10 11:10:23 -04:00
Camotoy
8e28e445ba
More 1.16.220 fixes... (#2118)
- Fix pre-1.16.220 creative menu having duplicate items
- Fix 1.16.220 creative menu usage
2021-04-10 00:31:24 -04:00
Camotoy
34fa5475ff
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-09 11:26:03 -04:00
David Choo
e5497922d9
Fix player rotation lock while riding boats for 1.16.210+ (#2114) 2021-04-08 23:15:56 -04:00
Camotoy
7a7cf18e99
Fix banners on entity heads (#2110)
On Bedrock, a banner must be placed in the chestplate slot in order to be visible. On Java Edition, banners are placed in the helmet slot. This commit fixes the issue by migrating banners to the chestplate spot if the chestplate spot is empty.

This commit also fixes pillager poses if they're not holding a crossbow, along with a couple other optimizations.
2021-04-08 19:52:54 -04:00
Camotoy
e762448957
Set 1.16.220 as the default Geyser version and fix crafting (#2108)
* Set 1.16.220 as the default Geyser version

* Crafting on all items now works

* Don't re-use variables for readability
2021-04-08 19:32:06 -04:00
Camotoy
53ac196b61
Merge branch 'floodgate-2.0' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-06 00:52:22 -04:00
Camotoy
0a1c51bdad
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-06 00:52:09 -04:00
Camotoy
86b2901f02
1.16.220 support (#2105)
This update does not break compatibility with any other currently supported version of Bedrock.

Co-authored-by: Redned <redned235@gmail.com>
2021-04-06 00:14:06 -04:00
Tim203
21c8a389e3
Fixed an issue with forwarding player links 2021-04-03 19:50:35 +02:00