![The Wild Mod [Fabric]](https://media.forgecdn.net/avatars/thumbnails/455/158/256/256/637723588481554069.png)
Warden stays for too long after killing player
MerpisMe opened this issue ยท 11 comments
The Warden should optimally only wait a maximum of 15 seconds before digging after killing the player or all players nearby (not other entities though, only players).
Also, its suspicion should reset to 0 whenever it kills an entity
not only would it not be performance-friendly, it'd also make it easy to cheese, tbh i say just ignore the first part
Well, I think at least allowing the suspicion values to get deleted for a mob that the Warden kills would at least be fair. It's a compromise between making the Warden an absolute menace and letting the player learn from their mistakes, you get the best of both worlds.
The only problem is that Minecraft doesn't let you get entities by their UUID. I have to keep using the hashcodes of UUIDS to store anything relating to other entities in the Warden because I've tried using IDs, and it consistently fails to work. The closest we can get is having the Warden's suspicion reset if the entity is about 56 blocks away or so, but even then, that's probably too lenient. I'm not too sure if there's a way to actually detect when an entity is dead using the current system unless the Warden kills the mob itself.
For the sake of performance, if I add this it'll probably have the Warden delete the suspicion values of any mob it kills, and it'll probably run a check in a 64-block area. If an entity that it's suspicious of isn't there, it deletes the values for that entity. I'd have to run that second part maybe every 20-30 seconds so it won't burn someone's PC, idk if it'll be performance-friendly or not (it does seem so far that it is, though, so that may not be an issue)
The only problem is that Minecraft doesn't let you get entities by their UUID. I have to keep using the hashcodes of UUIDS to store anything relating to other entities in the Warden because I've tried using IDs, and it consistently fails to work. The closest we can get is having the Warden's suspicion reset if the entity is about 56 blocks away or so, but even then, that's probably too lenient. I'm not too sure if there's a way to actually detect when an entity is dead using the current system unless the Warden kills the mob itself.
For the sake of performance, if I add this it'll probably have the Warden delete the suspicion values of any mob it kills, and it'll probably run a check in a 64-block area. If an entity that it's suspicious of isn't there, it deletes the values for that entity. I'd have to run that second part maybe every 20-30 seconds so it won't burn someone's PC, idk if it'll be performance-friendly or not (it does seem so far that it is, though, so that may not be an issue)
not only would it not be performance-friendly, it'd also make it easy to cheese, tbh i say just ignore the first part
not only would it not be performance-friendly, it'd also make it easy to cheese, tbh i say just ignore the first part
Well, I think at least allowing the suspicion values to get deleted for a mob that the Warden kills would at least be fair. It's a compromise between making the Warden an absolute menace and letting the player learn from their mistakes, you get the best of both worlds.
Even if it just cuts the suspicion in half I guess, but just resetting it would make more sense imo.
not only would it not be performance-friendly, it'd also make it easy to cheese, tbh i say just ignore the first part
Well, I think at least allowing the suspicion values to get deleted for a mob that the Warden kills would at least be fair. It's a compromise between making the Warden an absolute menace and letting the player learn from their mistakes, you get the best of both worlds.
Even if it just cuts the suspicion in half I guess, but just resetting it would make more sense imo.
yeah fair enough then
yeah fair enough then
Btw for the 64-block check idea, what if it only removed the suspicion values for entities that are within a 48-64 block distance from the Warden AND don't have enough suspicion to make it play the angry sound? At that point cheesing the Warden that way would just be more difficult than flat-out avoiding it.
Edit: AND since it would only remove the values from entities that are currently within that specific distance, you can't cheese it by going through a Nether portal- you MUST have been within that 48-64 range or else it won't reset.
yeah fair enough then
Btw for the 64-block check idea, what if it only removed the suspicion values for entities that are within a 48-64 block distance from the Warden AND don't have enough suspicion to make it play the angry sound? At that point cheesing the Warden that way would just be more difficult than flat-out avoiding it.
sure, i like that
I agree about the suspicion part, but not so much on the first part.
The Warden, although it could be implied that it hates players more, is primarily motivated to get rid of all sounds and smells that are unusual and uncommon for the Warden- pretty much anything that's alive and isn't Sculk.
I think the current system is fine as it lets the Warden act as it normally does, while also making it harder for the player to use respawning as an easy way to delay the Warden by another 2-4 shrieks. While in theory it does sound cool, I'm not too sure if it's actually beneficial gameplay-wise.
Well, the first part was more for balance than anything, since dying and coming back to get your stuff while the warden just guards it is a bit annoying, but i suppose you do bring up a good point
I agree about the suspicion part, but not so much on the first part.
The Warden, although it could be implied that it hates players more, is primarily motivated to get rid of all sounds and smells that are unusual and uncommon for the Warden- pretty much anything that's alive and isn't Sculk.
I think the current system is fine as it lets the Warden act as it normally does, while also making it harder for the player to use respawning as an easy way to delay the Warden by another 2-4 shrieks. They'll have to be patient and wait out the Warden from a distance, and they'll be punished for not properly avoiding the Shriekers&Sensors like they're supposed to.
While in theory it does sound cool, I'm not too sure if it's actually beneficial gameplay-wise.
Well, the first part was more for balance than anything, since dying and coming back to get your stuff while the warden just guards it is a bit annoying, but i suppose you do bring up a good point
I think that the fact that the first part isn't already implemented was more of an oversight if I'm being honest, implementing that alone would already serve the purpose of your second suggestion without making it incredibly easy to cheese the Warden by letting it dig away.
The only problem is that Minecraft doesn't let you get entities by their UUID. I have to keep using the hashcodes of UUIDS to store anything relating to other entities in the Warden because I've tried using IDs, and it consistently fails to work. The closest we can get is having the Warden's suspicion reset if the entity is about 56 blocks away or so, but even then, that's probably too lenient. I'm not too sure if there's a way to actually detect when an entity is dead using the current system unless the Warden kills the mob itself.
ah, well you've convinced me against the idea of it
Well, the first part was more for balance than anything, since dying and coming back to get your stuff while the warden just guards it is a bit annoying, but i suppose you do bring up a good point
I think that the fact that the second part isn't already implemented was more of an oversight if I'm being honest, implementing that alone would already serve the purpose of your second suggestion without making it incredibly easy to cheese the Warden by letting it dig away.
The only problem is that Minecraft doesn't let you get entities by their UUID. I have to keep using the hashcodes of UUIDS to store anything relating to other entities in the Warden because I've tried using IDs, and it consistently fails to work. The closest we can get is having the Warden's suspicion reset if the entity is about 56 blocks away or so, but even then, that's probably too lenient. I'm not too sure if there's a way to actually detect when an entity is dead using the current system unless the Warden kills the mob itself.