Commit Graph

1540 Commits

Author SHA1 Message Date
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
Tim203 e7eca7f7b9
Fixed reconnecting to the api 2021-02-27 13:14:40 +01: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
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 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
Tim203 c79979e3e3
Added timestamp to BedrockData 2021-02-16 18:54:04 +01: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
Tim203 52ddf8c556
Moved skin uploading to the global api 2021-02-12 22:22:45 +01: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
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 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
David Choo 9232c5565f
Add Ender Dragon effects and sounds (#1781)
* Add Ender Dragon effects and sounds

* Add proper death effect and clean up

* Add Ender Dragon respawn sound

* Possibly fix dragon breath direction?

* Update mappings

* Fix death animation triggering at low health

* Trigger death event when health is 0 and add explosions back

* Add comment
2021-01-09 20:43:03 -05:00
Camotoy 54fb56ea85
Add legacy crafting support for Spigot and finish up standalone 2021-01-09 16:45:32 -05:00
AJ Ferguson 554ec82ef5 Shaped recipe detection 2021-01-09 04:10:27 -09:00
Camotoy 9bfc5d320c
Work-in-progress checks for legacy slot checking 2021-01-09 00:38:53 -05:00
AJ Ferguson 9118ec6840 wip support old crafting 2021-01-08 17:01:31 -09:00
Camotoy ade4c14911
Block breaking refactors (#1336)
Client-side block animations and reach checks are now added.

This commit also includes cleanup in BlockChangeTranslator as well as proper Netherite tool support for calculating block breaking.

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2021-01-07 22:43:36 -05: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 c8016647f2
Clean up and add mobile button for horse opening 2021-01-05 19:08:54 -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
AJ Ferguson b6389317f0
Fix minor bug in auth form (#1806) 2021-01-05 13:45:01 -05:00
Camotoy a88678a5c1
Add manual recipes as Recipe classes for future usage 2021-01-04 22:15:55 -05:00
Camotoy 1d47dc3f18
Merge branch 'server-inventory' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-04 20:30:19 -05:00
AJ Ferguson ff69752d2c Remove unnecessary is_block null check 2021-01-04 15:16:21 -09:00
AJ Ferguson 57e176efd6 Optimize stackSize
Co-Authored-By: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-01-04 15:12:26 -09:00
AJ Ferguson a160e3694b Add stackSize to ItemEntry 2021-01-04 14:47:48 -09:00
Camotoy 50f295b4cd
Remove unneeded GeyserItemStack constructor and add comments 2021-01-04 18:19:43 -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 1c7567d79d
Various resource pack fixes (#1769)
- Fixes an instance where an invalid pack_manifest file could be present
- Fixes instances where JSON files were not read as UTF-8
2021-01-03 12:53:26 -05:00
YHDiamond 1a08e1104d
Fix stopsound bug (#1771)
* Fix stopsound not working bug

* removed extra imports

* Update JavaPlayerStopSoundTranslator.java

* Update JavaPlayerStopSoundTranslator.java

* Update JavaPlayerStopSoundTranslator.java

* Fix packet names and fix specific sounds not stopping

Co-authored-by: YHDiamond <47502993+yehudahrrs@users.noreply.github.com>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-01-02 18:51:41 -05:00
AJ Ferguson 528a9a4431 Crafting table slot mappings 2021-01-01 18:37:33 -09:00
Camotoy 396d1b6b61
Fix items on campfires (#1779) 2021-01-01 18:33:21 -05:00
Camotoy eccb48844e
Allow enderman to make provoked sound when angry (#1763) 2021-01-01 16:55:04 -05:00
Camotoy 7a82852134
Merge branch 'server-inventory' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-01 14:22:44 -05:00
Camotoy 2a5c134ea7
Update server inventory copyrights to 2021 2021-01-01 14:22:26 -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
AJ Ferguson b7b3278d8b item painting. cursor net id 2020-12-31 17:39:54 -09:00
Camotoy 77153e6d4a
Work around there being a void floor in Bedrock (#1405)
* Work around there being a void floor in Bedrock

If the player's Y coordinate is -38 or below, we teleport the player below the void floor and they can safely die. :)

* Don't teleport if below Y -40

* sigh

* Have floorY be its own variable

* Add more comment

* More comments

* Finish my thought
2020-12-31 20:05:00 -05:00
Camotoy c4fc604e0c
Optimize stonecutter button code 2020-12-29 20:31:48 -05:00
Camotoy 3c1a40c56a
Better net ID handling 2020-12-29 19:59:22 -05:00
Camotoy f4b1d470c3
Merge branch 'server-inventory' of https://github.com/AJ-Ferguson/Geyser into server-inventory 2020-12-29 19:02:11 -05:00
Camotoy ac4f6eceac
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-29 19:01:59 -05:00
AJ Ferguson e3b94bc859
Thrown potion entity color (#1756)
* Fix thrown potion color

* Prevent area effect cloud from appearing to catch on fire

* Don't set ENCHANTED flag on all potions
2020-12-29 18:58:02 -05:00
David Choo fe63a7f7ab
Fix pick block (#1753)
* Use pick_item mappings

* Update mappings

* Update mappings and fix wording
2020-12-29 18:09:42 -05:00
Camotoy a5c020e7ee
More comments 2020-12-28 13:16:17 -05:00
Camotoy 3ba396e625
Fix some temporary inventory blocks not disappearing 2020-12-28 00:47:10 -05:00
Camotoy 2265de3ae9
lecterns 2020-12-28 00:29:27 -05:00
Camotoy 790c695b27
Add TODO 2020-12-27 11:08:48 -05:00
Camotoy 956d264c3e
Anvil renaming works; other things 2020-12-26 22:55:14 -05:00
AJ Ferguson 60da3b9432 Temp slot 2020-12-26 18:44:48 -09:00
Camotoy 4b461e5e0a
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-26 19:52:16 -05:00
Camotoy d1c571d710
Fix anvil renaming (#1744)
Turns out it *was* our fault. Oops.
2020-12-26 19:51:11 -05:00
Camotoy 7c4e95625a
Cleanup and delete FilterTextPacket - PRing to the main branch 2020-12-26 19:16:35 -05:00
Camotoy 078af59249
Streamline Item Net ID getting; cartography table finished 2020-12-26 16:41:50 -05:00
Tim203 77de991bcf
Change Jenkins url and name to Open Collaboration (#1732) 2020-12-26 21:40:49 +01:00
Camotoy eb5e4d79bb
Add visual damage support with thorns (#1728) 2020-12-26 15:39:46 -05:00
Camotoy 06f346b30b
Fix offset issue 2020-12-26 13:24:50 -05:00
Camotoy c1f5380ed1
Add horse inventory support 2020-12-26 12:20:59 -05:00
Camotoy c7fade295e
Add swap support for creative mode; start on cartography table 2020-12-24 20:43:24 -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
Camotoy 6ae81cce52
Full banner loom support 2020-12-23 22:53:54 -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
D3ATHBRINGER13 4d80edf6d9 Initial loom funtionality 2020-12-24 00:48:31 +00:00
Camotoy 0f735a8330
Block entity cleanup 2020-12-23 12:37:55 -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 ff4f712eda
Implement beacon 2020-12-23 12:30:36 -05:00
Camotoy f4f804e1ca
Enchantment table works; anvil is almost there 2020-12-23 01:21:00 -05:00
Camotoy 009905184e
Add grindstone and smithing table 2020-12-21 22:44:01 -05:00
Camotoy c6b4d163a1
Improve creative support 2020-12-21 21:09:14 -05:00
Camotoy dbfdae63f1
Add precautions to prevent stack traces on incomplete/unknown place sounds (#1717) 2020-12-20 20:42:14 -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
Camotoy d69896b381
Fix NPE when no item can be found from a block (#1718)
This commit also removes an old map previously used for block entity translators
2020-12-20 20:40:21 -05:00
Tim203 d6c2507bb5
Fixed some bugs 2020-12-20 17:34:46 +01:00
DoctorMacc f47cf32d90
Make my life tolerable 2020-12-19 19:19:44 -05:00
DoctorMacc 1705f1034c
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2020-12-18 18:37:54 -05:00
DoctorMacc aa4a1058e3
Brewing stand support; other attempts 2020-12-17 21:47:18 -05:00
Camotoy c92150013f
Allow /help to work even if command suggestions are disabled (#1703)
* Allow /help to work even if command suggestions are disabled

This sends a minimal available commands packet to permit /help sending to the server.

* Fix whitespace

* Just send an empty packet

* Change variable name
2020-12-17 14:10:58 -05:00
rtm516 ce9cd92b2e
Update GeyserConnector.java to fix JavaDoc (#1701) 2020-12-17 17:25:38 +00:00
qlow 9f6182f8df
Added a simple way to get a player by their xuid (#1642)
* Added IGeyserPingPassthrough#getPingInformation(InetSocketAddress) to make logging of the pinging IPs possible

* Added GeyserConnector#getPlayerByXboxUuid

* Added GeyserConnector#getPlayerByUuid and added some javadocs

* Update connector/src/main/java/org/geysermc/connector/GeyserConnector.java

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

* Update connector/src/main/java/org/geysermc/connector/GeyserConnector.java

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

* Update GeyserConnector.java

* Update SkinManager.java

* Update SkinProvider.java

* Renamed getPlayerByXboxUuid to getPlayerByXuid

Co-authored-by: qlow <info@qlow.eu>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2020-12-17 11:58:49 -05:00
DoctorMacc 33a86485dc
Implement dropper/dispenser, hopper, shulker 2020-12-17 11:46:11 -05:00
DoctorMacc 929b0ba80c
Refactors, and add furnace 2020-12-16 23:52:45 -05:00
Camotoy 82179797ab
Add proper ominous banner translation (#1692)
The ominous banner is a separate banner type in Bedrock. If we detect the ominous banner pattern, then we set the ominous banner type in NBT. This process is also checked vice-versa, allowing the ominous banner to be pulled from the Bedrock creative menu.
2020-12-16 12:50:16 -05:00
DoctorMacc 988e697a70
Crafting table works 2020-12-15 23:33:17 -05:00
DoctorMacc 3b3e72d5c3
Initial crafting table support 2020-12-15 23:01:27 -05:00
Tim203 e69ad0e560
Geyser can compile now 2020-12-15 22:31:14 +01: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
Camotoy aed1eef6e1
Update Adventure and fix some legacy hover events (#1681) 2020-12-15 11:24:02 -05:00
Camotoy 55cf7d1c54
Fix more scoreboard crashing and oddities (#1665)
* Various fixes

* Apply updateType fix as well

* Slight optimization
2020-12-14 18:22:31 -05:00
Camotoy 8b5ef7478c
Fix PS4 behavior with NetworkStackLatencyTranslator (#1678) 2020-12-14 15:47:17 -05:00
RednedEpic 655e218115 Add settings command for settings menu as it broke in the settings screen in 1.16.100 2020-12-12 01:45:54 -06: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 9500da2ef0
Small changes 2020-12-12 01:39:09 +01:00
RednedEpic a60ab4e80e Fix colored particles (Closes #1627) 2020-12-11 17:15:49 -06:00
RednedEpic 047bf5f0f4 Fix armor stand rotation (Closes #1634) 2020-12-11 17:06:33 -06:00
Camotoy f19922ecf0
EnderCrystalEntity: don't appear to be on fire if fire is below (#1651) 2020-12-11 12:55:37 -05: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
rtm516 91cdda95db
Change version in query to use a more informative string (#1635)
* Change version in query to use a more informative string

* Fix removal of string

* Cleaner implementation of version

* Fix build

* Make more explicit what we're replacing

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-12-09 15:14:12 -05:00
rosiecube 2a44874458
Fix Bedrock ItemEntity Y position bug (#1636)
Setting motion while on the ground causes visual issues. Additionally, there is an offset difference in the movement of an item entity.
2020-12-09 15:09:14 -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
D3ATHBRINGER13 3bcdf4cca1
Add map and banner cloning and map extending (#1623)
* Add all the crafting multi uuids

* Remove BANNER_ADD_PATTERN

* Remove TODO
2020-12-07 14:27:42 -05:00
qlow a173005767
Added IGeyserPingPassthrough#getPingInformation(InetSocketAddress) to make logging of the pinging IPs possible (#1633)
Co-authored-by: qlow <info@qlow.eu>
2020-12-07 14:04:50 -05:00
Camotoy 798ae34cd1
WolfEntity: fix entire wolf being set to a color in rare instances (#1630) 2020-12-06 14:46:31 -05:00
Camotoy 2f294c9466
Fix player heads with a custom name (#1625) 2020-12-04 17:48:33 -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
rtm516 2067143b57
Fix supported version display name (#1593)
* Fix supported version display name

* Update connector/src/main/java/org/geysermc/connector/network/BedrockProtocol.java
2020-12-03 19:21:32 -05:00
Camotoy f6a26410da
Supply a unique network ID for each recipe (#1615)
This fixes crashes in the Minecraft betas.
2020-12-02 15:39:24 -05:00
Tim203 f7d2378845
Added Floodgate to GeyserDump 2020-12-01 23:17:54 +01:00
Tim203 deae3d566d
Updated DeviceOs 2020-12-01 19:54:51 +01:00
Bastian Oppermann 24fd7dafc5
Do not send server custom chart for Metrics (#1610)
The server chart is automatically populated by the bStats backend.
2020-12-01 11:40:07 +00:00
Camotoy ffd0c211fc
Fix villagers accepting books (#1605)
* Hopefully fix villagers accepting books

Fixes a couple of inconsistencies getting books from the creative menu.

* Fix fake news
2020-11-30 10:55:35 -05:00
rtm516 eb687e6638
Add check to fix NONE team color causing an NPE (#1602) 2020-11-28 15:10:19 +00:00
rtm516 da2dc69441
Update MCProtocolLib to Adventure migration (#1572)
* Use raw message data instead of converting the message

* Update MCProtocolLib to Adventure

* Ignore MCProtocolLib Adventure depend

* Remove unused dependency

* Fix isMessage handling `null` wrong.

* Update to adventure 4.2.0

* Clean-up isMessage

* Fix tests

* Clean-up of catch statements
2020-11-27 18:28:08 -05:00
Camotoy 11d9d30050
Fix mounts being unmountable with cache chunks (#1576)
Teleports need to be confirmed before riding
2020-11-27 17:56:32 -05:00
Tim203 e583abffdf
Split Forms into an Api and an implementation 2020-11-26 23:00:43 +01:00
Carbuino 894275b8c4
Update UpstreamPacketHandler.java (#1570)
Changed the logging in message to display in the Action Bar instead of spamming the chat.
2020-11-24 11:14:02 -05:00
RednedEpic 896638ed84 Add support for latest beta (1.16.200.56) 2020-11-24 00:47:57 -06:00
rtm516 e412ba0993
Clear the Reflections scanners to stop it trying to scan (#1582) 2020-11-23 01:08:59 +00:00
rtm516 881e7a051c
Another android fix (#1575)
* Fix en_us hash reading on Android (again)

* Fix hash generation methods for Android
2020-11-22 10:40:53 +00:00
rtm516 9ed3197191
Fix en_us downloading and hashing on Android (#1574) 2020-11-22 01:59:57 +00:00
rtm516 0268ef7d2b
Clean-up translation string implementation (#1567) 2020-11-21 00:44:33 +00:00
Camotoy 67d5993ae1
LivingEntity: add visual support for riptide spin attack (#1551) 2020-11-20 18:06:27 -05:00
circuit10 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
rtm516 4297215420
More chat fixes (#1557)
* Fix positional translation arguments not being handled

* Fix locale fallback

* Fix command completion

* Remove the expensive call to `containsKey`

* Unify adventure versions

* Fix some more formatting issues due to parity

* Fix and update tests

* Update adventure

* Add Javadoc for getCommandNames

* Formatting

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-11-18 23:18:36 +00: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 199778faea
Fix regressions from 1.16.100 (#1558)
* Fix regressions from 1.16.100

- Update mappings to fix recipe regressions and item differences
- Villager trading NBT now prefers the String identifier and not the integer ID

* Fix lodestone compass breaking
2020-11-18 01:10:49 -05:00
Camotoy 99558b61a6
Print reason for disconnect when outdated (#1556) 2020-11-17 13:28:08 -05: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 47f25f1205
BannerTranslator: fix NPE when no block entity data (#1543) 2020-11-15 18:48:11 -05:00
RednedEpic 981ac3bf11 Move PlatformType to common module 2020-11-14 17:49:56 -06:00
Camotoy 445444204f
Fix GlobalPalette translation (#1528)
* Fix GlobalPalette translation

Global palettes don't have their own internal palette, which cannot be iterated through to create a Bedrock palette. Therefore we simply iterate over the whole palette one time. This commit also fixes a regression with flowers/pistons being on multiple chunk sections.

* Don't declare bedrockPalette until after global palette check
2020-11-14 12:05:33 -06:00
Niklas bf05f64fac
Update LabyMod cape url (#1540) 2020-11-14 11:52:10 -06: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 3676dd185f
Fix even more entity metadata flags (#1483)
* Fix even more entity metadata flags

* Add comment explaining magic value

* Fix horse flags and add more information

* Add more information about the Horse eating particles
2020-11-11 18:13:13 +00:00
David Choo 4237503d6d
Fix laying crash (#1510)
* Fix crash with GSit lay and use Java bed position data

* Fix GSit's lay position

* Move Bed Position metadata to the right class

* Actually fix lay for PosePlugin

* Revert "Actually fix lay for PosePlugin"

This reverts commit 3f21261162.

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-11-10 12:05:16 -05:00
Tim203 e00715ceab
Fixed some issues related to Scoreboards (#1446)
* Fixes some issues related to Scoreboard Teams

* The cached Score info should update no matter what kind of update the Team got.
* Team entities specified at the create Team packet should also be checked if they exist as Score in the registered Objectives

* Rewrote some Scoreboard code and fixed various issues

* Minor formatting changes
2020-11-09 10:34:27 +01: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
Camotoy 0e15aa7441
Fireball and ghast improvements (#1469)
* Fireball and ghast improvements

- Ghasts now visually show if they're charging a fireball
- Fireballs are now vastly better and will update better

* Add gravity and drag to projectiles

* Add check for session close and improve fireball

* Remove motion stuff from fireball

* Make fireball hittable

* Add wither skull entity

* Small changes

* Add note about laggy fireballs

Co-authored-by: David Choo <davchoo3@gmail.com>
2020-11-05 18:42:33 -05:00
Tim203 c64d57439f
Block entity performance improvements (#1481)
* BlockEntity performance improvements

* Use chunk cache if possible for block caching

* Get new block state from ViaVersion if block entity

* Add Javadoc for FlowerPotBlockEntityTranslator.isFlowerBlock

* Remove debug line

* Don't add all RequiresBlockState instances if cache chunks is enabled

* Double chest map get optimization

* Last changes

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-11-05 22:36:22 +01:00
Camotoy 434a2e1500
Fix bell sound and visuals (#1502)
* Fix bell sound and visuals

The bell sound now correctly plays.

Bells will also visually ring when rung by another player.

* Compress elses

* Add more whitespace to new code
2020-11-05 14:59:01 -05:00
David Choo ce64dd2788
Fix sitting with armor stand and animal mount offsets (#1492)
* Fix sitting with armor stand and animal offsets

* Fix riding players

* Moved @Getter
2020-11-04 20:30:55 -05:00
Camotoy 69d4d9f0d6
Send position update every 3 seconds if idle (#1421)
* Send position update every 3 seconds if idle

Prevents timeouts in certain instances when AFK.

* Cancel position sending on dimension switching

* Remove debug lines

* Create function to centralize movement translation
2020-11-02 16:04:08 -05:00
Camotoy 3e0d898b6a
Update to 1.16.4 (#1487)
* 1.16.4-pre1 support

* Update to support ViaVersion 3.2.0 (#1358)

* Update to support ViaVersion 3.2.0

This commit updates ViaVersion integration to support their recent mappings changes. 

Co-authored-by: Nassim <jahnke.nassim@gmail.com>

* Send adventure settings on gamemode change after gamemode swap

* Update Velocity to 1.1.0 proper

* Update to 1.16.4

Co-authored-by: Nassim <jahnke.nassim@gmail.com>
2020-11-02 13:28:31 -06:00
Camotoy ca1f87d464
MapItemTranslator: support map tag being of short value (#1475)
GSigns sends this as a short. Who knows why.
2020-10-31 22:38:56 -04:00
Tim203 819ff09ee6
Manually resolved merge conflicts
This specific commit isn't compilable, since StatisticsUtils hasn't been updated to match the new Form style.
2020-10-30 01:31:22 +01:00
Tim203 36419e5931
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	common/src/main/java/org/geysermc/common/window/CustomFormWindow.java
#	common/src/main/java/org/geysermc/common/window/SimpleFormWindow.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/utils/LoginEncryptionUtils.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2020-10-30 01:25:52 +01:00
Tim203 dc8fb46428
Manually solve some merge issues 2020-10-30 01:14:34 +01:00
Tim203 0e7dca551e
Merge remote-tracking branch 'fork/floodgate-2.0' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/utils/PluginMessageUtils.java
2020-10-30 01:05:03 +01:00
Tim203 c9102348de
First version of the Forms rewrite
The next version will split the implementation from the api
2020-10-30 00:58:17 +01:00
Camotoy e0f5deb329
Add support for more recipes (#1434)
* Add support for more recipes

- Tool repairing
- Book cloning
- Suspicious stew
- Tipped arrows

What still needs to be done:

- Map cloning/extending (though there may be item mapping mismatch getting in the way)
- Banner duplication (couldn't figure this out)

* Add some more spacing

* Explain recipe UUIDs
2020-10-29 18:40:42 -04:00
David Choo 8fdaf6a385
Ender dragon Melee Attacks (#1466)
* Create and position Ender Dragon Bounding Box

Currently allows the player to "kill aura" target
the ender dragon.

* Use an entity to handle attacks for each hitbox

* Use the proper flag to make entities invisible

* Clean up and add some comments

* Ender dragon entity metadata improvements

* Add doc to segment functions

* Add changes

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-10-29 18:35:46 -04:00
Camotoy 045c0e0637
Introduce CommandSender.getLocale() (#1431)
* Introduce CommandSender.getLocale()

This allows Geyser-specific commands (e.g. `/geyser help`) to be displayed in the (Java or Bedrock) player's default language, which stops those commands from simply being displayed in the default locale.

* Tweak Javadoc

* Set CommandManager's GeyserConnector to final

* Clean up
2020-10-29 18:30:52 -04:00
Camotoy 9b46bf8bc9
BedrockActionTranslator: Fix occasional death stall (#1432)
Usually this happened when joining from another dimension after the player exited to the main menu on the death screen. The player would not realize that they are dead.
2020-10-29 16:44:45 -04:00
Camotoy a2a7e99402
GUI Improvements (#1462)
- Added `GeyserCommand.isExecutableOnConsole()`. If this is set to false, the command will not appear as an option in the GUI.
- Added `GeyserCommand.getSubCommands()`. If not empty, the subcommand options will now appear in the GUI.
2020-10-27 18:40:00 -04:00
David Choo d93d4d0942
Projectile fixes (#1451)
* Predict the trajectory of projectiles and add particles

* Correct lingering potion gravity

* Update last position on move absolute

* Clean up

* Add egg to ItemRegistry and update mappings
2020-10-26 11:54:37 -04:00
rtm516 c30cb78e74
Add statistics menu (#1424)
* Add statistics menu

* Changed back button text

* Add check to make sure the player requested the statistics display

* Better item translation support; misc changes

* Clean up session getting?

* Remove extra debug that is likely unnecessary

* Remove unused function

* Update languages submodule

* Clean up javadoc comment

* Fix typo

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-10-24 23:33:49 +01:00
RednedEpic dfba278f4d Use correct methods in refreshEmotes 2020-10-23 01:36:34 -05:00
RednedEpic ee8c718c62 Translate emote list packet 2020-10-23 01:25:24 -05:00