Commit Graph

1285 Commits

Author SHA1 Message Date
DoctorMacc bf07f1a9ba
Update to 1.16.2-pre1 2020-07-29 21:05:18 -04:00
DoctorMacc 43c062c23c
Update to latest master 2020-07-29 16:25:42 -04:00
Camotoy 964432e4f8
Update submodules (#1047) 2020-07-28 21:01:58 -04:00
Camotoy f5e78371be
Hide stack trace if an SRV record is unable to be found. (#1046) 2020-07-28 17:47:08 -05:00
Camotoy fe75320d6d
Add WORLD_IMMUTABLE flag to spectator mode (#1034)
Prevents the client from trying to interact with blocks
2020-07-27 18:18:22 -04:00
AJ Ferguson b9846fe797
Small inventory fixes (#1029)
* Increase minimum delay between closing and opening a new window

* Fix potential crash when opening player inventory
2020-07-27 11:17:55 -04:00
bundabrg d03f56e7e8
Fix Merchant Inventory Transaction (#1017) 2020-07-25 23:06:06 -04:00
Camotoy 5c2a225533
Check for null when looking for SRV (#1025) 2020-07-25 17:21:13 -05:00
Phillipp W af484a425b
SRV resolving / Small Handshake rework (#968)
Handshake now uses the server address directly from the config and no longer the IP from a domain (Some servers use the address that is given during the handshake)
2020-07-25 13:42:43 -04:00
rtm516 64727db67b
Fix Wolf anger display (#1021) 2020-07-25 12:53:44 -04:00
bundabrg fffac8a552
Fix Spawn position not using offset. (#1015) 2020-07-25 10:38:00 -04:00
DoctorMacc 523e304290
Update mappings 2020-07-24 16:45:44 -04:00
DoctorMacc 127bc39c53
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.16.2 2020-07-24 15:45:28 -04:00
AJ Ferguson 5b1116b15a
Creative items (#1013) 2020-07-24 15:42:15 -04:00
DoctorMacc 9a3a7ef50f
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.16.2 2020-07-24 10:48:00 -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
Camotoy b103d86ff9
Fix buckets on desktop survival (#1003) 2020-07-23 14:37:14 -04:00
Camotoy ad9184ad13
Update Adventure-Legacy dependency (#996) 2020-07-22 14:52:12 -04:00
Camotoy b211b9da2e
Update entity status mappings (#995)
- Add support for LIVING_BURN entity status
- Properly send sheep graze event
2020-07-22 11:03:09 -04:00
ForceUpdate1 765efe8a33
Fix anvil item rename (#992)
* fix anvil item rename

* fix anvil item rename
2020-07-21 15:01:55 -05:00
rtm516 30c007d04b
Fix buckets not working on mobile (#767)
Desktop clients send an extra item use packet for buckets whereas mobile clients dont send the second use packet causing the issue as a ClientPlayerUseItemPacket doesn't get sent to the Java server.

Buckets on mobile may still be glitchy as the player must be directly facing the block they want to place liquid on.
2020-07-21 13:17:55 -04:00
D3ATHBRINGER13 8daf4ef2b7
Add piglin brutes (#989) 2020-07-20 19:45:38 -04:00
DoctorMacc 3b8d1758b3
Initial update for 20w29a 2020-07-20 19:02:18 -04:00
Camotoy 7bb297dd42
Update submodules (#979) 2020-07-20 14:34:19 +01:00
Camotoy e5fc66d72f
Fix elytra flying in creative mode (#956)
Sending a ClientPlayerAbilitiesPacket allows the player to successfully fly.

This commit also removes the setting of the CAN_FLY entity flag on creative mode. This did not break anything in my testing.
2020-07-18 15:57:37 -05:00
Camotoy 221e5bd103
Disconnect client if using an invalid Mojang account (#975)
This commit supresses the NPE that was previously sent when using an invalid Mojang account. Instead, the Bedrock client is disconnected with an error message.
2020-07-18 15:56:12 -05:00
rtm516 64d5390800
Allow for returning of error messages (#955)
* Allow for returning of error messages

* Fix request not sending before error check
2020-07-14 18:58:09 -04:00
rtm516 ab116dcbc3
Update map colors to 1.16 (#947) 2020-07-14 02:18:30 -05:00
rtm516 04e73efd94
Fix enchantment conversion (#920)
* Fix java to bedrock enchantments

* Fix NBT conversion and add Soul Speed enchantment

* Remove unused import
2020-07-14 02:18:11 -05:00
AJ Ferguson 23f33881cd
Fix potion effect colors (#951) 2020-07-14 02:17:20 -05:00
Camotoy c4db0e2e63
Manually disconnect client on LoginDisconnectPacket (#950)
The client will not get kicked on a LoginDisconnectPacket causing them to remain in an empty world perpetually.
2020-07-13 21:53:55 -04:00
RednedEpic e7657c7d07 Fix enchantments for servers that don't namespace them (Fixes #897) 2020-07-11 19:52:20 -05:00
RednedEpic 5ceb4145ac Fix fireworks (Closes #917) 2020-07-11 19:40:26 -05:00
rtm516 485ba1b8a7
Check the name tag exists for anvil renaming to prevent an NPE (#936)
* Check the name tag exists for anvil renaming to prevent an NPE

* Fix item names being empty if display tag exists with no name
2020-07-11 21:58:12 +01:00
Camotoy 7757913c00
Update MCProtocolLib to fix cached chunks on non-Spigot (#937) 2020-07-11 16:47:21 -04:00
Camotoy e942d7c553
Don't use player locale for outdated message. (#931)
Too early in the login cycle to grab it.

This commit also updates the languages submodule.
2020-07-11 12:51:10 -05:00
rtm516 5e5e3b0d28
Add a User-Agent to the rest of the web requests (#932) 2020-07-11 12:22:02 -05:00
Savagetechguy 4daa568311
Fixed Villager Position when Sleeping (#933)
* Update Entity.java

* Switched to VillagerEntity.java and added indents and whitespace

* Fix indents and whitespace and changed to pattern and matcher

* Clean up indentation problems

Co-authored-by: Savagetechguy <jakehorner@gmail.com>
Co-authored-by: Redned <redned235@gmail.com>
2020-07-11 12:20:03 -05:00
Camotoy 3e0cb28a63
Fix scoreboard prefix/suffix translation errors (#929)
Uses getTranslatedBedrockMessage() instead of getBedrockMessage().

Fixes #923.
2020-07-10 14:14:54 -04:00
rtm516 5e664882b1
Fix no gravity falling block entities (#927)
* Fix no gravity falling block entities

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

* Add spacing

Co-authored-by: AJ Ferguson <AJ-Ferguson@users.noreply.github.com>
Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-07-10 09:43:52 -05:00
rtm516 225e2a9fb8
Make a copy of the players list when disconnecting them all on shutdown (#928) 2020-07-10 09:43:30 -05:00
rtm516 67c2b37337
Fix version checking on older Java versions (#926)
* Fix version checking on older Java versions
We add a useragent header to stop cloudflare blocking the default Java useragent

* Explain why we need the user agent

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-07-10 00:50:08 +01:00
Camotoy cbb2586fba
Don't throw a stack trace when detecting for GUI (#919) 2020-07-08 18:44:10 -04:00
Camotoy 9cc468cee9
Remove debug string 2020-07-08 12:42:20 -04:00
DoctorMacc bfdc452e3e Add emote support for Bedrock-to-Bedrock players 2020-07-08 12:38:54 -04:00
DoctorMacc fe254380dc Clean up some TODOs 2020-07-08 12:36:26 -04:00
DoctorMacc 915ad2d057 Update languages submodule 2020-07-08 11:31:09 -04:00
DoctorMacc 83ae3199c9 Update languages submodule 2020-07-08 11:10:40 -04:00
DoctorMacc 21ea1f2408 Update MCProtocolLib to fix #836 2020-07-07 20:14:50 -04:00
DoctorMacc 40032987fa Add magma cube jumping visual 2020-07-07 19:27:12 -04:00
DoctorMacc 0cea703b46 Save ItemEntry classes for items 2020-07-07 16:40:19 -04:00
rtm516 5f6566ad0e Move to dynamic item ID mapping in ItemRegistry 2020-07-07 16:23:21 +01:00
rtm516 c2be7a181d Fix Piglin bartering animation (Fixes #863) 2020-07-07 16:11:52 +01:00
rtm516 a16deb269a Fix exact color matches not being formatted correctly (Fixes #912) 2020-07-07 15:09:24 +01:00
rtm516 75f2891ec0 Fix map_uuid nbt type 2020-07-07 14:47:56 +01:00
rtm516 8807d5d9c6 Fix banner block patterns 2020-07-07 14:30:33 +01:00
DoctorMacc f9760b721c Don't process the display tag if it's empty 2020-07-07 08:30:11 -04:00
AJ Ferguson 50176e10a8 Fix inabilty to place items into brewing stand 2020-07-06 23:44:39 -08:00
DoctorMacc f68632f433 Block-related updates
- Fix block breaking animation
- Fix block breaking particles
- Don't initialize Geyser's chunk cache if using Spigot
2020-07-06 21:38:10 -04:00
RednedEpic 24f9651cc6 Convert map of players to list (may address #833) 2020-07-06 20:11:34 -05:00
AJ Ferguson 699402e635 Fix bug with maps 2020-07-06 15:52:38 -08:00
rtm516 c454e443df Fix maps with negative IDs causing out of bounds errors 2020-07-06 23:36:31 +01: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 545dfa38f0 JavaUpdateTileEntityTranslator improvements
- Remove the use of deprecated functions
- Check for empty NBT (fixes errors on CubeCraft)
2020-07-06 16:22:07 -04:00
DoctorMacc 82c6276794 Move back to using the main repository for MCProtocolLib 2020-07-06 15:19:48 -04:00
rtm516 7e51040a8e Fix fallback locale not loading 2020-07-06 14:41:55 +01:00
James Harrison 3cdc208174
Update MinecraftCapes endpoints (#907)
Updates the mccapes endpoints with the new domain.
2020-07-06 09:26:00 -04:00
theminecoder 66570a623d
Fix scoreboards bleeding into other servers (#902) 2020-07-06 08:10:36 -05:00
rtm516 b0e291edc4 Fix version checking and add failed language string 2020-07-06 12:18:14 +01:00
rtm516 ad751ecb5b Fix ping passthrough throwing errors on unknown properties (Fixes #903) 2020-07-06 11:18:17 +01: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 ca4d827d28 Don't cause a recursion error if Geyser can't find the locale 2020-07-05 21:13:28 -04:00
rtm516 cfaf4051b7
Add Translation support (#504)
Adds full multi-language support to any Bedrock-supported language.

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-07-05 19:35:51 -04:00
RednedEpic d1e5960d69 Send a dimension change upon join game packet now sent by bungeecord on 1.16 2020-07-05 18:33:05 -05:00
RednedEpic 69d7db4493 Update mappings submodule 2020-07-05 17:18:33 -05:00
RednedEpic da1674c8d6 Update to Cloudburst NBT 2.0 2020-07-05 15:59:44 -05:00
DoctorMacc 4062f1ee55 Fix flower pots and item frames 2020-07-05 00:03:51 -04:00
RednedEpic 8ac5d6e13d Fix memory leak in legacy ping passthrough (Fixes #674, #813) 2020-07-04 16:35:48 -05:00
RednedEpic cc2bbc675f Update mappings submodule 2020-07-04 13:08:36 -05:00
DoctorMacc a7fbe995f8 Add comment and check for null when removing passengers 2020-07-04 10:26:32 -04:00
rtm516 da96a5b19c Fix Strider cold state when riding and removing of the RIDING flag when a parent is killed 2020-07-03 22:55:54 +01:00
AJ Ferguson ab71bf0727 Fix bug when dropping items from an open inventory 2020-07-03 12:18:35 -08:00
rtm516 61072948b9 Add GUI to standalone 2020-07-02 20:10:43 -04:00
DoctorMacc 699ae0b88e Set strider entity offset properly if not a player entity 2020-07-01 20:27:39 -04:00
DoctorMacc c17f21eedc Fix respawn bugs - hopefully for good
Thanks to @bundabrg for spotting this one.
2020-07-01 12:28:03 -04:00
rtm516 0f342c1e80 Update mappings to fix fences and plant stems 2020-07-01 14:26:00 +01:00
DoctorMacc 51dfda1c91 Clean up formatting 2020-07-01 08:22:21 -04:00
DoctorMacc 81651cfac5 Add support for 3D biomes; fix Nether biome display 2020-06-30 20:39:21 -04:00
rtm516 c804a6edfb Fix respawning and death not being registered on the client 2020-06-30 17:08:22 +01:00
rtm516 e7fae53552 Fix Strider shaking 2020-06-30 13:51:44 +01:00
rtm516 a9bb8745f5 Fix Zombified Piglin fire flicker 2020-06-30 13:20:03 +01:00
DoctorMacc ba6adc988b Strider mounting fixes; update mappings
This commit refactors health visual logic to make it a global system for each living entity.
2020-06-29 21:34:01 -04:00
AJ Ferguson eb3bde15a7 Fix stored enchantments accidentally being dropped 2020-06-29 16:59:02 -08:00
AJ Ferguson 95144266d2 Handle int tag for enchantment level 2020-06-29 16:59:02 -08:00
rtm516 7710261b70 Add Loadstone Compass tracking 2020-06-30 00:52:32 +01:00
DoctorMacc 4c89a8e303 Return to using Protocol develop branch 2020-06-29 17:52:59 -04:00
DoctorMacc fc4a87a9c9 Fix blocks not updating 2020-06-29 16:46:29 -04:00
DoctorMacc ebc1f13e9b Update dependencies ('item marked as non-null' error is fixed') 2020-06-29 16:03:54 -04:00
AJ Ferguson e77f2b5dbb Drop long array nbt tag when translating to bedrock 2020-06-29 10:59:51 -08:00
rtm516 d394cc6280 Update entity metadata 2020-06-29 15:37:54 +01:00
rtm516 91c33242c6 Fix baby states and collisions of 1.16 mobs 2020-06-29 14:40:06 +01:00
rtm516 70009c4bf9 Clean chat code and fix skins 2020-06-29 13:50:16 +01:00
DoctorMacc f2f59e4e37 Fill in renamed villager trading values (villager trading UI now opens) 2020-06-28 23:44:38 -04:00
AJ Ferguson 12d5982c57 Anvil fixes 2020-06-28 16:14:57 -08:00
rtm516 f5da962f6f Fix disconnect message formatting 2020-06-28 23:38:27 +01:00
AJ Ferguson c2c64fd1cf Fix some recipes with multiple ingredient options 2020-06-28 13:33:38 -08:00
RednedEpic 8e8bc2817a Return if sound is null and update mappings 2020-06-28 12:35:17 -05:00
D3ATHBRINGER13 980e82a2d9
Replace Bukkit with Spigot (#831) 2020-06-28 10:52:53 -05:00
Tim203 2df3d4cbca
Update to the latest MCProtocolLib commit 2020-06-28 16:44:57 +02:00
rtm516 9569416124 Fix chat formatting and team colors 2020-06-28 14:57:41 +01:00
AJ Ferguson 1410b67189 Update mappings submodule
Fixes shulker boxes
2020-06-27 22:36:41 -08:00
DoctorMacc 6e94428f60 Non-working smithing table inventory support 2020-06-28 01:53:35 -04:00
AJ Ferguson e3e8bb2799 Fix first item of creative inventory not showing 2020-06-27 20:47:10 -08:00
AJ Ferguson 2e0eb6dfb7 Fix creative item list 2020-06-27 15:26:16 -08:00
Tim203 8f763dfc5f
Move common stuff used only by connector and bootstrap to connector 2020-06-28 00:27:00 +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 75f470cb33 Fix creative items 2020-06-27 11:35:02 -04:00
rtm516 5b147f8dd1 Fix en_us locale downloading (#809)
Fixes occasional inventories not working because of being unable to read the locale.
2020-06-27 02:00:10 -04:00
endevrr d516dc5b90
Update Mappings (#816)
* Relocate Reflections Dependency

* Update some mappings
2020-06-27 01:00:35 -04:00
AJ Ferguson ba9129129c Quick inventory fixes. WIP
Temporary. The inventory system will be rewritten very soon.
2020-06-26 18:51:09 -08:00
rtm516 17a1e82eca Add closest color mapping for RGB chat colors 2020-06-26 23:33:38 +01:00
DoctorMacc 54f6fada12 Remove try/catch from BlockTranslator and ItemTranslator 2020-06-26 11:15:21 -04:00
DoctorMacc e60f47f65d Fix zombified piglins 2020-06-25 22:52:48 -04:00
DoctorMacc 409293f1db Add new 1.16 entities 2020-06-25 22:32:04 -04:00
DoctorMacc 6f2bf659a9 Update JavaEntityEquipmentTranslator for Java 1.16 2020-06-25 21:53:51 -04:00
DoctorMacc bb630dc867 Update PotionMixData 2020-06-25 12:03:20 -04:00
DoctorMacc 06fa0de793 Add translator for PacketViolationWarningPacket 2020-06-25 11:16:36 -04:00
DoctorMacc bd16925bab Update mappings repository 2020-06-25 11:11:21 -04:00
DoctorMacc 71aada1df3 Fix dimension switching; add static references to new Java dimensions 2020-06-24 20:27:27 -04:00
DoctorMacc a964befef2 Merge branch 'feature/1.16' of https://github.com/GeyserMC/Geyser into feature/1.16 2020-06-24 18:23:02 -04:00
AJ Ferguson f0aaebc0ec Bump block state version 2020-06-24 14:14:20 -08:00
DoctorMacc 1572ac20f1 Update mappings repository 2020-06-24 17:53:26 -04:00
DoctorMacc 8be0c4b27e Update some entity properties based on wiki.vg 2020-06-24 16:40:42 -04:00
DoctorMacc 60fa43c739 Update Bedrock resources dumped by @bundabrg 2020-06-24 14:19:57 -04:00
DoctorMacc b34dc05c1d Uncomment JavaDeclareCommandsTranslator and update 2020-06-24 12:16:30 -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 0471fa89f4 Bedrock 1.16 updating part 2 (Doesn't work) 2020-06-22 21:21:42 -04:00
DoctorMacc ea1a9e5427 Bedrock 1.16 updating part 1 2020-06-22 20:11:09 -04:00
DoctorMacc 56f9330a2d Remove ServerSpawnWeatherEntityPacket 2020-06-21 19:22:59 -04:00
DoctorMacc 63244ade53 Rename Geyser-Bukkit to Geyser-Spigot 2020-06-21 16:27:42 -04:00
DoctorMacc 427f4ef83d Merge master into Spigot rename 2020-06-21 16:21:47 -04:00
DoctorMacc b9ccabb3bb According to all known laws of aviation, bees exist 2020-06-20 22:46:09 -04:00
DoctorMacc 117cdf282d Begin updating Geyser. Requires manual MCProtocolLib compile 2020-06-20 22:24:45 -04:00
DoctorMacc dbe1755a8e Update mappings repository 2020-06-20 18:28:07 -04:00
DoctorMacc 1015b830ce Merge branch 'master' of https://github.com/GeyserMC/Geyser into mcprotocollibupdate 2020-06-20 17:50:00 -04:00
bundabrg e66f57f9f0
Provide a platform independent method of retrieving the datafolder (#769)
* Provide a platform independent method of retrieving the datafolder

* LocaleUtils now uses datafolder

* Make use of Path instead of File

Changes:
* Rename getDataFolder() to getConfigFile() and update to return a Path in each bootstrap

* Rename filePath to tmpFilePath

* Update Velocity configFile to configFile Path
2020-06-20 12:54:40 -05:00
Camotoy 100d7b7759
Add villager interactive tag (#788)
* Add villager interactive tag

This adds a button/controller guide for villager trading, if the villager is able to trade.

* Use a broader variable for metadata
2020-06-20 13:44:40 -04:00
Camotoy effd7602af
Clarify Bedrock remote address change (#787)
There's no reason for most users to try changing this.
2020-06-19 13:39:40 -05:00
rtm516 47cadc7689 Fix json data in chat 2020-06-19 19:29:01 +01:00
DoctorMacc 65f61ec703 Finish block state changes 2020-06-19 09:06:29 -04:00
rtm516 5eb7c9d1dc
Add a setter to the auth type to allow for changing at runtime (#784)
This is mainly for GeyserConnect but may be useful in other cases
2020-06-19 08:50:10 -04:00
rtm516 ad4c1ff0c7 Update Message system 2020-06-19 11:57:34 +01:00
DoctorMacc d6119375b2 (Incomplete) Update MCProtocolLib 2020-06-18 21:44:50 -04:00
Camotoy 9369b20209
Add 1.9+ PvP 'Cooldown' (#768)
* Add 1.9+ PvP 'Cooldown'

This commit adds a subtitle that acts as the Java cooldown. This is an optional feature disabled in the config with `show-cooldown`. This does not appear on plugins that use OldCombatMechanics.

* No need to bump up the config version; I was just tested with OldCombatMechanics

* Use simpler casting

* Use session variable of lastHitTime for theoretically better performance

* Reuse attribute value calculation from AttributeUtils

* Remove unused imports

* Revert config version update in config.yml
2020-06-16 19:03:28 -05:00
Camotoy 256c62ce88
Entity (mostly rotation) fixes (#675)
* Entity (mostly rotation) fixes

    This PR adds:

    - Pig health displaying. Doesn't fix pigs being able to be controlled
    - Entity rotation is *mostly* correct. Villagers and sitting cats still seem to be odd but the ender dragon works great.

* Remove debug line

* Abstract rotation updating to functions per-entity

* Don't include changes from other projects

* Minor improvements

* Make updateRotation and updatePositionAndRotation cleaner

* Javadoc
2020-06-16 18:58:06 -05:00
rtm516 a6f91d5e15
Fix maps not loading in sometimes (#758)
* Fix maps not loading in sometimes
Adds a default map ID so the map item isnt invisible on bedrock.
Respond to the MapInfoRequestPacket so the image loads on first join.

* Remove debug log

* Add comments
2020-06-15 14:24:52 -04:00
Sirawit Thaya 649cf28399
Fixed incorrectly arguments parsing (#773) 2020-06-15 11:20:38 +01:00
DoctorMacc cc3b4c3eda Merge latest master; copy over old Geyser-Bukkit configs 2020-06-11 16:39:29 -04:00
Camotoy 7fcd8f2daf
Fix block entities on older versions (#756)
* Fix block entities on older versions

This commit solves two problems related to block entities on older versions:

- Occasionally, tags would contain the ID under a StringTag with an empty value, and not the ID tag.
- The block entity regex did not account for block entity tags that were already in a Bedrock-compatible format (BlockEntity)

* Move BLOCK_ENTITY_TRANSLATIONS to BlockEntityTranslator
2020-06-10 18:02:29 -05:00
Camotoy 34b367bfc3
Configuration updates (#653)
* Configuration updates

The main feature of this commit is switching Bukkit and BungeeCord to using Jackson configuration. This allows comments to load. Along with this, the Jackson configs have been consolidated into one abstract class, and a check is made to ensure auth-type cannot be set to Floodgate if Floodgate is not installed.

* Add deleted file; remove imports

* Re-add changing of Bukkit port

* Alphabetize import

* Alphabetize Bungee import

* Updates

* Swap values in GeyserJacksonConfiguration

* Add a null check for GeyserConnector in Bukkit's onDisable
2020-06-10 17:58:29 -05:00
Camotoy 7231758a19
Prevent swimming animation from appearing on older servers (#692)
The swimming animation could be played on older servers since that was a legacy value for using an item.
2020-06-10 17:52:36 -05:00
rtm516 a5eba85880
Add ServerPlayerListDataPacket to ignored packets (#755)
This packet handles the header and footer of the scoreboard, therefore this does not exist in bedrock.
2020-06-10 17:52:07 -05:00
Heath123 6e127edfd6
Stop using TrigMath class (#753)
* Stop using TrigMath class

* Use MathUtils
2020-06-09 14:50:21 +02:00
Heath123 1da130ab07
Fix initial movement speed (#751)
Bedrock clients move very fast by default until they get an attribute packet correcting the speed.
2020-06-08 08:13:25 -04:00
DoctorMacc afb12e923b Show villager display name 2020-06-06 00:04:05 -04:00
DoctorMacc 4c5d80e2e9 Update to latest master 2020-06-05 22:52:11 -04:00
rtm516 ccb44f604e
Fix query not following normal MC standards (#736)
Changed the query token generation to generate a 4 byte int represented as a null terminated string
2020-06-04 20:04:38 -04:00
AJ Ferguson 1d8995efe6
Add minimum delay between closing and opening a new window (#735)
Should fix new windows not showing up with some plugins like Lottery.
2020-06-04 14:49:32 -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
rtm516 5fca5d5ef5
Fix position of non-marker invisible armour stands (#697)
This adds the height of the armour stand to the position if its invisible and not a marker to counteract the scale being 0 therefore having a wrong nametag position
2020-06-03 21:12:16 +01:00
rtm516 5eef265f80
Fix display of some more entities (#726)
* Fix display of Evoker and Evoker Fangs

* Fix spawner minecart display

* Centeralise custom blocks for spawner and furnace minecarts

* Add comment explaining class
2020-06-02 18:16:04 -05:00
rtm516 a91eaa7821
Add item name translation (#559)
* Added item name translation

* Change to more appropriate NPE catch

* Remove whitespace

* Switch from try/catch to null checking

* Update mappings

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-06-02 16:33:37 -04:00
AJ Ferguson 3d357af739
Inventory Fixes (#602)
* Fix edge case when shift clicking an output slot

* Don't send window close packet if window is already closed

* Limit amount of window close packets sent to the client

Fixes hidden inventory bar bug

* Restrict user from unusable chest inventory slots

* Fix crafting table slot mappings

* Always send cursor update
2020-06-02 08:48:26 -08:00
Camotoy 18891a22f1
Check for instance of TranslationMessage (#722)
Checks for class of custom name ID in case it's translation message.
2020-06-02 10:45:33 -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
rtm516 5bb345daa6
Fix new minecart with block breaking furnace minecart display (#717)
This handles DISPLAY_ITEM and related properties separately on furnace minecarts in order to prevent overwriting furnace minecart graphics.

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-06-01 15:59:46 -04:00
rtm516 ac5ab229f9
Fix Ender Crystal collision and explosion effects (#716)
Fixed the collision box being non-existent for ender crystals and fixed explosion effects not being displayed properly
2020-06-01 15:57:27 -04:00
Camotoy 215e5a7e21
Add custom minecart metadata (#713)
Adds display item, offset, and enable values.
2020-05-31 21:47:54 -04:00
rtm516 b8615874f9
Add furnace minecart (#712)
Adds the display of the furnace minecart, functions as expected.
2020-05-31 21:46:36 -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
Camotoy 64e3204611
Implement translator for AdventureSettingsPacket (#691)
* Implement translator for AdventureSettingsPacket

The AdventureSettingsPacket is translated into ClientSettingsPacket so the MAY_FLY and FLYING flags are sent to the server. This fixes double-jumping on some servers that rely on the client sending their flying information through this packet.

* Remove top-secret code analysis
2020-05-29 18:56:21 -05:00
Heath123 5c8f6eb184
Fix relative teleports (#688) 2020-05-29 15:11:38 -04:00
rtm516 3f76ae1d48
Add ignore for ServerKeepAlivePacket (#664)
This packet is already handled by MCProtocolLib for us.

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-05-28 11:43:31 -04:00
rtm516 1a92f6974c
Add byte conversion to allow int NBT values for Fireworks (#681)
Firework NBT data might be either an int or byte and bedrock only takes it as a byte.

Co-authored-by: Arktisfox <65837019+Arktisfox@users.noreply.github.com>
2020-05-28 11:38:23 -04:00
DoctorMacc 2dc755ca98 Rename Geyser-Bukkit to Geyser-Spigot
Despite the Bukkit suffix being correct in terms of the API, the name causes some people to download CraftBukkit instead of Spigot or Paper. All internal references to Bukkit have been renamed to Spigot.
2020-05-26 10:05:25 -04:00
Camotoy 14fcd77925
Fix entities stacking on top of each other when mounted (#660)
The offset was being called but not properly saved to a variable. The check will also not apply if there is only one mounted entity.
2020-05-25 22:43:29 -05:00
bundabrg a929c411d2
Use authData UUID when sending playerlist packets to the client (#654)
Bedrock knows its own UUID and when it receives the Java uuid it will either crash (MCEE) or add a ghost player onto the playerlist (Bedrock).
This change will check if an entity is the client and if so replace the entities UUID with the AuthData UUID.

A refactor of JavaPlayerListEntryTranslator was also done as I got confused each time what it was doing so it is now hopefully a bit clearer and also fixes the case where an entity is removed but still exists on the server (Vanished).
2020-05-25 22:39:57 -05:00
bundabrg cc6c7fe78d
When spawning don't add the player offset (#655)
Fixes falling when logging in
2020-05-25 22:35:26 -05:00
Arktisfox 0178492b59
Fix some book translation failures (#661)
Book pages can be sent as plain text rather than JSON. The text library doesn't use lenient parsing, so this fails, and the book isn't visible in the inventory.

This will convert the text into JSON if it's not already, before feeding it to the text library.
2020-05-25 21:19:37 -04:00
rtm516 d0545c57c4
Fix some fireworks colors and NPE of there is no NBT (#650)
Adds Bukkit colors and an additional NPE check
2020-05-25 17:57:10 -04:00
RednedEpic 6b68bbb413 Large refactoring to item translator and registry/util classes
- Merged ItemTranslator and ItemStackTranslator together.
- Split ItemTranslator into two classes: ItemTranslator and ItemRegistry. The registry is where items are registered, and the translator class is where item translation takes place.
- Made most of ItemTranslator's methods static and removed the initialization in Toolbox.
- Moved a handful of registry classes previously ending with 'Utils' to a 'Registry' class to be more fitting for the term.
- Moved inventory and block entity registration out of Translators.
- Renamed Translators to PacketTranslatorRegistry.
- Yeeted Toolbox.
- Minor cleanups and small refactors.
2020-05-24 20:07:05 -05:00
RednedEpic 7154e1c816 Strip Minecraft identifier when playing non-mapped sounds to allow for bedrock-exclusive sounds to be played 2020-05-24 14:56:05 -05:00
rtm516 3a39e9afee
Added Crossbow nbt translator (#590)
They still infinitely reload but they correctly track if they have data in now.
2020-05-24 15:51:30 -04:00
RednedEpic 0215220ac1 Fix spectator mode 2020-05-24 14:46:36 -05:00
RednedEpic 56d84c24d3 Reduce nesting in item nbt translators 2020-05-24 14:21:06 -05:00
RednedEpic 6dabc22d22 Add null check for fireworks tag (Closes #636) 2020-05-24 13:20:38 -05:00
Arktisfox d918139c44
Check if firework item explosions tag is null (corresponding entity fix) (#633)
* Check if firework item explosions tag is null (corresponding entity fix)

* Add null check on flight

* Add null check around Flight

* Fix newline on if statement

* Fix newline on if statement, add null check on flight, remove debug code.

* fix missing space..
2020-05-24 13:15:02 -05:00
RednedEpic 286970676b Add null check for shield code (Fixes #644) 2020-05-24 13:06:25 -05:00
RednedEpic 259be96652 Update mappings submodule (Fixes #630) 2020-05-24 12:51:56 -05:00
RednedEpic 3d0dbff87b Remove effects on world/server change (Fixes #467)
The server re-sends these effects upon joining the new world or server.
2020-05-23 23:45:39 -05:00
RednedEpic 7f5414cdef Fix painting offset if height is equal to 3 (Fixes #629) 2020-05-23 23:27:16 -05:00
RednedEpic ebd88c76aa Don't delay item frame interactions
Causes interacting (moving) an item in an item frame to delay by about half a second. This delay is still present on chunk load where this delay is absolutely needed in order to the item frame to show up.
2020-05-23 23:14:29 -05:00
RednedEpic 681cbeeae5 Add armor stand entity offset (Fixes #627) 2020-05-23 22:45:34 -05:00
Camotoy fe6257bb38
Check if firework item explosions tag is null (#626) 2020-05-23 21:16:11 -04:00
RednedEpic 0574feb87e Fix block breaking animations when in water (Closes #494) 2020-05-23 18:29:11 -05:00
Camotoy 99f69b3a7d
Rewrite Ping Passthrough (#468)
* Fix ping passthrough on BungeeCord

* Initial implementation of direct ping passthrough

* Finished implementation of direct ping passthrough

* Remove test for something else entirely

* Fix standalone

* Add config option for ping passthrough interval

* Use GeyserPingInfo to reduce methods

* Add querying; modify ping passthrough

* Add separate config options for passthrough MOTD and player counts

* Convert all plugin bootstraps to use internal ping events to that other plugins can handle ping modifications

* Small changes

* Fix invalid packet spawm

* Add legacy ping passthrough option

* Fix BungeeCord

* Proper UUID for BungeeCord, thanks @theminecoder

* Update config version and messages

* Merge master... again

* Add missing javadocs and minor changes

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
Co-authored-by: theminecoder <theminecoder.dev@gmail.com>
Co-authored-by: Redned <redned235@gmail.com>
2020-05-23 16:50:04 -05:00
Camotoy 59da87a10f
Merge entity mounts branch to master (#589)
* Initial support for entity mounts*

* This only works for viewing other players on mounts/vehicles. Currently, mounting on vehicles through Geyser with bedrock does not work at all, though, you can see other Java players on mounts just fine.

* Fix Bedrock player mounting; add minecart offset

* Remove debug code

* Fix boat animation

* Remove debug code

* Add notice of possible steering flip

* Add translator for PlayerInputPacket

* Upload WIP code for BoatEntity.java

* Add animation for rowing on Bedrock side

* Clean up debug code, start on boat movement

* Add notice about flying horses

* Rename BedrockPlayerInputPacket.java to BedrockPlayerInputTranslator.java

* Delete BedrockPlayerInputPacket.java

* Use Translator Annotation again; Thanks to LegacyGamerHD

* Upload ineffective mount-on-login code

* Upload current changes with no debug code

* Change case where applicable

* Change Integer[] to int[]; Change schedule() to execute()

* Don't use Thread.Sleep() and instead call itself again

* Fix players not being linked on login/chunk load

* Little changes

* Minor improvements/fixes to boats

* Remove empty file

* Fix horse flying.

* Various entity mounting fixes

* Add mounting offsets for skeleton and zombie horses

* Another round of entity mount-related fixes

- Add offsets for skeleton and zombie horses (Thanks to tester DirtNasty)
- Boats can now be placed in survival (Thanks again to tester DirtNasty)
- Boats and minecarts can now shake

* Add translating for ServerVehicleMovePacket

* Cleaning up

* More cleaning up

* Add interactive tag support for mountable entities

* Boats move far more nicely

* Add horse heart visuals

* Update interactive tags

Co-authored-by: RednedEpic <redned235@gmail.com>
2020-05-23 16:39:17 -05:00
rtm516 d8d9fb7190
Fireworks! (#579)
* Fixed firework entity

* Added firework item translator

* Fixed mappings submodule
2020-05-23 16:33:39 -05:00
Camotoy 22a1073e54
Debugging improvements (#585)
* Debugging improvements

- Added an ObjectArrayList of packets we don't anticipate ever translating. Currently only holds ServerUpdateLightPacket which we don't use and probably don't need.
- Only print debugging logs from sounds if they failed to play.

* Add space
2020-05-23 16:11:54 -05:00
Camotoy 714c450291
Add players able to sleep in beds (#575)
* Add players able to sleep in beds

This commit sets the correct metadata and flags when the Java pose changes to sleeping.

* Player view while sleeping now works

* Fixed bed offset for other players
2020-05-23 16:09:11 -05:00
rtm516 fc6532732d
Adds skin ears from MinecraftCapes.co.uk + Clientside linked account skins + Elytra textures (#539)
* Added ears geometry support

* Added ear fetching from mc capes

* Added support for deadmau5

* Commented, documented and cleaned code

* Allow bedrock players to see their java skin/cape/ears when joining

* Optimised Imports

* Fix missing else statement

* Moved ears and fixed elytra skins

* Added ears config option

* Fixed cape/elytra transparency

* Fixed slim skin geometry

* Fixed async ears request and added alex skin

* Fixed default elytra not showing with no cape

* Moved to normal Base64 functions

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
2020-05-23 16:06:34 -05:00
Camotoy 1664221fa9
Add optional workaround for >Y128 Nether building (#615)
* Add optional workaround for >Y128 Nether building

This commit adds a config option for building above the Nether by changing the Nether's dimension ID to match the End's.

* Only check for workaround application once

* Fix mappings?

* Include a bit more for the above bedrock nether building config option

Co-authored-by: Redned <redned235@gmail.com>
2020-05-23 16:02:51 -05:00
rtm516 8f01221275
Updated to support latest MCProtocolLib (#623)
* Updated to support latest MCProtocolLib

* Cleaned up names and imports

* Fixed minecarts

* Fixed throwables

* Fixed tnt
2020-05-23 15:56:49 -05:00
OnlyBMan 81d3b0ef10
Fix painting rotation (#597)
* Fix painting rotation

* add comment and spacing

* Dont sleep everything :P

* Fix whitespace

* Remove whitespace

* Fix underlying issue

Instead of adding a delay, exclude Painting in HeadLookTranslator.java. Thanks AJ!

* Remove unneeded import

Co-authored-by: Camotoy <20743703+DoctorMacc@users.noreply.github.com>
2020-05-21 18:45:35 -05:00
Camotoy 61e0e796da
Fix /geyser offhand command on Bukkit (#611)
If CommandSender is not an instance of GeyserSession, we iterate through all GeyserSessions in order to find the sender.
2020-05-21 17:48:24 -05:00
Camotoy a7f363ec09
Add option for disabling command suggestions; add config version (#598)
* Add option for disabling command suggestions; add config version

This commit adds an option for disabling command suggestions. If enabled, command suggestions will not be sent to the server so as to remove command freezing. This commit also adds a config version variable so users are notified when to regenerate their configs.

* Rename GeyserConfiguration.checkGeyserConfiguration()
2020-05-20 22:43:22 -05:00
Camotoy 83c7858a8c
Fix bug where online mode players couldn't move after logging in (#610) 2020-05-20 13:43:17 -04:00
Camotoy fbfc987d2b
Fix mapping for Burning Skull painting type (#608)
Otherwise, painting shows up as a 1x1 painting of another kind.
2020-05-20 12:40:07 -05:00
rtm516 18415d5d15
Fixed trident display and some arrow related cleanup (#609)
* Fixed trident display and some arrow related cleanup

* Renamed trident entity
2020-05-20 12:39:58 -05:00
Camotoy 1395b719cb
Add missing break to JavaEntityStatusTranslator (#600) 2020-05-20 10:12:31 -05:00
Creeperface01 5fe38fa83f
Show form window immediately after spawn (#606) 2020-05-20 10:12:03 -05:00
rtm516 3ab5c697c1
Updated mappings submodule (#596) 2020-05-19 21:39:10 +01:00
AJ Ferguson 2366559694 Store villager data in the player and fix wandering trader 2020-05-19 09:41:44 -08:00
AJ Ferguson 95297e4047 Update villager xp while trading 2020-05-19 07:28:33 -08:00
AJ Ferguson e2d46c3d49 Work on villager trading 2020-05-18 21:15:29 -08:00
rtm516 c0f678a8af
Added a docker container IP warning (#584)
* Added a docker container IP warning

* Corrected messages

* Moved to normal java file read instead of starting cat

* Fixed capitalisation on method name
2020-05-18 22:27:35 -05:00
Camotoy fd36930502
Add entity event for drowning. (#588)
This commit translates Java's LIVING_DROWN entity status to Bedrock's HURT_ANIMATION.
2020-05-18 22:26:27 -05:00
OnlyBMan fc5230c248
Add firework boost for elytras (#552)
* Add firework boost for elytras!

* Change how to detect player glide

* Add comments explaining code

* Remove unused ID
2020-05-18 10:46:35 -04:00
Camotoy 31d3d2e289
Add some elder guardian properties (#586)
- Adds the ELDER flag to all elder guardians, so they look like elder guardians and not giant regular guardians.
- Translates AFFECTED_BY_ELDER_GUARDIAN in JavaNotifyClientTranslator to add the elder guardian curse event.
2020-05-17 23:35:26 -05:00
rtm516 405ffb2666
Added mob spawner block entity data (#587) 2020-05-17 23:35:01 -05:00
rtm516 43ee7d6027
Fixed creepers, giants and eye of ender (#578) 2020-05-17 01:26:13 -05:00
RednedEpic b0d0c168d2 Fix bossbar causing players to be unable to break blocks or interact in small areas (Closes #537) 2020-05-17 01:06:07 -05:00
Camotoy 57717795a3
Add enchantment table book on chunk load (#568)
Java's block entity ID is enchantment_table whereas Bedrock's is EnchantTable; this commit adds an exception to the block entity regex as such.
2020-05-16 23:59:03 -05:00
rtm516 95b7055c10
Added map icons (#572)
* Added map icons

* Cleaned up and moved to enum
2020-05-16 23:58:00 -05:00
Camotoy 563cde2ade
Switch to client's translation for jukebox song name. (#573)
Just for consistency with the other part of the code.
2020-05-16 23:57:34 -05:00
rtm516 3220532083
Fixed fishing rod lines not connecting to other players (#580) 2020-05-16 23:57:18 -05:00
RednedEpic 30e38b3a2f Add basic villager trading support (incomplete)
This commit implements basic functionality for villager trading. This is still incomplete and is buggy in areas such as with villager trades that have more than one input and trade inputs and outputs containing NBT.

Co-authored-by: DoctorMacc <toy.fighter1@gmail.com>
2020-05-16 23:52:39 -05:00
Camotoy b4ecb88d49 Add air bubble UI support (#569)
This commit translates entity metadata ID 1 into the AIR entity metadata.
2020-05-15 15:29:54 -05:00
Camotoy 1b260c16d7
Leash fixes (#567)
* Leash fixes

- Adds visuals for leash string by translating ServerEntityAttachPacket
- Updates position offset for lead knots, making them properly appear on fences

* Add basic description of JavaEntityAttachTranslator
2020-05-15 12:50:34 -05:00
rtm516 2830756a55
Fixed unusable space being off by 1 (#561) 2020-05-15 11:08:44 -05:00
rtm516 919af5203d
Fix banner items loosing patterns in inventory (#560) 2020-05-14 19:41:42 -05:00
Camotoy d4995acec6
Add support for absorption (golden hearts) (#553)
Absorption is an attribute in Bedrock and an entity metadata value in Java. This commit sends an attribute update packet when the metadata value is updated.
2020-05-14 11:30:33 -05:00
Camotoy d5c14921e9
Add message when playing record (#549)
It appears that the record message is client-sided in Java Edition, so this sends a message whenever a record is played in-world.
2020-05-13 16:08:52 -05:00
Camotoy 278f59103e
Replace illusioners with pillagers (#550)
Illusioners do not exist in Bedrock edition; this commit replaces them with pillagers so they can be somewhat replicated.
2020-05-13 16:08:32 -05:00
rtm516 6aadfb3a63
Fixed wither shield (#544) 2020-05-13 16:08:14 -05:00
rtm516 46b0054435
Fixed guardian beam getting stuck on players (#540)
* Fixed guardian beam getting stuck on players

* Fixed formatting
2020-05-12 21:31:42 -05:00
rtm516 0c60af66b2
Fixed customised skins causing strange display (#534)
* Fixed customised skins causing strange display

* Cleaned up floodgate player checking

* Fixed cape scale

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
2020-05-11 23:45:16 -05:00
rtm516 c84c0f23cb
Fixed invisible flag not getting set back (#535)
* Fixed invisible flag not getting set back

* Fixed indentation
2020-05-11 23:44:30 -05:00
rtm516 324bc67c97
Fixed small armour stands not respecting invisibility (#533) 2020-05-11 14:56:50 -05:00
rtm516 f9ee569cd5
Various entity fixes (#529)
* Fixed invisible entities nametags being displayed

* Fixed most entity collision boxes

* Fixed area effect cloud not displaying

* Fixed armour stand size and marker

* Fix baby collision boxes

* Fixed squid animation (rotation still broken)

* Fix Guardian beam for local player

* Fixed armour stand invisibility

* Fixed Wither boss data

* Fixed  fishing line attach to entities
2020-05-11 00:09:16 -05:00
Camotoy 64bfad2af9
Use Bukkit methods to send block sound (#522) 2020-05-10 15:25:28 -05:00
Heath123 720ae3c92d
Add survival-style block pick support (#526)
* Add survival-style block pick support

* Add BedrockBlockPickRequestPacketTranslator.java

* Remove unnecessary println

* Edit styling and add null check

* Fix compile error

* Remove nesting and unnecessary check

* Further reduce nesting

* Change 1-line statements and add missing comment

* Fix creating translator

* Fix imports
2020-05-10 15:05:51 -05:00
RednedEpic d2a18f8fd5 Remove dangling entity link packet in PlayerEntity for parrots 2020-05-10 14:47:40 -05:00
Camotoy 6192237cc9
Add parrots on player shoulders (#530)
* Add parrots on player shoulders

Parrots on player shoulders are a separate entity in Bedrock, but part of the player metadata in Java. This commit creates a parrot entity from the NBT data given by the player's entity data.

* Remove unused import

* Nullify parrot after despawning

* Remove debug code
2020-05-10 14:38:39 -05:00
Camotoy 34d4817795
Add visual support for double chests (#523)
* Add visual support for double chests

* Update mappings submodule
2020-05-10 14:26:00 -05:00
RednedEpic e58ffdd3c0 Add support for block break animations from java players to bedrock 2020-05-08 00:18:05 -05:00
RednedEpic edc8ea998c Add slime and magma cube size support 2020-05-07 22:57:08 -05:00
James Harrison 2355c503c9
Enderchest and Invisible Players fix. (#506)
* Fix EnderChests not showing on legacy servers (Hypixel)
Fix NPCs/Players sometimes being invisible

* Remove unused import

* Fix standard
2020-05-07 21:49:44 -05:00
Camotoy f11bae0bf0
Fix signs (#439)
* Fix signs on everything except Paper

* Fix sign line placement

* Update shulker box block entity

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
2020-05-06 16:52:57 -05:00
rtm516 5ae95433e5
Bedrock to Bedrock legacy skin support (#276)
* Added legacy skin support for bedrock to bedrock clients

* Added bedrock to bedrock cape handling

* Added bedrock geometry support

* Bedrock skins now work in all auth modes

* Tonne of debug info

* Added fix to prevent customised skins from being loaded

* Added skin size to bedrock client data

* Cleaned debugging code

* Made bedrock cape take priority over third party

* Cut the customised skin image in half to hopefully get it to map

* Removed hacky conversion attempt

* Fixed bedrock skin caching on load and 1.14.60 support

* Cleaned up debug messages

* Added linked player ignore
2020-05-06 16:50:01 -05:00
Luke 4c1dae6714
Add unusable inventory space message (#492)
* Add unusable inventory space message

* Remove unused imports

* Fixed barrier pickup (#1)

Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
2020-05-06 16:05:03 -05:00
Camotoy 48147c2ce3
Fix Floodgate players causing errors on Bukkit. (#490)
Co-authored-by: Tim203 <mctim203@gmail.com>
2020-05-05 12:53:25 -05:00
Luke 7195d20fae
Implement helper methods for sending packets (#487)
* Implement helper methods for sending packets, fixes an NPE when chatting before connecting to the remote server

* Change method names

* Add a space between doc comment lines

* Add debug messages
2020-05-05 10:51:43 -05:00
rtm516 96a7770c22
Fixed entity bugs introduced by 6642f1e and added fishing lines (#483)
* Fixed entity bugs introduced by 6642f1e

* Fixed fishing line not displaying

* Clean extra line and added todo
2020-05-05 10:48:01 -05:00
RednedEpic 20bbbee3eb Remove flower pot debug code 2020-05-05 00:10:23 -05:00
RednedEpic 6642f1ec26 Fix a few entities not showing up and include identifiers for entities in EntityType 2020-05-05 00:09:36 -05:00
RednedEpic 26266bf9b6 Fix black texture of offhand item (Closes #332) 2020-05-04 22:01:34 -05:00
rtm516 eeb4cafbc8
Fix some nested language strings (#482) 2020-05-04 21:32:57 -05:00
James Harrison 5b3e7c965f
Chat/Skin fixes (#480)
* Made MessageUtils mimic java chat behavior
Send ClientSettingsPacket when player joins a server

* Fix comments
Set use client locale instead of hard coding

* Moved chat reset to fix some broken formatting

* Revert MessageUtil as rtm516 has implemented a better fix
2020-05-04 21:32:37 -05:00
Camotoy b49004ddaf
Add block entity translators for Bedrock-only block entities (#478)
* Initial work on flower pots

* Flowers work in-game, not yet chunk load

* Don't overwrite my code before merge

* Finish up flower pots; add piston support on chunk load

* Clean up

* Remove debug line; update mappings
2020-05-04 21:32:02 -05:00
rtm516 fcf1949b28
Fix trapped chests not displaying (#481) 2020-05-04 19:39:44 -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
ForceUpdate1 d0a2f6ac27
Fix movement issues #466 (#473) 2020-05-04 01:06:08 -05:00
RednedEpic 7d67b65777 Merge branch 'master' into feature/sounds 2020-05-04 00:51:22 -05:00
RednedEpic 0532d5310f Update mappings 2020-05-04 00:29:22 -05:00
RednedEpic 25d3e0708f Map most all missing sounds 2020-05-03 23:56:07 -05:00
RednedEpic 1aca44ec7f Fix playsounds 2020-05-03 15:56:46 -05:00
rtm516 692e46146c
Remove duplicate commands by name (#474)
* Remove duplicate commands by name

* Removed comment
2020-05-03 15:26:14 -05:00
RednedEpic 7f7d89e517 Add tnt sounds/particles and support for level event sounds 2020-05-03 01:48:38 -05:00
RednedEpic 3370ad3db9 Merge branch 'master' into feature/sounds 2020-05-02 23:06:53 -05:00
Camotoy 9846058377
Add item frames (#415)
* Initial attempt

* Item frames 'work'

* Blocks in the item frames work

* Remove commented code

* Small changes

* More progress

* Whittling down

* Fix swords, etc

* NBT data implemented

* Remove unused import

* Add item frame item removing; add checks for removing item frames

* Add requested changes; clean up logic

* Add license

* Always delay item frame updates by 500 milliseconds

* Switch to per-session item frame cache

* Revert item translator refactoring
2020-05-02 15:44:05 -05:00
RednedEpic d7592d8216 Add back in explosion translator, add identifier support for sounds
Some sounds require an identifier be added, otherwise they don't properly play.
2020-05-02 01:56:08 -05:00
RednedEpic 99e8ca83ab Fix eating sounds and bow sounds 2020-05-02 01:29:30 -05:00
RednedEpic ff26dcad0d Start work on entity sounds, other misc implementations/fixes 2020-05-02 01:06:22 -05:00
Camotoy b07161b0a9
Add block values + note block note graphics (#455)
* Add note block visual without note pitch

* Add rest of block value code

* Add rest of block value code

* Fix pistons, somewhat

* Remove note block attempt

* Re-add whitespace

* Simplify sendPacket of BlockEventPacket

* Add note block visual without note pitch

* Add rest of block value code

* Fix pistons, somewhat

* Remove note block attempt

* Re-add whitespace

* Add mappings for noteblock pitch

* Change noteblock pitch code

* Noteblock Pitch Attempt

* Commit with PistonBlockEntityTranslator

* Cleanup for PR

* Improve pistons

Co-authored-by: blazewalker462 <blazewalker462@protonmail.com>
2020-05-01 00:51:23 -05:00
rtm516 2e3f32d769
Only replace the first '.' in a message (#463) 2020-05-01 00:49:29 -05:00
RednedEpic f057edb526 Don't show block break animation at all in creative 2020-04-30 00:53:28 -05:00
RednedEpic 0ac4789f2c Don't send sound updates if block of the same type already exists in placing position
This prevents the block place sound (most notably buttons or blocks that don't occupy one whole block) from spamming the client if they have their place button held down.
2020-04-30 00:45:27 -05:00
RednedEpic ad596cdccb Add sound handlers for block interaction
These sound handlers had to be added since on Minecraft: Java Edition, these sounds are handled clientside whilst Minecraft: Bedrock Edition expects something from the server. To counter this, we emulate the sounds of that on Minecraft: Java Edition within Geyser and send it to the client. The code may seem a tadredundant, but there is not much of an alternative unfortunately.
2020-04-30 00:21:02 -05:00
RednedEpic 4d32f6ab70 Access world manager instead of chunk cache to fix particles on Bukkit version 2020-04-29 15:56:41 -05:00
RednedEpic 364aac7e1a Fix block break particles not displaying in survival 2020-04-29 15:47:29 -05:00
RednedEpic 1fbb755d26 Merge branch 'master' into sound-master 2020-04-29 15:14:25 -05:00
RednedEpic 31be608038 Add block break sounds for blocks with 0 hardness, and refactor some things
The refactors in this commit go a bit beyond the scope of what the sound/effects branch was meant to accomplish, however most of these changes are necessary so chunk caching could be reintroduced for the standalone version. The chunk caching here allows for us to get the block ID before the block was broken, and in the future allow us to implement newer features. Chunk caching is optional (and disabled by default) as on non-Bukkit versions, it can eat up a lot of RAM with many players online.
2020-04-29 15:01:53 -05:00
rtm516 bea070395f
Handle player teleports properly (#389)
* Handle player teleports properly

Co-authored-by: ForceUpdate1 <mneuhaus44@gmail.com>

* impl teleport cache

* impl teleport cache

* removed debugs

* Cleanup

Co-authored-by: ForceUpdate1 <mneuhaus44@gmail.com>
2020-04-29 11:06:25 -05:00
ForceUpdate1 82433f8078
Fix capes (#436)
* fix capes

* remove gson

* clean up

* clean up

* formatting code

* Made the changes fit a bit better into the already existing code

* Throw the nullptr before the download complete message,
making debugging skins less confusing

Co-authored-by: Tim203 <mctim203@gmail.com>
2020-04-29 11:04:45 -05:00
rtm516 7a9fff1a64
Fix shulkers being upside down on load (#446)
* Added shulker box direction handeling

* Update mappings

* Added missing Object2ByteMap

* Cleaned javadoc

* Moved shulker box direction conversion to the mappings generator
2020-04-29 11:01:56 -05:00
ForceUpdate1 87be8c378e
Fix Item Name and Lore (#443)
* add basic item translator

* add licence
remove debugs

* fix default lore
2020-04-29 10:58:29 -05:00