PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
10.02k stars 2.32k forks source link

EntityShootBowEvent doesn't work correctly #10640

Open Ender-Fake opened 6 months ago

Ender-Fake commented 6 months ago

Expected behavior

getForce() should return 1.0 at maximum bow tension

Observed/Actual behavior

getForce() at maximum bow tension returns the value 3

Steps/models to reproduce

run method getForce() in EntityShootBowEvent

Plugin and Datapack List

example plugin for send getForce() to chat

Paper version

This server is running Paper version git-Paper-22 (MC: 1.20.5) (Implementing API version 1.20.5-R0.1-SNAPSHOT) (Git: 8f7ac62)

Other

power is limited to 3.0 and not 1.0

electronicboy commented 6 months ago

power? you mean force?

Ender-Fake commented 6 months ago

yes, I was a little mistaken

electronicboy commented 6 months ago

So, this behavior looks like it WAI and that JDs are outdated, the server has an explicit * 3 to the "speed" (what gets referred to as force) in the path from some value which is capped to 1 based upon the use time

Ender-Fake commented 5 months ago

Previously, the "Force" parameter was responsible for how much the bow was stretched, and now it is not responsible for this, but the documentation says that it is limited to 1. so, either you need to fix the "Force" so that it would be as before, or there should be a separate variable to get the tension force, and in the documentation fix the restriction in the form of 1

TothAdam0012 commented 5 months ago

Is this intended then? Because the javadocs still says 1.0 but it actually return 3 for a full charge.

electronicboy commented 5 months ago

The thing has been returning the speed for years, not the force. It's not exactly intended, but "that's been the implementation for so long now" unless upstream removed a division at some point.