Commit graph

351 commits

Author SHA1 Message Date
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
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
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
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
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
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
0a1c51bdad
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-06 00:52:09 -04:00
Camotoy
aa5c3c30e1
Minor touchups (#2011) 2021-03-31 14:15:55 -04:00
Camotoy
2f42a4c630
Add furnace minecart item translation (#2003)
Conveniently enough, the minecart furnace icon still exists in the vanilla Bedrock Edition game (thanks to Kastle for this discovery). With this and the translation string still being present, we can add the item into the game with only minor issues.
2021-03-31 14:06:05 -04:00
Camotoy
946f38c00a
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-03-31 11:55:55 -04:00
Camotoy
3a4b1e4dc7
Prevent NPEs from GeyserConnector.getPlayerByUuid (#2070)
- If GeyserConnector.getPlayerByUuid is given null, it will return null
- Never set a session's UUID to null if possible - but have precautions if for some reason it is
2021-03-24 20:03:51 -04:00
Tim203
107cd5bd5a
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-03-23 01:35:02 +01:00
Camotoy
930c4c538e
Update the interactive tag when necessary (#2039)
Update the interactive tag on entity metadata update, item slot change, and sneaking update; that way, if the tag should change, it will change.
2021-03-18 01:11:21 -04:00
Camotoy
b176fc7a2f
SRV improvements and improvements for GeyserConnect (#2048)
- Individual per-player remote, port, and address
- Removal of RemoteServer class
- Do SRV lookup on startup and that's it
2021-03-17 11:15:57 -04:00
Tim203
4229db0a2f
Merge remote-tracking branch 'origin/server-inventory' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-03-10 20:46:50 +01:00
Tim203
643098e09e
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockServerSettingsRequestTranslator.java
2021-03-10 20:42:37 +01:00
Camotoy
ded00dfd97
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-09 14:45:04 -05:00
Camotoy
9ae7c1de25
1.16.210 support (#2019)
This commit implements 1.16.210 support while still keeping 1.16.100 and 1.16.210 compatibility.

Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2021-03-09 12:51:48 -05:00
Camotoy
44e9dba759
Reject requests that are unavailable spaces; other things 2021-03-08 14:17:31 -05:00
Camotoy
ca3f9550dd
Remove unused variables; fix opening double chests quickly 2021-03-04 12:26:16 -05:00
Camotoy
93726f5818
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-02 19:05:49 -05:00
Camotoy
e4e9758950
Fix logging into a server with Fabric Networking API (#1995)
* Fix logging into a server with Fabric Networking API

Turns out we prevented the response to LoginPluginRequestPacket. Fabric API 0.28 and later will not let a client join without this response.

* Switch back to Jitpack just for Protocol to prevent weird errors

* Re-add sub protocol check

* Simplify check
2021-03-02 19:02:34 -05:00
Camotoy
6775d88704
Handle no-NBT lecterns 2021-02-26 21:53:24 -05:00
AJ Ferguson
9e6402c279 Fixes 2021-02-24 20:14:01 -09:00
Tim203
c16c66b860
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/pom.xml
#	connector/src/main/java/org/geysermc/connector/GeyserConnector.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockNetworkStackLatencyTranslator.java
#	connector/src/main/java/org/geysermc/connector/skin/SkinProvider.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-02-25 02:28:48 +01:00
Camotoy
f849a5b9f9
A bunch of fixes 2021-02-20 23:52:49 -05:00
Camotoy
85b8fe2734
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-17 19:33:51 -05:00
Mark Vainomaa
c4573bb73d
HAProxy PROXY protocol support for upstream connections (#1713)
* Ignore unknown properties on configuration subclasses

* Implement upstream PROXY protocol support
2021-02-17 18:25:41 -05:00
Camotoy
9208943ac6
Bump Network and Netty dependencies (#1775) 2021-02-17 18:00:53 -05:00
Tim203
52ddf8c556
Moved skin uploading to the global api 2021-02-12 22:22:45 +01:00
Camotoy
78337830c6
Use the real block for opening inventory when possible 2021-02-12 14:39:41 -05:00
Camotoy
aaeca23f54
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-10 23:53:45 -05:00
Camotoy
b16e1d6b43
Threading and ping improvements (#1870)
- Don't schedule for setting jumping on and off if cache chunks is enabled, since we don't need to know that
- Add a new setting to disable player ping forwarding. Hopefully this helps with timeouts.
2021-02-10 12:18:31 -05:00
Camotoy
8670172f8d
Revert "Start work on using the world block for inventories"
Oops! Not finished yet!!

This reverts commit 454896a7ad.
2021-02-05 11:48:12 -05:00
Tim203
cf149b58e0
Fixed remaining merge conflicts 2021-02-02 00:46:46 +01:00
Tim203
5ad2510b87
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/command/defaults/SettingsCommand.java
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/session/cache/WindowCache.java
#	connector/src/main/java/org/geysermc/connector/utils/LoginEncryptionUtils.java
#	connector/src/main/java/org/geysermc/connector/utils/StatisticsUtils.java
2021-02-01 12:02:49 +01:00
Camotoy
454896a7ad
Start work on using the world block for inventories 2021-01-30 16:05:27 -05:00
AJ Ferguson
4ee3143fe9 Add delay to legacy recipe detection
Workaround for an issue which will be properly fixed later.
2021-01-13 19:40:01 -09:00
AJ Ferguson
196c9f5c17 Remove debug lines 2021-01-13 19:19:01 -09:00
AJ Ferguson
e87ae8f0dd Merge remote-tracking branch 'remotes/upstream/master' into server-inventory-upstream
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-01-13 18:49:20 -09:00
Camotoy
af405f320a
Prevent CME when adding players' emotes (#1831) 2021-01-12 14:42:53 -05:00
YHDiamond
fb283fcce8
Add advancements GUI (#1579)
Using /geyser advancements, Bedrock clients can get a visual on their progress.

Co-authored-by: yehudahrrs <47502993+yehudahrrs@users.noreply.github.com>
Co-authored-by: Olivia <chew@chew.pw>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-01-11 21:23:09 -05:00
Camotoy
4db9ec92bf
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-11 19:46:39 -05:00
rtm516
1c0cc4622a
Microsoft account authentication (#1808)
Microsoft accounts can now use Geyser, while maintaining full backwards compatibility with Mojang accounts.

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-01-11 15:52:02 -05:00
AJ Ferguson
9118ec6840 wip support old crafting 2021-01-08 17:01:31 -09:00
Camotoy
fe23c79053
Implement book editing (#1117)
* Implement book editing

Updates the PR created by @ForceUpdate1 for 1.16 support. Seems to work fine now that hand support is in MCProtocolLib.

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>

* Remove debug line

* Simplify code

Currently still borked for creative mode.

* Fix books on creative

* Bug fixes

* Fix NPE?

* Blind fixes

* Send Book update before any player actions

* Remove debug prints

* Fix out of bounds for page replace and add

* Fix editing desync and remove empty pages from the end

* Send edit packet after signing

* Refactor

* Clean up and fix creative

* Apply suggestions from code review

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>

Co-authored-by: ForceUpdate1 <mneuhaus44@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
Co-authored-by: David Choo <davchoo3@gmail.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2021-01-07 19:40:34 -05:00
Camotoy
92c86cf15b
Null check tick thread (#1812) 2021-01-05 23:28:31 -05:00
Camotoy
0641800be7
Add Tickable interface (#1790)
* Add Tickable interface

By having a tickable interface, we're only dedicating one thread to ticking entities and running tasks as opposed to several. This will also help with implementing world border support.

* removeEntity already clears tickableEntities for us

* Only tick the entity if it's not being ticked
2021-01-05 18:41:20 -05:00
Tim203
5ad495ce97
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	common/src/main/java/org/geysermc/common/window/CustomFormBuilder.java
#	common/src/main/java/org/geysermc/common/window/CustomFormWindow.java
#	common/src/main/java/org/geysermc/common/window/FormWindow.java
#	common/src/main/java/org/geysermc/common/window/ModalFormWindow.java
#	common/src/main/java/org/geysermc/common/window/SimpleFormWindow.java
#	common/src/main/java/org/geysermc/common/window/button/FormButton.java
#	common/src/main/java/org/geysermc/common/window/button/FormImage.java
#	common/src/main/java/org/geysermc/common/window/component/DropdownComponent.java
#	common/src/main/java/org/geysermc/common/window/component/InputComponent.java
#	common/src/main/java/org/geysermc/common/window/component/SliderComponent.java
#	common/src/main/java/org/geysermc/common/window/component/StepSliderComponent.java
#	common/src/main/java/org/geysermc/common/window/component/ToggleComponent.java
#	common/src/main/java/org/geysermc/common/window/response/CustomFormResponse.java
#	common/src/main/java/org/geysermc/common/window/response/ModalFormResponse.java
#	common/src/main/java/org/geysermc/common/window/response/SimpleFormResponse.java
#	common/src/main/java/org/geysermc/floodgate/util/EncryptionUtil.java
#	connector/src/main/java/org/geysermc/connector/network/session/cache/WindowCache.java
2021-01-04 13:37:58 +01:00
AJ Ferguson
8928d554a1 WIP autocrafting using java recipe book
work in progress. many edge cases are currently unhandled. will not work at all pre 1.12. (support is planned)
2021-01-03 17:54:26 -09:00
Camotoy
50b80a64d3
Dimension switching cleanup (#1694)
* Dimension switching cleanup

Cleans up dimension switching logic that should no longer be needed. Also fixes above Nether Bedrock building dimension switching.

* Clear thunder on dimension switch too

* Clarify fake dimension switch function name

* Javadoc that
2021-01-03 19:06:20 -05:00
Camotoy
8317961340
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-01 14:20:52 -05:00
Camotoy
186d94917a
Update copyright to 2021 (#1772)
* Update copyright to 2021

Free commit!

* These don't need a copyright

* Don't downgrade the mappings
2021-01-01 10:10:36 -05:00
Camotoy
2265de3ae9
lecterns 2020-12-28 00:29:27 -05:00
Camotoy
4b461e5e0a
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-26 19:52:16 -05:00
Camotoy
078af59249
Streamline Item Net ID getting; cartography table finished 2020-12-26 16:41:50 -05:00
Camotoy
c1f5380ed1
Add horse inventory support 2020-12-26 12:20:59 -05:00
Camotoy
3d0b0a1076
Stonecutter fixed; Loom improved 2020-12-24 18:29:25 -05:00
Camotoy
9fc6228fc0
GeyserSession: remove 32 render distance cap (#1546)
Having an incongruency between the server render distance and the client render distance appears to cause issues, and I have not been able to encounter such a crash.
2020-12-24 13:40:57 -05:00
Camotoy
617a1216d5
Initial work on stonecutters 2020-12-24 11:23:47 -05:00
Mark
c67d91943c
HAProxy PROXY protocol support for downstream connections (#1688)
* Implement downstream PROXY protocol support

* Clarify the configuration version updating procedure

* Bump netty-resolver-dns to 4.1.56.Final

* Update Netty to .56

* Don't increase jar size by 2MB

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2020-12-23 20:47:29 -05:00
Camotoy
e4ecd1a092
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-23 12:32:39 -05:00
Camotoy
b490dcfcbb
Improve doDaylightCycle translation (#1711)
Previously, we wouldn't send the time if the server was sending the same time with doDaylightCycle on. However, this isn't vanilla behavior (for Bedrock nor Java) and can occasionally cause irregularities. The time is now always sent to Bedrock clients, and a daylightCycle field is added to GeyserSession to keep track of the doDaylightCycle gamerule we need to send to Bedrock. Removing the map we used to store the time may also improve memory usage since this was never cleaned up.
2020-12-20 20:41:07 -05:00
DoctorMacc
1705f1034c
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-18 18:37:54 -05:00
Tim203
cd13e03730
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/bedrock/BedrockNetworkStackLatencyTranslator.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2020-12-15 22:06:59 +01:00
Camotoy
988fd66a85
Fix boat movement on land (#1668)
* Fix boat movement on land

1.16.100 appears to now take advantage of two newer entity metadata properties, IS_BUOYANT and BUOYANCY_DATA. Without the former, moving on land will not work properly. With the former and without the latter, moving in water no longer works.

* Use offset kind of
2020-12-15 13:09:40 -05:00
RednedEpic
31209be79e Ensure spawn radius is always 0 on the client's end
Fixes #1496 to the best of my knowledge. Any issue regarding the spawnpoint being off in terms of radius is up to the server at this point - would not be an us situation here.
2020-12-12 01:23:30 -06:00
RednedEpic
70031c65e7 Handle keepalives better (Closes #965)
Bedrock cuts off the last 3 digits consistently every time, meaning that the keepalive returned from bedrock is never fully accurate. However, if we multiply the value by 1000, then divide by 1000 when sending back to java, the proper value is returned.
2020-12-12 00:45:41 -06:00
Tim203
45596a87a9
Use Cumulus as form library 2020-12-10 22:57:48 +01:00
Camotoy
87c52ad524
Add a config option for toggling showing coordinates (#1645) 2020-12-10 11:13:36 -05:00
DoctorMacc
f167ed2583
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-09 11:57:46 -05:00
Camotoy
8e274daa75
Change default protocol version to 422 (#1640)
* Change default protocol version to 422

* Update Protocol

* Actually update to Protocol 2.6.1-SNAPSHOT

* Keep languages commit the same
2020-12-09 11:30:59 -05:00
DoctorMacc
049242db4b
Update to 1.16.200 2020-12-09 01:12:02 -05:00
OnlyBMan
2c0f3ec84d
Custom skull block support (#683)
Custom skulls are now implemented within the world when placed as a block. This is achieved by placing a fake player entity in the same spot.

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: bundabrg <brendan@grieve.com.au>
Co-authored-by: bundabrg <bundabrg@grieve.com.au>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-12-04 16:55:24 -05:00
Tim203
e583abffdf
Split Forms into an Api and an implementation 2020-11-26 23:00:43 +01:00
a70d3e2150
Fix inconsistencies with movement and position (#699)
Movement is now significant better, especially on slabs, stairs, and other half-blocks.

Co-authored-by: RednedEpic <redned235@gmail.com>
Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: Tim203 <mctim203@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-11-20 14:56:39 -05:00
Tim203
b8f398aa3c
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/network/translators/java/JavaJoinGameTranslator.java
2020-11-18 19:45:25 +01:00
Tim203
7e3a736f20
Register Floodgate payload, updated Statistics, smaller jar, fixed bugs
Quite a lot of changes, but I was too lazy to split them in different commits (and they'll be squashed later anyway):
* Floodgate plugin message channels are now registered (because Spigot requires that, and I guess it's better practice)
* Updated the Statistics form to match the new Forms API
* The common jar is now much smaller, because Jackson isn't needed anymore in the common module
* Fixed some bugs in Forms where empty fields would lead to excluding them in the serialization (making Bedrock complain)
And a few other things, like a new boolean in RawSkin saying if the Skin is an Alex or Steve model.
2020-11-18 19:40:23 +01:00
Camotoy
123b074cc7
Update to Bedrock 1.16.100 (#1552)
* Initial work on 1.16.100 - currently crashes the client

* Update runtime item states

* Use new Bedrock runtime IDs

Bedrock now hardcodes block runtime IDs in alphabetical order of the identifiers. This commit updates Geyser to accomodate.

- Remove runtime_block_states.dat and replace it with blockpalette.nbt
- Calculate the block runtime ID based on the order of the block palette
- Separate BlockTranslator.AIR into Bedrock and Java values
- Update the second layer of chunks to use air when not waterlogged
- Don't send item palette for now, as that's what crashes the game (will look into for v415)
- Other misc. changes

* Improve second layer chunk translation

* v415 support

- Add a message warning people they are on a beta version of Geyser

* Update to protocol v417

There are still some mappings changes that need to be gone through.

* Update runtime item states and clean up item frames

* Future-proof enchanment table

* Update for v418

* Update to v419

* Apply proper air ID to waterlogged chunk layer

* Fix missing import

* Remove beta warning

* Update mappings

* Manually patch runtime_item_states and send the ITEMS registry

* Update README

* Disable grindstone and smithing inventories (since they're broken)

* Use artifactory jenkins plugin (#1548)

* Use artifactory jenkins plugin

* Bump version to 1.2.0-SNAPSHOT

Co-authored-by: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com>
2020-11-17 11:03:12 -06:00
rtm516
512f8cd6c2
Rewrite message handling in MessageUtils to use Adventure (#1498)
* Rewrite message handling in MessageUtils to use Adventure

* Move to static Adventure commit to fix a bug

* Initial test implementation

* Add RGB downgrade test

* Move MessageUtils and rename

* Clean-up and fix tests

* Fixed sign and book content handling

* Fix blank signs causing NPEs

* Fix reset before message being stripped

* Add comment about the reset character

* Fix legacy style server motds

* Fix more messages being handled wrong

* Fix title packets being handled wrong

* Fix trailing formatting characters on the end of sign lines

* Add auto updating of Java locale files

* Add en_us locale updating and hash caching

* Changes to hash determining

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-11-16 23:57:57 +00:00
Camotoy
e748240a02
Add more interactive tags (mobile buttons) (#1443)
* Add more interactive tags (mobile buttons)

This expands our support for showing the interactive tags on touchscreen and console setups. This is not complete - specifically, the food compatibility of creatures needs to be expanded upon (I will work on this later and does not stop this PR from being mergable). This also includes:

- Creepers who are ignited with flint and steel now show up properly
- Zombie villagers now shake properly when converting and show their region outfits

* Add more food choices and add more panda entity metadata

* Re-add eating flag

* Remove debug line

* Refactor dimension usage, finish interactive tag usage, bees

* Print statements... ._.

* Don't make eating item packet data a non-constant

* Move BAMBOO to ItemRegistry

* Add missing break

* Make changes

* Minor final changes
2020-11-11 19:28:45 -05:00
rtm516
a6cc28ee80
Add config option for enabling achievements (#1504)
* Add config option for enabling achievements

* Disabled achievements by default and added warning about commands being disabled

* Update config.yml

* Rename achievements-enabled to xbox-achievements-enabled for clarity

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-11-07 00:52:09 +00:00