Commit graph

198 commits

Author SHA1 Message Date
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
9208943ac6
Bump Network and Netty dependencies (#1775) 2021-02-17 18:00:53 -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
Tim203
52ddf8c556
Moved skin uploading to the global api 2021-02-12 22:22:45 +01:00
toinouH
25dd651b09
Update Adventure to 4.5.0 (#1920) 2021-02-12 13:11:05 -05: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
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
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
Camotoy
d1c571d710
Fix anvil renaming (#1744)
Turns out it *was* our fault. Oops.
2020-12-26 19:51:11 -05:00
Mark
eca626aad6
Add missing netty-codec-haproxy dependency (#1731) 2020-12-24 00:31:23 -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
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
aed1eef6e1
Update Adventure and fix some legacy hover events (#1681) 2020-12-15 11:24:02 -05:00
Tim203
45596a87a9
Use Cumulus as form library 2020-12-10 22:57:48 +01: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
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
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
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
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
80cf407fae
Update MCProtocolLib to fix more custom recipe stuff (#1534) 2020-11-13 23:00:09 -05:00
Camotoy
109922f796
Update MCProtocolLib to fix datapacks that send empty result recipes (#1522)
Example: https://www.planetminecraft.com/data-pack/true-survival-a-hardcore-minecraft-experience/
2020-11-09 14:26:29 -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
7f5fac38c6
Update to Adventure 4.1.1 (#1410)
* Update to Adventure 4.0.0

* Update to 4.0.1

* Update again, I guess.
2020-10-19 19:09:16 -04:00
DaPorkchop_
18e2a52d98
fix decoding sections with duplicate palette entries (#1430) 2020-10-19 09:43:51 +01:00
DaPorkchop_
0635605a24
fix chunk section decoding (#1418)
* fix chunk section decoding

* switch back to official MCProtocolLib
2020-10-18 10:59:37 -04:00
DaPorkchop_
7d2745dee6
Faster chunk conversion (#1400)
* BlockStorage is never used concurrently, no need to synchronize

* initial, semi-functional, faster chunk conversion

* faster chunk conversion works well for every situation except spigot

* delete unused ChunkPosition class

* preallocate and pool chunk encoding buffers

* make it work correctly on spigot

* make field naming more consistent

* attempt to upgrade to latest MCProtocolLib

* remove debug code

* compile against my MCProtocolLib fork while i wait for my upstream PR to be accepted

* return to Steveice10 MCProtocolLib
2020-10-15 01:30:25 -05:00
Arktisfox
16eb2a491a
Area cloud fixes (#684)
* Fix NotNull error with particles, replace incorrect string meta with int meta.

* Add back newline

* Remove debug line

* Update Protocol and prepare for merge

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-10-08 18:33:36 -04:00
Camotoy
772cb246f0
Forward keep alive packets to the client (#1344)
* Forward keep alive packets to the client

Previously, MCProtocolLib (our Java protocol library) handled keep alive packets for us. This commit disables that option and 'forwards' the keep alive packets to the client, and sending the keep alive packet back once Bedrock sends us a ping response.

* Delete DataCache

* Update to latest MCProtocolLib

* Swap values around as a sanity check
2020-09-29 14:15:11 -04:00
Camotoy
f9c1d3f218
Remove Protocol v409 support (#1300)
* Remove Protocol v409 support

Protocol has dropped support for this version.

* Fix movement

* Use a static commit for Protocol
2020-09-16 00:11:56 -04:00
Camotoy
8c8630814d
Update to 1.16.3 (#1272)
* Update for 1.16.3-rc1

* Update to 1.16.3

* Update README

* Update MCProtocolLib
2020-09-10 10:30:56 -05:00
Camotoy
81a48bf96d
Relocate the rest of our dependencies (#1227)
- Relocate all of our dependencies. This does not include MCProtocolLib and Nukkit dependencies at this time as there are no other known plugins that use these dependencies.
- Switch to a static commit for Adventure dependencies.

Tested working on all versions.
2020-09-01 23:38:10 -05:00
Camotoy
3f00803499
connector/pom.xml: Move back to main MCProtocolLib repository (#1211)
Fixes a regression where ClientPlayerAbilitiesPacket was sending the incorrect flag.
2020-08-28 15:16:35 -04:00
rtm516
79bf56a75c
Tweaks to support Android (#1206)
* Downgrade reflections to 0.9.11

* Add comment explaining downgrade

* Move to pre-build reflections

* Update skins to use https and relative cache dir

* Move to https OptiFine cape url

* Add javadoc to isProduction

* Add ANDROID as a platform type

* Re-ordered PlatformType

* Change stop command to call onDisable
2020-08-28 19:36:24 +01:00
Camotoy
bf238f52c7
Update to latest MCProtocolLib (#1140) 2020-08-12 16:27:13 -04:00
DoctorMacc
5db0e7898f
Bump MCProtocolLib 2020-08-11 14:33:37 -04:00
rtm516
41d299fae5
Change version number to 1.1.0 2020-08-11 19:10:48 +01:00
DoctorMacc
31fec1d4bf
Update to 1.16.2 2020-08-11 12:35:45 -04:00
DoctorMacc
6ccf629a8a
Update to 1.16.2-rc2; add multiversion support 2020-08-11 10:00:14 -04:00
DoctorMacc
2dc71382e7
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.16.2 2020-08-11 09:07:23 -04:00
DoctorMacc
009381d9c7
Update for protocol v409 2020-08-11 09:06:28 -04:00
DoctorMacc
6e80f22ee9
Update to 1.16.2-rc1 2020-08-09 22:43:57 -04:00
rtm516
0a5048232f
Add support for client side settings (#1035)
* Port code from #486

Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>

* Fix and clean code and add default gamemode changing

* Clean copyright

* Remove direct modification of server, clean up code and add player list xuid fetching.

* Move to custom settings menu

* Move sendAdventureSettings to GeyserSession

* Add javadoc comments

* Add translation support

* Remove updated copyright

* Clean up

* Clarify some javadoc comments

* Remove obsolete code

* Update languages submodule

* Fix javadoc comments

* Fix compile

Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
Co-authored-by: Redned <redned235@gmail.com>
2020-08-08 17:41:12 -05:00
DoctorMacc
098a0e7993
Update to 1.16.2-pre2 2020-08-05 18:57:41 -04:00
AJ Ferguson
61dbcb0c80
Update effects mappings (#949)
* Update effects mappings

* Use STOP_RECORD as the default record instead of null

* Add comments

* Update mappings submodule

* Update MCProtocolLib and effects

* Change level event used for EVAPORATE effect

The bedrock client plays an additional sound when using CAULDRON_EXPLODE.
The java client does not play any sound.

* Update mappings submodule
2020-08-03 13:42:43 -08:00
DoctorMacc
bf07f1a9ba
Update to 1.16.2-pre1 2020-07-29 21:05:18 -04:00
DoctorMacc
ae77388b2e
Allow compilation; update GeyserConnector 2020-07-24 10:45:36 -04:00
DoctorMacc
6b7dad1483
Update for protocol 408 and 20w30a 2020-07-24 10:39:10 -04:00
DoctorMacc
3b8d1758b3
Initial update for 20w29a 2020-07-20 19:02:18 -04:00
Camotoy
7757913c00
Update MCProtocolLib to fix cached chunks on non-Spigot (#937) 2020-07-11 16:47:21 -04:00
DoctorMacc
21ea1f2408 Update MCProtocolLib to fix #836 2020-07-07 20:14:50 -04:00
rtm516
ba736575f7 Fix RGB colors on signs causing chunk issues, fix items names not being displayed correctly 2020-07-06 23:36:04 +01:00
DoctorMacc
82c6276794 Move back to using the main repository for MCProtocolLib 2020-07-06 15:19:48 -04:00
Camotoy
afcf1e3acd
Change versioning to match supported Bedrock version; add versioning command (#730)
* Change versioning to match supported Bedrock version

Line up Geyser's versioning to match with the highest/currently supported Bedrock version for future tracking of older Geyser versions.

* Add version command

* Fix DEV check for version command

* Remove SNAPSHOT

* Update languages submodule

Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
2020-07-05 21:38:24 -04:00
DoctorMacc
4c89a8e303 Return to using Protocol develop branch 2020-06-29 17:52:59 -04:00
DoctorMacc
ebc1f13e9b Update dependencies ('item marked as non-null' error is fixed') 2020-06-29 16:03:54 -04:00
rtm516
70009c4bf9 Clean chat code and fix skins 2020-06-29 13:50:16 +01:00
Tim203
2df3d4cbca
Update to the latest MCProtocolLib commit 2020-06-28 16:44:57 +02:00
Tim203
dd1747cae9
Updated the mappings and fixed building 2020-06-27 23:47:52 +02:00
rtm516
7743f6d718
Add dump command (#808)
* Add dump command
Adds a command to collect and dump infomation about the Geyser install and bootstrap and submit it to a dumps site.

* Finalize URL; misc. fixes; add 'architecture' param

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-06-27 11:36:48 -04:00
DoctorMacc
78df56c7a0 Update for 1.16.1 2020-06-24 11:14:11 -04:00
DoctorMacc
3ea1059a62 Update for 1.16 2020-06-23 09:34:12 -04:00
DoctorMacc
ea1a9e5427 Bedrock 1.16 updating part 1 2020-06-22 20:11:09 -04:00
DoctorMacc
117cdf282d Begin updating Geyser. Requires manual MCProtocolLib compile 2020-06-20 22:24:45 -04:00
DoctorMacc
d6119375b2 (Incomplete) Update MCProtocolLib 2020-06-18 21:44:50 -04:00
Camotoy
69a4cd3860
Use static commit of MCProtocolLib (#734)
This prevents changes upstream from immediately affecting Geyser workflow. This also removes the CodeMC repository in favor of Jitpack (which can use the commit hash as a version).
2020-06-03 22:57:36 -04:00
AJ Ferguson
05024dde8c
Don't manually grab MCProtocolLib's dependencies (#720)
* Don't manually grab MCProtocolLib's dependencies

* Add netty-resolver-dns and exclude netty-all
2020-06-01 22:19:16 -04:00
Camotoy
b8a3009c9d
Ignore all downstream packet errors (#693)
* Ignore all downstream packet errors

Instead of kicking the client off because of an error, we simply display a logger warning and suppress the error.

* If debug mode, print stacktrace
2020-05-30 17:31:20 -05:00
rtm516
129e10c920
Added automatic git version infomation to startup (#327)
* Added automatic git version infomation to startup

* Moved to compile time replacement

* Cleaned up old functions

* Removed redundant variable

* Added project version to version string
2020-05-04 14:17:25 -05:00
RednedEpic
497825dd96 Fix NPE in console when a sound was missing and clean up nesting 2020-04-25 18:23:01 -05:00
Gerrygames
74f869beb5
Fix map colors, remove unnecessary array stream (#423) 2020-04-25 15:46:24 -05:00
LegacyGamerHD
6cfcab88d3
Go to stable NukkitX Protocol Lib (#411) 2020-04-24 23:05:06 -05:00
AJ Ferguson
298558078c
Bump MCAuthLib to 1.3-SNAPSHOT (#416) 2020-04-24 21:57:15 -05:00
ForceUpdate1
6f7ad4b569
Implement Book pages (#408)
* add text component library
implement books

* add licence header
2020-04-23 01:26:54 -05:00
RednedEpic
79185fabb5 Only send block sounds when a block is being placed
Previously, any time a block was clicked whether it be with a block in the hand or not, a sound would play. This checks if the item in the players hand is indeed a block as well as the same block in the UpdateBlockPacket, and properly plays the packet.
2020-04-23 01:01:33 -05:00
RednedEpic
c52b3b61c7 Merge branch 'master' into inventory 2020-04-17 23:35:34 -05:00
RednedEpic
a3cc5ecd63 Remove sentry since it's unused 2020-04-17 23:21:51 -05:00
rtm516
03f8074619 Update Protocol to v390 2020-04-17 17:38:18 +01:00
DoctorMacc
204035323b Update everything else 2020-04-17 12:34:09 -04:00
DoctorMacc
7c580ba4a0 Update Protocol to 2.5.5-SNAPSHOT 2020-04-17 12:23:24 -04:00
DoctorMacc
2c75415dc8 Update Protocol to 2.5.5-SNAPSHOT 2020-04-12 14:38:47 -04:00
RednedEpic
e76b67265a Rebase 2020-04-02 17:53:45 -05:00
RednedEpic
be9396f585 Merge branch 'master' into inventory 2020-04-02 17:01:17 -05:00
endevrr
20e6c7fcbf
Merge branch 'inventory' into block-break-animations 2020-03-28 00:04:53 +00:00
BuildTools
e5766ef96a Store bed colors in Object2ByteOpenHashMap 2020-03-26 18:34:54 -04:00
Ender
13a58dc825 Begin making translators annotation based
Also, rename TranslatorsInit to Translators; makes alot more sense.
2020-03-23 23:03:33 -05:00
William Johnstone
60662ae06c Moved break time checks to BlockUtils class, Created ItemUtils and added helper function to get enchantment levels on items, implemented a entity effect cache, added haste and mining fatigue check for block breaking animations, fixed block breaking animations for blocks with speeds that are not affected by tools. 2020-03-22 22:59:34 +00:00
William Johnstone
09cdcbdf94 Add block breaking animations that actually work (still incomplete, doesn't take enchantments or player effects into account, also doesn't account for being in the air or underwater) 2020-03-21 20:14:09 +00:00
Redned
62b183a387 Update bedrock protocol lib and remove trove 2020-03-18 16:10:28 -05:00
RednedEpic
6b22bcec2b Merge branch 'master' into inventory 2020-03-04 21:35:20 -06:00
Redned
bcf77f1098
Bump packetlib version to 1.5-SNAPSHOT 2020-03-01 13:30:51 -06:00
AJ Ferguson
ebc81735c0 Merge remote-tracking branch 'remotes/origin/master' into inventory 2020-02-29 12:46:56 -09:00
Redned
773abc9fde
Update packetlib to 1.5-SNAPSHOT 2020-02-29 15:32:03 -06:00
RednedEpic
2bdf3d4d7f Merge branch 'master' into plugin 2020-02-26 19:31:19 -06:00
AJ Ferguson
bc3992f775 Merge remote-tracking branch 'remotes/upstream/master' into inventory
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java
#	connector/src/main/java/org/geysermc/connector/network/translators/inventory/updater/ChestInventoryUpdater.java
2020-02-25 22:12:39 -09:00
RednedEpic
f87ff70369 Update to NukkitX Protocol Lib 2.5.1 2020-02-16 13:07:35 -06:00
RednedEpic
4186715083 Update to NukkitX Protocol Lib 2.5.0 release 2020-02-14 17:39:26 -06:00
RednedEpic
4f461bf374 Start on converting to the new NukkitX protocol library updates 2020-02-05 18:55:34 -06:00
AJ Ferguson
3d61b3ce28 Bump OpenNBT lib to 1.4-SNAPSHOT
This fixes the NPE when sending an ItemStack with a null NBT tag.
This also fixes some item movement bugs on pure vanilla servers.
2020-01-30 23:15:18 -09:00