Conversation
|
exact system i had in mind. great work. |
|
https://minecraft.fandom.com/wiki/Enchanting#Summary_of_enchantments
|
|
Oops. |
…mending and unbreaking" This reverts commit 4e0e648
|
I reverted that since ItemEnchantmentTagRegistry covers |
sound.mp4 |
I'm not sure what it means? is it some kind of sound desync? |
A similar issue exists on dragonfly - but it’s even worse there. The server keeps spamming the crossbow sound, and it’s not just me who hears it; nearby players hear it as well. |
Can you try with latest commit, it should fix that temporary (although I don't like this fix, need to find proper solution) |
|
In the video, you can see my inputs in the bottom-left corner, but I'll outline the steps just in case:
sound.mp4 |
I can't reproduce it in current environment where I have no PC client to test... and sound should be fixed with latest commit. Can you verify you are using latest commit using |
|
sound-mobile.mp4 |
dktapps
left a comment
There was a problem hiding this comment.
I don't think the network actions for crossbow loading are handled correctly.
My gut instinct is that:
- left-click-air should begin loading the crossbow
- continue use should finish loading when the use duration >= the required load duration
- release should only be used if the player aborts loading the crossbow
|
Here's BDS's MITM packet log.txt for those who are interested in, I'll be digging into this more in coming weekend. |
|
First, I want to point out that
I understand this isn’t the correct or intended approach, but hopefully it gives you an idea in the right direction. vanilla.mp4pmmp.mp4 |
# Conflicts: # src/item/ItemTypeIds.php
|
I have pushed commits that address your comments, it seems this approach does better job than the original though. |
Not too sure about that. The issue is that the player may release the crossbow before the time is up, aborting the load, but the server might not get the action until after the crossbow is already loaded server-side. That then leads to the crossbow being unexpectedly loaded when the client's connection catches up. I mentioned this previously and also in #6958. |
This PR implements crossbow item with two additional vanilla enchantments for crossbow.
Related issues & PRs
Fixes #6864
This PR includes logics from dragonfly.
Changes
API changes
Chargeableinterface: Implemented by items that can be charged. (e.g., crossbow)VanillaEnchantments::QUICK_CHARGE()andVanillaEnchantments::MULTISHOT().EntityShootCrossbowEvent.CrossbowLoadSoundandCrossbowShootSound.Behavioural changes
Player::releaseHeldItem()now handlesChargeableitems when player is using an item.Backwards compatibility
No breaking changes.
Follow-up
Tests
Manual playtest have been done, attaching video below.
Screen_Recording_20251205_202837_Minecraft.mp4