Commit graph

1581 commits

Author SHA1 Message Date
Camotoy
172a5a6db8
Add Fabric as a platform type (#1376)
* PlatformType: Add Fabric as a platform

* Don't use XML reflections on Fabric
2020-10-07 18:51:36 -04:00
Camotoy
90656a9846
Jenkins improvements (#1368)
- Show changes in the Discord webhook
- Delete after 20 builds

Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
2020-10-07 18:50:39 -04:00
Camotoy
ba6f174058
Add support for fishing rods pulling Bedrock players (#1355)
Fishing rods pulling players is a clientside feature on Java. On Bedrock, a SetEntityMotionPacket is sent to the client. Therefore this PR implements the Java fishing rod pulling mechanics and sends it off to Bedrock, which sends MovePlayerPackets that are sent to the server.
2020-10-02 15:44:46 -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
3c4cde9677
Tipped arrow translation (#1331)
* Tipped arrow translation

- Tipped arrow items are now properly translated both ways
- Tipped arrow particle effects are also translated, by having a list of all colors Java could send us and their Bedrock ID

* Remove a whitespace
2020-09-29 13:30:37 -04:00
Camotoy
aee9ccc7d2
DoorSoundInteractionHandler: ignore iron [trap]doors (#1343) 2020-09-29 13:21:43 -04:00
Camotoy
9bb52afc8a
BedrockRespawnTranslator: prevent some respawn bugs (#1346) 2020-09-29 13:21:25 -04:00
Camotoy
a5b00e09a1
Villager trade fixes (#1350)
This commit mainly focuses on fixing the crashing of villagers that occurred pre-1.14.

Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
2020-09-29 13:19:37 -04:00
bundabrg
650c02ef66
Remove 'geyser' from parameters when executing a command under Spigot, Bungeecord, Sponge, Velocity (#1266)
* Remove 'geyser' from parameters when executing a command under Spigot, Bungeecode, Sponge, Velocity

Fixes https://github.com/bundabrg/GeyserReversion/issues/8

* Fix case when there are no sub commands

Co-authored-by: bundabrg <bundabrg@grieve.com.au>
2020-09-28 23:49:46 -04:00
EasyClifton
3650321576
Update README.md (#1349)
Make the server address look cool (for build 405, sorry)
2020-09-28 17:09:57 -05:00
rtm516
7c49391b9d
Fix gamemodes not fully applying on server switch (#1348)
* Fix gamemodes not fully applying on server switch

* Revert previous commit and move session flag updating to the adventure settings method
2020-09-28 17:43:50 -04:00
Luke
d9b05f5b72
Update the CI link in the README (#1339) 2020-09-25 15:52:44 -04:00
Camotoy
beae39e280
Prevent Bedrock from changing gamemode client-side (#1337)
In vanilla Bedrock, if you have operator status, the client sends a packet to change gamemode without confirmation from the server. Since we have a custom server option to request the gamemode, we just reset the gamemode and ignore this packet.
2020-09-25 20:09:02 +01:00
Camotoy
fa0864b8a1
Fix picking up liquids with buckets (#1311)
* Fix picking up liquids with buckets

The last fix to prevent bucket placement upon interacting with an inventory had an oversight with empty buckets, making them unusable. This commit fixes that while keeping the previous fix.

* Remove debug line

* Fix milk drinking and visual bucket item apperance

* Comment elaboration

* Make indentiation better
2020-09-24 15:11:42 -04:00
Camotoy
1ec768d95d
Fix interaction spam bug (#1324)
* Fix interaction spam bug

This references the Nukkit 1.0 fix for the client bug of spamming to interact. Holding down still works.

* Remove interaction position set at action type 1

* Remove debug line
2020-09-24 12:54:18 -04:00
Redned
0cd43818f1
Use SERVER_READY in BedrockRespawnTranslator to fix respawn bug 2020-09-22 20:10:38 -05:00
Camotoy
b4c7682130
Implement experience sounds (#1320)
Bedrock sends a level event for the experience sound around the same time as a Java entity collect item packet is sent.
2020-09-22 14:16:57 -04:00
Camotoy
2dc7dc10ff
Remove warning about slot 50 (#1325)
We know that it occurs with console crafting.
2020-09-22 14:15:59 -04:00
Camotoy
02aeddbadd
Scoreboard: Fix various issues (#1286)
* Scoreboard: update score on UpdateType.ADD

* Actually fix

* Readd the Objective when a score changes

It looks like Objectives only update when you Remove the Objective and add it back using the SetDisplayObjective. This is hopefully a hotfix, but I think that there is no better way.

* Explain score tracking

Co-authored-by: Tim203 <mctim203@gmail.com>
2020-09-21 23:55:13 -04:00
Camotoy
2db1d16f5c
Only send the client brand on game join (#1299)
* Only send the client brand on game join

* Apply suggested changes
2020-09-21 16:06:25 -04:00
Comstepr
5fafa0759e
Update pullrequest.yml (#1305) 2020-09-18 21:21:44 -04:00
Camotoy
2f2164f387
InventoryUtils: Don't send Java packet on hotbar item selection (#1301)
The Bedrock client sends a confirmation packet we translate regardless.
2020-09-17 23:07:20 -04:00
rtm516
99e72f35b3
Add support for manually supplying Bedrock resource packs (#1076)
* send resource packs

A lot of this code is nukkit-credits in the classes

* send resource packs

A lot of this code is nukkit-credits in the classes

* Remove unnecessary code/debugs

* use separately generated hashes

* Updated mappings and added .mcpack support

* "packs" directory auto-create (#484)

* "packs" directory auto-create

* cleaned indentation in ResourcePack.java

* Cleaned ResourcePack.java

* Another cleanup

I hate editor on github.

* Yet another

* Another indentation cleanup

* Fix resource pack loading

(cherry picked from commit f93b07491e)

* Move back to internal sha256 hashing

(cherry picked from commit 812a3d82b2)

* Add resource pack loading back after merge

* Add comments, config option and removed unused files

* Fix packs folder location and cleanup code

* Move to better options for the client

* Fix typos in comments

* Fix pack loading

* Try to make it compile

* Final touches?

* Add Javadoc for MathUtils#constrain

Co-authored-by: EOT3000 <43685885+EOT3000@users.noreply.github.com>
Co-authored-by: Vesek <61123478+Vesek@users.noreply.github.com>
Co-authored-by: Heath123 <heath.mitchell27@gmail.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-09-16 20:08:26 -04:00
rtm516
1a49e882d3
[Android] Remove usage of MCProtocolLib Base64 in SkinUtils + more (#1237)
* Remove usage of MCProtocolLib Base64 in SkinUtils

* Fix path resolution for downloading locales
2020-09-16 11:33:59 -04:00
Camotoy
3c1d4aae93
Fix inconsistencies with players and the player list (#1298)
* Fix inconsistencies with players and the player list

This commit makes the player list entry packet control the player cache, fixing inconsistencies that appeared when removing the override on despawning the player.

* Update comments
2020-09-16 00:18:18 -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
6638c53029
Implement command block and jigsaw support (#1291)
* Implement command block and jigsaw support

- Command block UI is now fully implemented to match Java Edition.
- Command block minecarts are now supported.
- Command blocks now show the correct type of command block.
- Jigsaw blocks are translated.

Structure blocks can be implemented, but these will be trickier as there are significant GUI differences between Java and Bedrock.

* Add more detail about command block minecart color

* Set PlayerPermission.OPERATOR to allow command blocks to be destroyed
2020-09-14 20:54:19 -04:00
Camotoy
f5a9254fae
Disconnect player if Java sends disconnection (#1274) 2020-09-14 20:53:47 -04:00
Camotoy
9c8eb00cd5
JavaCollectItemTranslator: check null for entities (#1267) 2020-09-14 20:52:50 -04:00
Camotoy
3b274ef9d1
Pick block improvements (#1265)
* Pick block improvements

- Creative block picking is now implemented. If the survival-styled block picking fails, then the item is created, following Java-style mechanics.
- Entity 'picking' is also implemented. The item is crafted using the same mechanics, and the same rules apply as normal block-picking (except it only works in creative mode, following Java.

* Switch some logic around
2020-09-14 20:52:16 -04:00
Camotoy
1e1402a23f
DumpInfo: Mark internal IP as sensitive (#1264)
Sometimes the internal IP is the external IP of the server.
2020-09-14 20:51:07 -04:00
Camotoy
b13f5e900f
PlayerEntity: despawn even if still on the player list (#1263)
Fixes LibsDisguises not working, as it uses the same entity ID for the disguised entity and player. The player still appears on the player list.
2020-09-14 20:50:21 -04:00
Camotoy
26802e6dab
Translate CanPlaceOn/CanDestroy NBT (#1253)
* Translate CanPlaceOn/CanDestroy NBT

This commit adds support for the translation of the CanPlaceOn/CanDestroy NBT for Bedrock clients.

* Remove debug line
2020-09-14 20:50:07 -04:00
Camotoy
9643b208f3
Check if Fireworks tag is null (#1255)
Thank you Mineplex, very cool.
2020-09-14 20:40:41 -04:00
Camotoy
46c34842d8
BedrockInventoryTransactionTranslator: check to make sure bucket usage is on purpose (#1280)
Otherwise buckets can be activated when opening block inventories.
2020-09-12 09:47:43 -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
d47360d6fb
GeyserSession: send command permission level OPERATOR if qualified (#1254)
Mobile clients have a GUI for commands that shows if CommandPermission.OPERATOR or higher is sent. The commands present all require OP permission 2 or higher; therefore we set that command permission if the server tells us we have a OP permission level of 2 or higher.
2020-09-05 16:22:31 -04:00
Camotoy
854849f63c
Update mappings to fix 1.16 wood slabs (#1249) 2020-09-04 14:08:04 -04:00
Camotoy
5b76a85895
Non-full-chunk support (#574)
This commit adds non-full chunk support if chunk caching is enabled.
2020-09-03 19:00:36 -04:00
Camotoy
4c58568eb4
Relocate Google Common (#1242)
Fixes NoSuchMethodErrors from occuring on certain Spigot servers.
2020-09-02 23:42:53 -04:00
Camotoy
4f761c5bde
Translate scoreboard nametag visibility (#1240)
This commit adds support for name tag visibility in teams. If a player is set to hide their nametag, it will be hidden from the Bedrock client. Notably, this fixes most NPC nametag hiding, including Citizens. This does not fix some NPC nametag hiding - there are several NPCs in Hypixel that still have a nametag show up, and they are not a part of any team.
2020-09-01 23:39:14 -05:00
Camotoy
b21f477366
Parrot mounting fixes (#1236)
* Parrot mounting fixes

- Fix duplicate parrots when a parrot leaves the player
- Fix rotation of parrots

* Remove critical debug information
2020-09-01 23:39:06 -05:00
Camotoy
dcf1731d8a
Implement correct sign wrapping (#1228)
* Implement correct sign wrapping

This commit ensures that the auto-wrapping nature of Bedrock with signs is corrected. If a Bedrock player sends a sign that is auto-wrapped, it will now be interpreted by Geyser to fit on multiple lines. Additionally, Geyser will crop incoming sign text to prevent auto-wrapping.

* Don't wrap if it's the last line
2020-09-01 23:38:36 -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
Comstepr
b97bf56d99
Minor changes to config.yml (#1224) 2020-09-01 23:37:49 -05:00
Camotoy
6f161a380f
GeyserSession: Always set Keep Inventory to true (#1213)
* GeyserSession: Always set Keep Inventory to true

This prevents the client from removing items on death in creative mode if Keep Inventory is true, but doesn't break existing behavior. Essentially, this assures full server-side behavior of the inventory during death.

* Small comment update

* OK, it was fine before the last commit, but make it better
2020-09-01 23:37:24 -05:00
Camotoy
d717085c6b
JaveNotifyClientTranslator: Translate invalid bed message (#1212)
This isn't sent as its own message but as a specific event.
2020-09-01 23:36:53 -05:00
Camotoy
7c4868cada
LocaleUtils: don't NPE if no default locale mapping exists (#1239) 2020-09-01 18:29:53 -04:00
Camotoy
b5f6ada4ae
ScoreboardUpdater: Quick fix to lessen CPU usage (#1238)
This prevents one/multiple CPU cores from taking up 100% usage. A better, permanent fix will replace this in the coming days.
2020-09-01 19:30:40 +02:00
Camotoy
2f9ff0c622
ShulkerBoxItemTranslator: Ensure Items ListTag is present (#1221)
* ShulkerBoxItemTranslator: Ensure Items ListTag is present

* Compile
2020-08-30 00:18:23 -04:00