Commit graph

1372 commits

Author SHA1 Message Date
Camotoy
ffae69471d
Add protection for out-of-bounds inventory management 2021-03-08 18:13:26 -05:00
rtm516
efc7e43e02
Fix settings not displaying due to bedrock bug by delaying 1s (#2010)
* Fix settings not displaying due to bedrock bug by delaying 1s

* Update BedrockServerSettingsRequestTranslator.java
2021-03-08 17:00:44 -05:00
Camotoy
da11cd298c
Address requests 2021-03-08 16:57:31 -05:00
Camotoy
d19bf07b7a
Don't allocate the entire block size 2021-03-08 16:42:41 -05:00
Camotoy
3f14624d46
Fix some villager block trades being unable to stack 2021-03-08 15:53:47 -05:00
Camotoy
44e9dba759
Reject requests that are unavailable spaces; other things 2021-03-08 14:17:31 -05:00
Camotoy
55a1acfcb6
Fix close request desyncs with inventories of the same type, and
- Small object optimization in DoubleChestInventoryTranslator
- Sending inventory ID of 0 for inventory translation is valid
2021-03-06 12:24:39 -05:00
Camotoy
7fde39f247
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-06 11:09:27 -05:00
Camotoy
16e8dd0df1
Don't confirm if the inventory is the same type 2021-03-04 14:04:11 -05:00
Camotoy
ca3f9550dd
Remove unused variables; fix opening double chests quickly 2021-03-04 12:26:16 -05:00
Camotoy
f926b83b33
Fix capes of a *smaller* size throwing an error (#1998) 2021-03-04 11:32:56 -05:00
rtm516
e0e435fdc5
Fix capes being scaled wrong and invisible skins (#1940)
* Fix capes being scaled wrong and invisible skins

* Flush old image objects

* Remove alpha workaround and fix more scaling issues

* Remove unnecessary scale

* Reduce diff

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-03-03 18:00:29 -05:00
Camotoy
7e773c9970
Quietly handle unmappable Java items
If vanilla can handle them, so can we.
2021-03-02 19:10:17 -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
61e5784796
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-03-02 00:49:26 -05:00
Camotoy
e09f33c614
Clean up and fix more armor stand inconsistencies (#1988) 2021-02-27 12:19:30 -05:00
Camotoy
6775d88704
Handle no-NBT lecterns 2021-02-26 21:53:24 -05:00
Camotoy
f02105e9c7
Fix confirming when the server double-sends a window ID 2021-02-26 20:19:14 -05:00
Camotoy
ab9501da69
Use the inventory name always for villager inventories
Testing not crashing on 1.8 and 1.13.2.
2021-02-26 19:03:18 -05:00
Camotoy
6be71fc045
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-26 00:46:44 -05:00
Camotoy
acbcf4baf3
Fix shulker boxes resetting data and set all shulker boxes as valid 2021-02-25 21:51:50 -05:00
Camotoy
e1db626529
Fix closing the inventory from the server 2021-02-25 18:17:43 -05:00
Camotoy
0727008881
Villager fixes + other stuff
- Consoles trading with villagers should work better
- Villagers closing their inventory work now
2021-02-25 16:12:58 -05:00
Camotoy
ae3f50a79c
Firework star item translation (#1968)
Firework stars, unsurprisingly, share some code with fireworks. This commit adds a new FireworkBaseTranslator abstract class that both firework items extend from, in order to use the explosion translation code. Firework stars also show color.
2021-02-25 13:13:24 -05:00
Camotoy
325b8ab4d4
Fix rowing from Java to Bedrock (#1943)
Rowing apparently broke in possibly the 1.16 update and nobody noticed until now.
2021-02-25 13:12:25 -05:00
Camotoy
9f5a356180
Armor stand fixes (#1270)
Armor stands now show armor if invisible. This allows both names and armor to show on an armor stand, and should allow for custom models that use armor stands to show, to an extent.
2021-02-25 12:54:30 -05:00
Camotoy
255c7ac0d2
Revert "Add barrel as a valid single chest block"
Barrels are a bit more complicated to lump in with chests for the time being. It *can* be fixed, but it requires workarounds.

This reverts commit 07f36affb9.
2021-02-25 12:22:05 -05:00
Camotoy
9f1fa51cfc
Merge branch 'server-inventory' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-25 12:15:46 -05:00
AJ Ferguson
07f36affb9 Add barrel as a valid single chest block 2021-02-25 01:41:04 -09:00
AJ Ferguson
9e6402c279 Fixes 2021-02-24 20:14:01 -09:00
Camotoy
f480fbfdf6
More changes to allow Geyser to cooperate better with bad internet (#1951) 2021-02-21 18:57:09 -05:00
Camotoy
2974afdce0
Small, inconsequential changes 2021-02-21 18:17:31 -05:00
Camotoy
e2df486eac
oops 2021-02-20 23:54:15 -05:00
Camotoy
f849a5b9f9
A bunch of fixes 2021-02-20 23:52:49 -05:00
David Choo
b7828267a5
Projectile Movement (#1929)
Fixes

    #1780
    #1778
    The laggy fireballs
    Llama spit
    Shulker bullets
2021-02-19 11:12:36 -05:00
Camotoy
605201afc0
Make changes required for Protocol 2.6.2 2021-02-17 19:39:10 -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
Camotoy
d9f8e9eec2
Improve command freezing and fix up command suggestion translation (#1936)
Merge commands with the same parameters (thanks Supreme)
    Add more suggestion types (blocks, items, entities)
    More optimizations


Co-authored-by: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2021-02-17 18:00:00 -05:00
bundabrg
15027c222e
Fix NPE when a TitlePacket of type TIMES is sent (#1944)
References: https://github.com/bundabrg/GeyserReversion/issues/29

Co-authored-by: bundabrg <bundabrg@grieve.com.au>
2021-02-17 00:58:08 -05:00
bundabrg
fc712ea892
Fix NPE in ServerEntityAnimationPacket (#1942)
Closes: https://github.com/bundabrg/GeyserReversion/issues/41

Co-authored-by: bundabrg <bundabrg@grieve.com.au>
2021-02-17 00:23:55 -05:00
YHDiamond
62cbdb8f5c
[ci skip] Fixed if spacing (#1941)
Co-authored-by: yehudahrrs <47502993+yehudahrrs@users.noreply.github.com>
2021-02-16 20:09:18 -05:00
Camotoy
22c39d285e
Make BlockInventoryHolder block strings immutable; clean up lectern unloading 2021-02-16 19:09:57 -05:00
Camotoy
72186d91f1
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-16 16:47:58 -05:00
Camotoy
e0bd5a62a7
Fix up some SpotBugs suggestions (#1911)
This is a manual go-through of some bugs SpotBugs pointed out.
2021-02-16 16:25:46 -05:00
Camotoy
aa47e75da6
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-15 23:49:35 -05:00
Camotoy
1f1d94aa81
Don't allow the sub-MOTD to be empty (#1933)
As of 1.16.210.59, the sub-MOTD cannot be blank: https://bugs.mojang.com/browse/MCPE-117979

This workaround will be implemented now so the widest range of Geyser versions will properly show a ping in 1.16.210 - better an 'outdated server' message than 'unable to connect to world.'
2021-02-15 21:41:11 -05:00
Camotoy
93a74d669d
Skin and skull fixes (#1923)
* Skin and skull fixes

- Handle the occasional greater-than-128-px skin
- Remove unused Jackson dependency
- Update used Jackson dependency
- Handle skin downloading on another thread

* Other small touchups

* Flush after rescaling
2021-02-15 16:36:47 -05:00
Camotoy
f2550de633
Ping/MOTD changes required for 1.16.210.59 (#1931) 2021-02-15 12:57:18 -05:00
Camotoy
ec23e409b6
Use switch statements, and change default block usage
This is to support future changes of using multiple block translators
2021-02-13 15:29:54 -05:00
Camotoy
ce33ca56a9
[ci skip] Formatting fixes 2021-02-12 14:43:29 -05:00
Camotoy
78337830c6
Use the real block for opening inventory when possible 2021-02-12 14:39:41 -05:00
Camotoy
98b2a0e51b
Fix NPE with MOTD (#1921) 2021-02-12 14:16:29 -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
1ec589fa35
Enable debug property in Log4J config if applicable (#1906)
With this commit, debug messages in Netty and Protocol will now show if debug mode is enabled in the Geyser standalone config.

There is also some small tuning to the PacketTranslatorRegistry for cleanliness and maybe some minor performance.
2021-02-08 13:30:37 -05:00
Camotoy
3140d3ced7
Allow Geyser to boot if it cannot download en_US file (#1907)
This commit allows Geyser to start if it is unable to download Minecraft's English locale file, instead of throwing an exception that stops it.
2021-02-07 22:57:44 -05:00
bundabrg
66fcd87ce6
Remove extra bracket from BOUYANCY_DATA (#1903)
Co-authored-by: bundabrg <bundabrg@grieve.com.au>
2021-02-07 21:18:20 -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
Camotoy
47879c913b
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-02-04 21:25:29 -05:00
Camotoy
c26a2baed6
Add more metrics (#1896)
- Add the Java version being used
- Add the Minecraft server version being used, alongside the platform type that is using that version. Not used for proxies as those have to be on latest to support the latest Minecraft version
2021-02-03 19:54:35 -05:00
Brave Chicken
db38b0d45d
Fix EndGateway translation issue (#1892)
* Fix EndGateway translation issue.

* Change contains check to instanceof LongTag as requested.

* Add space after if as requested.

Co-authored-by: Brave_Chicken <bravechickengamer@gmail.com>
2021-02-02 11:40:28 -05:00
Camotoy
454896a7ad
Start work on using the world block for inventories 2021-01-30 16:05:27 -05:00
AJ Ferguson
4a8d93752b Handle DESTROY creative action 2021-01-29 03:34:56 -09:00
Camotoy
2d37d3f276 Add more debug logging 2021-01-29 00:36:43 -05:00
Camotoy
3b847d93b3 Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-29 00:32:35 -05:00
rtm516
498f7653d3
Fix NPE when link entity not found and use non-deprecated constructor (#1706)
* Fix NPE when link entity not found and use non-deprecated constructor

* Extract method call to variable

* Update PlayerEntity.java

* Fix indentation
2021-01-28 11:33:26 -05:00
YHDiamond
aec08e7d3c
Add images to statistics menu (#1719)
Co-authored-by: YHDiamond <47502993+yehudahrrs@users.noreply.github.com>
2021-01-28 00:23:27 +00:00
Camotoy
1676242c4f
Add precaution if lectern container is not open 2021-01-22 13:36:27 -05:00
Camotoy
3dc5890649
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-22 13:36:06 -05:00
Camotoy
5a8604fe54
Skin fixes and optimizations (#1856)
- Fix self-assigned player skins getting overwritten
- Fix players with no skin silently throwing an exception, and properly handle it instead
- CRITICAL bug fix of handling Deadmau5's skin - it's not handled by his UUID but by his username
2021-01-21 19:03:46 -05:00
Camotoy
b93ce33b38
Localize Done in the OAuth prompt (#1851)
Oops.
2021-01-21 22:54:18 +00:00
Camotoy
787e6fe5f7
Fix enchantments when there are less than three options 2021-01-20 18:46:04 -05:00
AJ Ferguson
5d4b368e51 Fix inventory bug when respawning 2021-01-20 11:09:28 -09:00
Camotoy
ca620d6dd8
Add some comments and fix book editing in creative 2021-01-19 19:01:51 -05:00
Camotoy
2304c1375e
[ci skip] Clarify strip NBT comment 2021-01-19 18:22:07 -05:00
Camotoy
75ae28f460
Merge branch 'server-inventory' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-17 11:12:47 -05:00
Camotoy
f7822e07eb
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-17 11:12:38 -05:00
Camotoy
2d9baf1bfc
Send message to Java if command is Bedrock-only (#1834)
* Send message to Java if command is Bedrock-only

If a Java player attempts to use a Bedrock-only command, such as `geyser statistics`, they will get an error message stating that this command is only for Bedrock players.

This commit also cleans up Velocity Adventure dependency usage. Issues were caused because of the way relocation works and because Velocity also uses Adventure.

* Only look for a session if we have to

* Update languages submodule
2021-01-16 22:18:13 -05:00
RednedEpic
da512da511 Include 1.16.5 in version command too 2021-01-15 21:59:41 -06:00
AJ Ferguson
234c6542bb Refactor creative request translator and fix bugs 2021-01-14 19:45:59 -09:00
AJ Ferguson
95703d2ea7 Update inventory if request was rejected 2021-01-13 19:59:11 -09: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
feae0573de
Merge branch 'server-inventory' of https://github.com/Camotoy/Geyser into server-inventory 2021-01-13 21:34:57 -05:00
Camotoy
454fd102d6
Add better destroy support 2021-01-13 21:34:47 -05:00
Camotoy
6fdfcfb35c
Clarify that we do support 1.16.201 (#1836) 2021-01-13 14:28:39 -05:00
AJ Ferguson
d3cb069594 WIP. Autocrafting without java recipe book 2021-01-12 16:37:12 -09:00
Extollite
c0a64659c2
Close en_us.hash stream (#1833) 2021-01-12 15:41:15 -05:00
Extollite
dd0b4bafe8
Close locale streams (#1832)
* Close locale streams

* Fix formatting
2021-01-12 15:06:48 -05: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
6a9d4cd071
Implement 1.16.100 anvil renaming support 2021-01-11 20:06:55 -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
Camotoy
6aa74a2322
Allow server pong to appear if MOTDs are too long (#1445)
* Prevent server pong from appearing if MOTDs are too long

If the server MOTDs are 340 characters or longer, they will not appear. If this is the case, we trim each.

* Implement a more exact fix
2021-01-11 15:37:37 -05:00
Camotoy
d6461e71fb
Add message if Geyser thinks the English locale is missing (#1825) 2021-01-10 20:00:48 -05:00