"horse" spell allowing clipping through walls
Ferocimo opened this issue ยท 18 comments
Hello,
Spawning a horse "on" a wall will make it spawn "inside" the wall. Then, mounting it will allow the player to pass through the wall.
Ideally there should be a protection that prevents a horse from spawning too near a wall.
Thank you.
Sounds hard... you could maybe use a Volume + CheckBlock action though.
Just FYI, since you've been making a ton of bug reports / requests recently- no one is really actively working on this plugin right now. If that's going to be an issue then you may want to look for other plugins (e.g. MagicSpells) - sorry!
It's just me here and I don't have the time. I am usually willing to stop and fix critical bugs, but stuff like spell configs I am probably not going to get to anytime soon.
I'll have a look at that thank you.
That's okay. As a server admin for a long time now, I made hundreds of bug reports on various plugins througout the years, with this username or others. You are without a doubt the one that answers the most quickly and efficiently. Also, your plugin offers vast possibilites of customization that can often be used to circumvent some issues.
The majority of developpers out there just answers "not my fault, check spigot" (when it's clearly not the case), at least when they answer within two years. So I appreciate the time you take anyway simply to answer me.
@NathanWolf I must admit I have no idea how to configure the spell so it checks wall proximity with checkblock and volume. Most of the time when I "made" or reworked spells you created, I just used bits of other stuff you've done.
@NathanWolf If you have a bit of extra time, could you tell me how I could do that ?
Try something like this at the start of the spell's actions
actions:
cast:
- class: ChangeContext
target_offset: 0,1,0
actions:
- class: Disc
radius: 2
actions:
- class: CheckBlock
allowed: air
- class: SpawnEntity // This is where the original horse actions go ...
This will cancel the spell if any block in a 2-block radius around the target is non-air... I think. I'm not sure you're going to be able to come up with something that covers all of the cases, though.
The latest dev build implements something like the above, but I also added some messaging so it's clear why the spell is failing.
Thank you it works fine with the new build, but do you know if it's possible that, when the spell fails because you are too near a wall, it doesn't trigger cooldown and give you SPs ?
Oops, yeah. I just pushed a fix for that, basically just need to add cast_on_no_target: false
.
It's a top-level thing, not in parameters:
horse:
cast_on_no_target: false
or just grab the latest dev build :)
Actually it doesn't work either, I still earn SPs, or is there something in my config that prevents that fix from working ? Have you tried it yourself ?
Nope, have to tried it. You definitely shouldn't be earning SP though either way... so that's odd. That option just controls cooldown and mana consumption.
I won't get to look at this for a bit, but I'll keep the issue open to remind me.
It doesn't seem to do anything actually, I'll test it further and keep you updated if I find anything.
This is hopefully fixed in 6.9.20 - if you get a chance to test it, please let me know.
@NathanWolf This is not fixed, players still earns SP when the spell fails when cast too near a wall. Spell config : https://pastebin.com/L7viSKPy
Ah yeah, I think it needs an ignore_result: true
under the ChangeContext action. Could you please try that out?
If that works I will add it to the default config.
@NathanWolf Hello, did you have to time to take a look at this ?