Commit graph

1793 commits

Author SHA1 Message Date
Redned
39324ce95d Go back to normal thread for now using MSA auth, and only toggle leak detector on standalone 2021-07-18 17:41:47 -05:00
Redned
ae4e4397e3 Use a CompleteableFuture rather than constructing a new thread for logins 2021-07-18 17:04:16 -05:00
Redned
15863bdaef Disable netty's resource leak detector if no level is set 2021-07-18 16:24:55 -05:00
Redned
95a1cbfa24 Some more micro optimizations 2021-07-18 15:43:04 -05:00
Redned
1ad952b581 Handle locale stuff downloading of main thread and add doc to Object2IntBiMap
Technically LocaleUtils is not thread safe and people running Geyser for the first time on slow internet connections may see some untranslated messages. However, we were seeing startup times of about 1+ minutes on these slow connections, and it's better that players see untranslated messages for a short period of time rather than having to wait over a minute for the program to start up.

Once the locale is installed, it doesn't need to be redownloaded again (unless there is a game update) and all translated messages will just work once this download is complete without clients needing to relog.
2021-07-18 15:20:40 -05:00
Redned
b4921132e1 Replace BiMap with an Object2IntBiMap 2021-07-18 14:43:17 -05:00
Redned
fde36a2234 Fix check for missing item mapping and update mappings submodule 2021-07-18 12:47:02 -05:00
Camotoy
0e72952e0b
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-07-18 11:13:37 -04:00
David Choo
2766038db9
Update player bounding box in more scenarios (#2377)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-18 10:58:08 -04:00
Camotoy
697f35f657
Specify the first and last relevant block runtime IDs for items
Improves startup time and processing
2021-07-17 18:09:55 -04:00
RednedEpic
ff280ef192 Replace Reflections usage with an annotation processor
Reduces jar size by about 1.5-2mb
2021-07-17 13:36:04 -05:00
Camotoy
80b8d18c31
Replace more instances of String#split with BlockUtils#getCleanIdentifier 2021-07-17 09:43:25 -04:00
David Choo
4e629feee8
Fix block unique Java IDs (#2390) 2021-07-17 09:33:38 -04:00
Camotoy
4844302883
Merge branch 'extended-world-height' 2021-07-16 20:21:43 -04:00
Camotoy
01873ea566
Change some comments 2021-07-16 20:18:13 -04:00
Camotoy
8e593a55a3
Adjust language strings for new options 2021-07-16 20:06:09 -04:00
Camotoy
f03a2dd317
Remove goat horn from creative menu; use proper sculk sensor item 2021-07-16 12:28:11 -04:00
Camotoy
7972f089d9
Oops 2021-07-15 20:51:35 -04:00
Camotoy
db1563aa79
Better estimate for new biome data size 2021-07-15 20:51:13 -04:00
Camotoy
3b55826d70
Make the ByteBuf in ChunkDataTranslator allocate a more decent size 2021-07-15 18:33:49 -04:00
Camotoy
99a7f9a012
Explain that yes, we have to write 32 biome palettes always 2021-07-15 18:31:47 -04:00
Camotoy
89370ef648
Explain new changes in BedrockMovePlayerTranslator 2021-07-15 18:27:43 -04:00
Camotoy
143464b5a9
Respect Javadoc's wishes 2021-07-15 18:12:08 -04:00
Camotoy
25edf41329
Some optimizations
- Fix recipe registry not using an int key-based map
- Versioned registries now use Fastutil more effectively
- Replace uses of String#split for block identifier manipulation with #indexOf and #substring
- Reuse Patterns in collision loader
2021-07-15 18:03:41 -04:00
Camotoy
11874aaa9b
Merge branch 'master' of https://github.com/GeyserMC/Geyser into extended-world-height 2021-07-14 22:00:23 -04:00
Camotoy
e5cb122db3
Use normal biome data for non-extended world height 2021-07-14 21:59:10 -04:00
Camotoy
d19ff657de
Ensure overworld constraints are used everywhere 2021-07-14 21:46:56 -04:00
Camotoy
feb64e08df
Fix biomes crashing and more (huge thanks to @dktapps 2021-07-14 21:14:53 -04:00
Camotoy
ba4e0cf5b9
Fix scaffolding and auto crafting
Fixes #2381
2021-07-14 09:33:34 -04:00
Camotoy
ac9da9a5a0
Fix flower pot updating 2021-07-13 21:47:13 -04:00
Camotoy
a1706365b9
Potted azaleas are now visible 2021-07-13 21:14:22 -04:00
Camotoy
c7d4130a44
Start of extended world height support 2021-07-13 20:48:45 -04:00
Camotoy
b2619fa7c7
Address some null pointers (fixes #2378, #2380) 2021-07-13 18:12:55 -04:00
Redned
f7ef90278b
Implement a new registry system (#2306)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-07-12 21:19:40 -04:00
Camotoy
887296ef78
Round up health attribute for all living entities (fixes #2362) 2021-07-09 10:28:03 -04:00
Camotoy
334e4fb059
Fix players being 'dead' even with half heart 2021-07-08 20:21:21 -04:00
Camotoy
92cd36d81f
Fix horse jump meter showing if not saddled 2021-07-08 18:55:28 -04:00
Camotoy
32bbd8ae1c
Attribute rewrite
This commit solves a couple issues:
- Entities that don't implement LivingEntity don't need to bother with attributes
- We don't need to cache all attributes for every entity
- Mounted entities' hearts were inconsistent

No entity as of this commit caches their attributes except for the player entity.
2021-07-08 10:30:59 -04:00
Camotoy
8edf36e063
Actually mark the squid as leashable 2021-07-06 21:39:54 -04:00
Camotoy
2d85505351
Mark new 1.17 mobs and squids as leashable 2021-07-06 21:38:30 -04:00
Camotoy
e162cd526c
Micro-optimizations in player entity code 2021-07-06 18:09:01 -04:00
Camotoy
438b39cb05
Update mappings to fix #1460 2021-07-06 15:37:19 -04:00
Camotoy
b407e8a748
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-07-06 10:20:32 -04:00
Tim203
7bf4040308
Added new news types 2021-07-05 15:42:42 +02:00
Camotoy
605f56b895
Update to 1.17.1-rc1 2021-07-04 10:42:28 -04:00
Camotoy
74a5a4a366
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17.1 2021-07-04 10:36:18 -04:00
Camotoy
7ae27c79e8
Ensure that the player never dimension switches to the same dimension
Fixes #2342
2021-07-01 08:48:22 -04:00
Camotoy
b757032457
Show iron golem attack animation
TODO: Do the same for the hoglin and zoglin - this requires more work with the hitbox.
2021-06-29 22:36:30 -04:00
Camotoy
afc1f48d5e
Use custom class for caching chunk data
Right now, our chunk cache stores the heightmap and biome data that the server sends, which we never use. This commit saves that data in a custom GeyserColumn class that only stores chunk data. In the future, it may also store NBT data.
2021-06-29 10:09:47 -04:00
David Choo
566394f798
Fix breaking animation while jumping (#2335)
* Update block break time after a CONTINUE_BREAK action

* Fix breaking animation time for some blocks

* Reuse Vector3f and add comment

Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-06-28 19:26:02 -04:00
Camotoy
90fa5610f5
Finish my thought 2021-06-27 23:26:32 -04:00
Camotoy
ad5356472d
Create a new cached chunk when a block is created in an empty chunk 2021-06-27 23:25:51 -04:00
Camotoy
215ffc618f
Fix some SettingsUtils regressions
- Add the new 1.17 gamerules
- Don't hide exceptions in form responses
- Fix the settings form silently failing
- Fix some translation strings in the settings form
2021-06-27 19:57:53 -04:00
Camotoy
495eafc6e5
Work around axolotl buckets titled 'Bucket of '
Huge thanks to @SupremeMortal for figuring out the magic required NBT.
2021-06-25 14:47:01 -04:00
Camotoy
f9f74a0da8
Determine chunk Y offset on Java packet processing thread
Should stop NullPointerExceptions if the session closes before chunks are processed
2021-06-25 13:51:52 -04:00
Camotoy
71fe2621fc
Remove obsolete chunk merging 2021-06-23 16:48:56 -04:00
David Choo
0a0d84d779
Fix phantom scaling (#2314) 2021-06-23 13:39:57 -04:00
Camotoy
65c52f9ff0
Fix fishing rod durability (fixes #1964) 2021-06-21 18:51:43 -04:00
Camotoy
3a2cff7864
Clean up a bunch
Mostly checked with IntelliJ, but manually performed. The only issue I possibly anticipate is item name/lore issues, but the new method should be technically better.
2021-06-20 21:42:22 -04:00
Camotoy
c60600e0f9
Update to 1.17.1-pre1 2021-06-20 12:35:48 -04:00
Camotoy
683ac1c763
Fix spawn egg triggering twice in water 2021-06-19 20:33:07 -04:00
Camotoy
35450f7b78
Implement entity shaking when freezing and more
- When freezing ticks is at 140 or more, entities will shake
- Implement skeleton and zombie conversion shaking
2021-06-18 19:09:18 -04:00
caoli5288
3c9f628ac4
Fix item spawning up (#2278) 2021-06-16 19:23:01 -04:00
Camotoy
569c36680d
Remove debug statement 2021-06-16 19:12:18 -04:00
Camotoy
c4131428ea
Translate more new level events 2021-06-16 19:09:35 -04:00
Camotoy
2c9cd7ed02
Don't hardcode record IDs and fix records for 1.17 2021-06-16 11:05:10 -04:00
Camotoy
aba279fd1a
Fix cat scale :upside_down: 2021-06-16 10:26:28 -04:00
Camotoy
139167d090
Don't hardcode the bell block ID 2021-06-15 14:48:18 -04:00
Camotoy
f53c0cf73f
Fix nether brick item mapping 2021-06-15 13:02:18 -04:00
Camotoy
096c707a25
Don't look up git properties for news handler in development 2021-06-15 12:48:45 -04:00
Tim203
bae4906879
Don't always automatically restart the skin uploader 2021-06-12 14:22:58 +02:00
Camotoy
cc2d26dda8
Translate new world events
The copper-related ones do not show if the Bedrock player performs them. This will be fixed later.
2021-06-09 19:48:38 -04:00
Tim203
13f8b54d77
Close skin uploader on shutdown when using Floodgate 2021-06-10 00:52:57 +02:00
Camotoy
1df6e2151d
Show non-sensitive IPs in all dumps (#2102)
IPs such as 0.0.0.0 and 127.0.0.1 will now show in all dumps, regardless of if it's a full dump or not.
2021-06-09 09:01:03 -04:00
Tim203
60e6f8c162
Catch AssertionError 2021-06-08 15:31:50 +02:00
Tim203
7aa05426b6
Merge remote-tracking branch 'origin/feature/1.17' into feature/1.17 2021-06-08 15:29:35 +02:00
Camotoy
b2ef059aed
Merge branch 'feature/1.17' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-06-08 08:57:50 -04:00
Camotoy
118f821281
Update mappings 2021-06-08 08:57:27 -04:00
Camotoy
01822672a5
Remove debug elements 2021-06-08 08:57:03 -04:00
Tim203
f0b8870a47
'on server started' should only work during the first check 2021-06-08 13:21:22 +02:00
Tim203
acc3a8222a
Check if item is active and added global items 2021-06-08 12:53:00 +02:00
Tim203
68cd2eb4f1
Moved Floodgate dump info to one class 2021-06-08 10:12:52 +02:00
Tim203
1eef152f43
Added Java Version to the metrics 2021-06-08 10:04:40 +02:00
Tim203
41c1be4262
Only listen for Geyser news 2021-06-08 08:17:12 +02:00
Camotoy
bb20afb123
Warn if server is using high/low dimension heights and remove translations on some strings 2021-06-07 23:09:42 -04:00
Camotoy
01d7648296
Implement new entity statuses and goat milk sounds 2021-06-07 19:16:36 -04:00
Camotoy
a2b3e1946d
Update lectern if updated via the WindowItemsPacket 2021-06-07 14:19:17 -04:00
Camotoy
8510451dde
We're not '1.16.4 - 1.16.5' anymore 2021-06-07 11:26:23 -04:00
Camotoy
ea237f20c9
Shulker attach position is now irrelevant, it seems 2021-06-06 21:39:39 -04:00
Camotoy
715b9ab4b5
Change item names if acting as a replacement 2021-06-06 19:48:49 -04:00
Camotoy
3cdc4c767d
Don't start if Floodgate is outdated 2021-06-06 19:01:16 -04:00
Camotoy
3835da288f
No need to cast here (thanks Konica) 2021-06-06 14:41:41 -04:00
Camotoy
9568a3a866
Merge remote-tracking branch 'origin/floodgate-2.0' into feature/1.17 2021-06-06 12:07:57 -04:00
Camotoy
207af5dffb
Listen to PlayerPositionRotationTranslator#dismountVehicle 2021-06-06 11:58:03 -04:00
Camotoy
19f8e2dfac
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-06-06 11:42:59 -04:00
Camotoy
01ca2d3dcb
Pufferfish puff is indeed fixed 2021-06-06 11:38:54 -04:00
Camotoy
ef0503ede0
Properly implement freezing ticks 2021-06-06 11:36:11 -04:00
Konicai
632f84fcf8
Merge pull request #2095
* Add floodgate git properties to dump

* Merge remote-tracking branch 'upstream/floodgate-2.0' into floodgate-2.0

* Modify the dump to not break anything

* name changes to floodgate info in dump

* small adjustment to DumpInfo.java

* Merge remote-tracking branch 'upstream/floodgate-2.0' into floodgate-2.0

* remove duplicate import statements

* Update mappings
2021-06-06 16:59:47 +02:00
Camotoy
b2ebfc6803
Fix reload command (fixes #2255) 2021-06-06 10:19:24 -04:00
Camotoy
0162257d30
Glowing text on signs is Bedrock 1.17.10. :( 2021-06-06 09:55:38 -04:00
Camotoy
fc4f2b7890
Remove usage of translation strings for code-related errors
These should never ever be seen by a normal user, and if so, developers need to see the proper error message
2021-06-06 09:35:56 -04:00
Camotoy
c29a1ab3af
Update mappings submodule 2021-06-05 19:33:22 -04:00
Camotoy
817d1587af
Prevent trader llama spawn egg from being used in creative 2021-06-05 19:29:23 -04:00
Camotoy
8c0d5413c7
Merge branch 'feature/1.17' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-06-05 19:24:40 -04:00
Tim203
1ded2086e3
Merge remote-tracking branch 'origin/floodgate-2.0' into feature/1.17
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
2021-06-06 01:16:57 +02:00
Tim203
01492647fc
Some small changes 2021-06-06 01:05:05 +02:00
Tim203
50b51f5f57
Added the initial version of news 2021-06-05 23:12:33 +02:00
Camotoy
e4e35d3c0b
Fix llama carpet decoration offset 2021-06-05 13:51:02 -04:00
Camotoy
282800cefc
Update mappings submodule 2021-06-05 13:36:47 -04:00
Camotoy
249f04441d
Set entity dimensions for goat long jumping 2021-06-04 22:26:29 -04:00
Camotoy
c2be67bc3d
Update to 1.17-rc1 2021-06-04 21:28:21 -04:00
rtm516
aaa100b2d3
Add static variable to disable bedrock listener (#2254)
* Add static variable to disable bedrock listener

* Add default value

* Add javadoc comment
2021-06-04 19:02:10 -05:00
Camotoy
1fe179c6d2
Implement glow item frames 2021-06-03 19:04:28 -04:00
Camotoy
5b7aa57472
Implement axolotl 2021-06-03 18:34:30 -04:00
Camotoy
33d3329f8f
Update small particle mapping change 2021-06-02 23:13:14 -04:00
Camotoy
c9eba85db2
Initial glow squid implementation 2021-06-02 22:54:17 -04:00
Camotoy
d6bee02aa9
Update to 1.17-pre4 and fix Bedrock encryption on Java 16 2021-06-02 22:06:20 -04:00
Camotoy
f225a44130
Initial goat implementation 2021-06-01 22:14:21 -04:00
Camotoy
f5c5d0cd39
Support 1.17-pre3 and Bedrock 1.17.0.58 2021-06-01 21:12:58 -04:00
Camotoy
ebf726ce9e
Yeet cache chunks
So many features require this config option, and we don't intend on supporting it being both disabled and enabled.
2021-06-01 15:36:33 -04:00
Tim203
e16d83ecc1
Merge remote-tracking branch 'origin/floodgate-2.0' into floodgate-2.0 2021-05-31 16:58:46 +02:00
Tim203
209a4ffc42
Use the correct plugin message packet. Thanks, Camo 2021-05-31 16:54:02 +02:00
Camotoy
8259cbe823
Some boat fixes (#2243)
- Fix getting kicked for flying when standing on a boat
- Fix using a boat on land
2021-05-30 22:07:17 -04:00
Camotoy
5376ba49b8
._. 2021-05-30 21:37:32 -04:00
Camotoy
2f2e2cc285
Only upload the skin on Floodgate 2021-05-30 21:36:25 -04:00
Tim203
db583135eb
Improved the comment added in the previous commit 2021-05-30 00:51:04 +02:00
Tim203
360e2f4b9a
Always replace spaces in usernames when using Floodgate
Bungeecord recently started checking usernames for spaces in the login start packet. To resolve this we just always send the username without spaces in the login start packet. Floodgate is still able to get the real username of the Bedrock player and Floodgate is also still in charge of the final username.
2021-05-30 00:22:11 +02:00
Camotoy
7b0099e869
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-29 15:49:31 -04:00
Dylan Ogle
d80c31f1c2
Fix cats being larger than normal and implement resting (#2238)
* Use the correct scale for cats.

* Implement resting
2021-05-29 09:37:03 -04:00
Camotoy
08ba82a44e
GeyserOptionalPack support for zombie villager textures (#2237)
Trade tier and profession now show on zombie villagers with this commit.
2021-05-28 20:38:17 -04:00
Camotoy
40d1e39093
Fix area effect cloud particle type for 1.16.220 (#2226)
This commit stops hardcoded particle IDs from being used and instead uses the internal IDs per-version.
2021-05-28 16:35:54 -04:00
Tim203
934fc12b16
Warn if we were unable to check if the system clock is accurate 2021-05-26 20:20:59 +02:00
Tim203
776fc4e933
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/utils/SettingsUtils.java
2021-05-26 02:17:33 +02:00
Tim203
cfa2805e00
Make sure that the time we use is always the same across servers 2021-05-26 01:55:58 +02:00
Camotoy
1f83a5ac9f
Respect tool tier requirement for block breaking (#1837) 2021-05-23 22:32:42 -04:00
Camotoy
986701f06f
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-23 21:31:40 -04:00
Camotoy
4734ce2059
Update MCProtocolLib + PacketLib (#2211)
By updating these dependencies, we bring in a couple fixes that should improve network performance:

    Use TCP_NODELAY for the Java connection
    Use Epoll/KQueue if possible for the Java connection
    Only use one event loop for the Java connection
    Fix Netty dependencies so Spigot and BungeeCord can use native network types

Currently, Geyser-Spigot pre-1.12 breaks with these changes. It is unlikely that this will be fixed.
2021-05-23 15:55:01 -04:00
Camotoy
c588127648
Yeet block tool type
This is 99% controlled by the server now.
2021-05-19 22:34:50 -04:00
Camotoy
b5307ab3ed
21w20a support 2021-05-19 22:24:11 -04:00
Camotoy
024655f008
Merge branch 'master' of https://github.com/GeyserMC/Geyser into feature/1.17 2021-05-19 17:53:06 -04:00
Konicai
dfc24f1ecb
Fix Javadoc in CooldownUtils (#2213) 2021-05-14 23:12:37 -04:00
Konicai
3e3b8faf16
Add client setting for cooldown type, refactor show-coordinates (#2193) 2021-05-14 22:48:34 -04:00
Camotoy
dbf366b138
ACTUALLY fix swapping armor in hotbar when armor is already present (#2206)
Tested with iOS, desktop and console
2021-05-10 21:14:30 -04:00
Camotoy
5c76bd8544
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-05-10 01:03:48 -04:00
Camotoy
95bcd4000f
Interact with an optional resource pack to add more features (#2176)
See https://github.com/GeyserMC/Geyser/wiki/GeyserOptionalPack
2021-05-10 00:48:01 -04:00
Camotoy
41e0ad3e74
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-05-09 16:41:31 -04:00
Camotoy
0691bb67b4
Item frame optimization and block picking support (#2203)
Geyser now supports block picking for item frames. It checks to see if the item frame has an item in it - if so, it attempts the same block picking process with the item inside (NBT included). Otherwise, it attempts to pick for an item frame item.

This commit also improves item frames by having the internal map store the entity and not the ID - in many situations, this prevents two maps from having to be searched. Additionally, item frames are no longer despawned if an item is placed on them - rather, it waits until the server tells us to despawn the entity.
2021-05-09 15:44:41 -04:00
Camotoy
51aa96de2e
Fix visual glitch when swapping out armor that's already equipped (#2173)
Bedrock Edition allows you to swap out armor by right-clicking an item in your inventory, even when armor in that slot is already equipped. This PR prevents Bedrock from performing this action if both slots are occupied (which Java Edition will not do).
2021-05-09 01:25:57 -04:00
Camotoy
dda0172ded
Allow more blocks to have a place sound on standalone (#2183)
Items such as wall torch blocks currently do not have a place sound on standalone, as their block identifier differs from their item identifier. This commit uses the pick item logic in order to fix place sounds for such blocks.
2021-05-09 01:19:06 -04:00
Camotoy
2aa131f9dc
Fix minecart rotation when not on rails (#2200)
This isn't perfect, but it's better than before, for sure.
2021-05-09 01:11:42 -04:00
Camotoy
ce000a496b
Use tags sent from the server, where possible (#2188)
Java Edition has a tags system that allows for some server-side control of certain properties. This PR allows for piglin trading items, wool, and flowers to be determined from the server.
2021-05-02 21:47:11 -04:00
Camotoy
f4426f14f7
Merge branch 'master' of https://github.com/GeyserMC/Geyser 2021-05-02 13:17:17 -04:00
Camotoy
e74fa6c42d
Allow connections even if encryption failed to initialize post-1.16.220 (#2147)
This allows Java 16 to still be compatible with Geyser.
2021-05-02 13:07:04 -04:00
Camotoy
e692b53c3f
Initial update for 21w17a 2021-05-01 23:19:49 -04:00
Tim203
3b9674ac29
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/dump/BootstrapDumpInfo.java
#	connector/src/main/java/org/geysermc/connector/dump/DumpInfo.java
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
#	connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java
#	connector/src/main/java/org/geysermc/connector/utils/SettingsUtils.java
2021-05-01 12:16:25 +02:00
Camotoy
1301cd9c30
Fix interact entity packet (#2179)
For the InteractAt type of packet of the PlayerInteractEntityPacket, Java sends a diff between the entity's current position and the hit result of its cursor. Bedrock sends the full vector location in its interaction. Therefore, we just do the diff ourselves.

This fixes taking armor off of armor stands.
2021-04-30 18:35:45 -04:00
Camotoy
abc3a187d4
Provide the Geyser file's MD5 and SHA-256 hash in Geyser dumps (#2026) 2021-04-30 12:43:37 -04:00
Camotoy
7d80dff028
Play effect when feeding baby animals (#2146)
Java plays a client-side-only effect when feeding animals. This commit abstracts out the feeding code we already have for interactive tag and checks it when right-clicking any animal that is a baby.
2021-04-26 19:59:12 -04:00
Camotoy
48fcb4733d
Add emote offhand workaround (#2163)
This commit add a new config option, `emote-offhand-workaround`. If set to a value, emoting will perform the offhand swap action.
2021-04-26 16:10:32 -04:00
Camotoy
17ad18f450
Fix some raid entities up (#2144)
* Fix some raid entities up

- Show axe when vindicator is attacking
- Show arm movement and spell color when evoker summons

* Reduce the amount of casting
2021-04-26 15:22:58 -04:00
Camotoy
e7f933ba6c
Show proper names for Java-only items (#2159)
Spectral arrows and knowledge books, if unnamed, will now show their correct, translated names.
2021-04-26 14:44:16 -04:00
D3ATHBRINGER13
9de0ebdba7
Small changes (#2169) 2021-04-26 14:16:13 -04:00
Camotoy
9b39affd28
Reduce the amount of values() calls (#2143)
Because apparently it's not just a constant; it makes a new array every time.
Also, GeyserSession#tick() does not need to be public and I made enchantments in commands use the Java list.
2021-04-26 14:15:24 -04:00
Konicai
873e37e1c0
simplify javadoc of updateShowCoordinates() in WorldCache.java (#2162) 2021-04-21 19:05:53 -04:00
Konicai
0a79eb92ac
Fix unwanted behaviour with show-coordinates (#2151)
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
2021-04-21 16:57:01 -04:00
rtm516
f0a002f0e3
Add option to forward the connection hostname over to the remote server (#2149)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-04-21 14:55:08 -04:00
Tim203
085c122d30
Merge remote-tracking branch 'origin/master' into floodgate-2.0 2021-04-21 19:49:49 +02:00
Camotoy
bb41c0f9ee
Add an option for setting Bedrock compression level (#2128) 2021-04-19 22:18:18 -04:00
Tim203
14894c8f27
Allow skin uploader to log messages instead of closing the connection 2021-04-17 17:40:53 +02:00
Tim203
11b10e2857
Allow skin uploader to log messages instead of closing the connection 2021-04-17 17:39:08 +02:00
Camotoy
852d5b050d
Fix item enchanting pre-1.14 (#2127)
If the server spams the window property update packet, then the network ID assigned for each enchanting slot will update too quickly, essentially disabling enchanting. This commit remedies this by only updating the network ID of each slot if a property changed.
2021-04-16 11:42:03 -04:00
Camotoy
beb7e54b7a
Fix llama carpet decoration (#2125) 2021-04-16 11:30:17 -04:00
Camotoy
6a88a46b51
Fall back to the loopback address when resolving autoconfigured remote (#2090)
This way, if it errors, you're not stuck with 'unknown host: auto' when actually connecting.
2021-04-16 11:28:15 -04:00
David Choo
70e28604b8
Fix various horse bugs (#2115)
* Fix horse health display

* Fix horses warping back when damaged

* Fix horse jumping animation

* Fix horses not taking damage while standing on magma

* Allow mules and donkeys to jump
2021-04-15 15:31:03 -04:00
Camotoy
404419df08
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-12 15:10:55 -04:00
Camotoy
22c492fda6
More bounding box fixes (#2132)
- Fix decimal formatting error when running Geyser in another region
- Fix sneaking bounding box when flying
2021-04-12 12:42:42 -04:00
Camotoy
120769c7f6
Allow for crawling and moving in one-block spaces where possible (#1814)
This commit brings full support for crawling, sneaking under 1.5-block-tall spaces, and swimming in one-block areas. There is a check in place that decreases the player's speed to something comparable to Java if they are in a situation where they would otherwise go at normal walking speed (for example: without the check, a Bedrock player would go at full walking speed while crawling).
2021-04-12 00:35:53 -04:00
Camotoy
7dc9c031c2
Compile. (#2122) 2021-04-10 11:10:23 -04:00
Camotoy
8e28e445ba
More 1.16.220 fixes... (#2118)
- Fix pre-1.16.220 creative menu having duplicate items
- Fix 1.16.220 creative menu usage
2021-04-10 00:31:24 -04:00
Camotoy
34fa5475ff
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-09 11:26:03 -04:00
David Choo
e5497922d9
Fix player rotation lock while riding boats for 1.16.210+ (#2114) 2021-04-08 23:15:56 -04:00
Camotoy
7a7cf18e99
Fix banners on entity heads (#2110)
On Bedrock, a banner must be placed in the chestplate slot in order to be visible. On Java Edition, banners are placed in the helmet slot. This commit fixes the issue by migrating banners to the chestplate spot if the chestplate spot is empty.

This commit also fixes pillager poses if they're not holding a crossbow, along with a couple other optimizations.
2021-04-08 19:52:54 -04:00
Camotoy
e762448957
Set 1.16.220 as the default Geyser version and fix crafting (#2108)
* Set 1.16.220 as the default Geyser version

* Crafting on all items now works

* Don't re-use variables for readability
2021-04-08 19:32:06 -04:00
Camotoy
53ac196b61
Merge branch 'floodgate-2.0' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-06 00:52:22 -04:00
Camotoy
0a1c51bdad
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-04-06 00:52:09 -04:00
Camotoy
86b2901f02
1.16.220 support (#2105)
This update does not break compatibility with any other currently supported version of Bedrock.

Co-authored-by: Redned <redned235@gmail.com>
2021-04-06 00:14:06 -04:00
Tim203
21c8a389e3
Fixed an issue with forwarding player links 2021-04-03 19:50:35 +02:00
Konicai
8f6785e48f
Restrictions to commands players can send on Geyser Standalone (#2099)
- players cannot create a dump
- if the version command is sent by a player, it will not check for new updates
2021-04-02 13:36:30 -04:00
ImDaBigBoss
fb18a6493a
Add an option for actionbar hit cooldown (#2006)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2021-04-01 00:06:01 -04:00
Camotoy
aa5c3c30e1
Minor touchups (#2011) 2021-03-31 14:15:55 -04:00
Camotoy
2f42a4c630
Add furnace minecart item translation (#2003)
Conveniently enough, the minecart furnace icon still exists in the vanilla Bedrock Edition game (thanks to Kastle for this discovery). With this and the translation string still being present, we can add the item into the game with only minor issues.
2021-03-31 14:06:05 -04:00
Camotoy
946f38c00a
Merge branch 'master' of https://github.com/GeyserMC/Geyser into floodgate-2.0 2021-03-31 11:55:55 -04:00
Camotoy
3a4b1e4dc7
Prevent NPEs from GeyserConnector.getPlayerByUuid (#2070)
- If GeyserConnector.getPlayerByUuid is given null, it will return null
- Never set a session's UUID to null if possible - but have precautions if for some reason it is
2021-03-24 20:03:51 -04:00
Camotoy
7f03446262
Entity link cache fixes (#2068)
Note that this needs to be revisited to see if it's even needed, or perhaps some sort of Guava cache.

- `getCachedPlayerEntityLink` now removes the entry if found
- Skulls will not have player entity links so we shouldn't bother checking
- Clear the entity link cache on dimension switch
2021-03-24 11:09:24 -04:00
Tim203
677a8d68f6
Add an additional key searching fallback for Floodgate 2.0 2021-03-24 15:50:13 +01:00
Tim203
4c6c397f37
Fixed merge conflicts 2021-03-23 01:46:33 +01:00
Tim203
107cd5bd5a
Merge remote-tracking branch 'origin/master' into floodgate-2.0
# Conflicts:
#	connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
2021-03-23 01:35:02 +01:00
Camotoy
86397ef483
Chunk cache improvements (#2053)
- Check for minimum and maximum Y values to fix stack traces
- Don't run half of the villager sleeping code unless they're actually sleeping
2021-03-21 11:31:09 -04:00
Camotoy
10c77a3214
Fix sign color changes messing with character count (#2054)
Color changes do not affect the maximum amount of characters allowed on a line.
2021-03-21 11:28:19 -04:00
Camotoy
930c4c538e
Update the interactive tag when necessary (#2039)
Update the interactive tag on entity metadata update, item slot change, and sneaking update; that way, if the tag should change, it will change.
2021-03-18 01:11:21 -04:00