Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fireball and jumping inconsistencies #82

Open
Melumi11 opened this issue Oct 16, 2024 · 1 comment
Open

Fireball and jumping inconsistencies #82

Melumi11 opened this issue Oct 16, 2024 · 1 comment

Comments

@Melumi11
Copy link

Description

There are a few fireball-related config options that could be added for more customization, consistency, and similarity to servers such as hypixel. Currently, hypixel-like fireballs behave very differently.

Suggestions

  1. Fireball speed
    • Currently, the flight speed of fireballs can't be changed. I would like them to fly faster.
  2. Fireball aim
    • Currently, fireball throw direction is randomly offset from where the player is looking. I would like to change or remove this offset so that players can aim accurately. (Fireballs should fly directly at where the player is looking)
  3. Fireball hitbox
    • When a player is sprinting and throws a fireball forward, it may explode on themself. This may be related to fireball speed.
    • When a player throws a fireball on a downward slope (ex: staircase), it will explode on themself. This should not happen.
  4. Decouple fireballs from TNT logic
    • Currently, fireballs and TNT both destroy stone/endstone. Ideally, TNT would destroy stone and fireballs would not.
  5. Explosion splash
    • Also, fireballs and TNT "splash" through blocks. Eg. if wool is surrounded by glass, the wool would be destroyed by explosions. The wool should be protected.
  6. Fireball jumping config
    Currently, fireball jumping behaves somewhat inconsistently, as opposed to hypixel-like fireballs. I will describe the differences between hypixel-like fireballs and the current fireballs. All public servers have a practice mode where their behavior can be tested.
  • Fireballs should propel players an equal height whether they fireball straight down while not moving or while sprint-jumping. Currently the "not moving" jump height is massive while the "sprint-jumping" height is small.
  • Fireballs could have a max jump height, to fix the previous issue
  • Fireballs should be completely ineffective outside of the detection-distance. If a player is within the detection-distance, they should be launched upward and sideways, but if not, they should be unaffected. Currently, if a player is one block outside the range, they would be weakly launched sideways.
  • Fireballs should always launch players upward. Currently fireballs prefer to launch players sideways unless they are on the same block. This makes survival hits and jumping consistently extremely difficult.
  • Let me know if you have any questions about this.

My config attempts to address this:

tnt-fireball-jumping:
    source-damage: 2
    acceleration-y: 1.5 # seems to do nothing/not much
    reduce-y: -0.5 # does all of the upward launching
    launch-multiplier: 0.7
    detection-distance: 3.0 # max-distance would ideally be 4
    fall-damage: 1.0
explosion-damage: 0.25

My config fixes most of the upward-launching behavior I expect, except that if a player is in the same block as a fireball (if they fireball straight down), they will be launched twice as high for some reason.

My suggestions are listed in order of importance. If any of these are easy to solve, I offer to contribute to the code. Thank you.
Plugin version:
SBA-1.5.13.4-194-1211-all
BedWars-0.2.34

@boiscljo
Copy link
Owner

Thank you for the suggestions, I am currently really busy and only handle new Minecraft versions.

For 1 and 2. The fireball is thrown by Bedwars and not SBA. I suggest you ask them to add config for that.
For 3. Hitbox are Minecraft's vanilla one and are not changeable, hoping changing the speed fixes it
For 4. You're free to make a PR
src/main/java/io/github/pronze/sba/listener/ExplosionVelocityControlListener.java
Line 75
For 5. This is default vanilla behaviour, the plugin doesn't affect which blocks are touched
For Fireballs should always launch players upward. Currently fireballs prefer to launch players sideways unless they are on the same block. This makes survival hits and jumping consistently extremely difficult.
It has been suggested and approved by most of the community that it launch horizontally since people use those to reach far block and not to reach upward. I invite you to make a PR providing option for horizontal vs vertical if you can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants