Extra Hard Mode

Extra Hard Mode

63.1k Downloads

Mobs incorrectly identified as being killed in a "mob grinder" causing stolen items to be lost

ShaneBeee opened this issue ยท 18 comments

commented

I've had a lot of players complain about this and i'll admit I hate it myself.
Scenario. You're out in the wild and a zombie fights you and then a creeper blows you up. You die. You come back and he zombie has stolen all your armour as well as your really good diamond sword. You kill said zombie and he drops nothing. You have now lost all your armour and your sword.
If I'm not mistaken in vanilla minecraft if a mob steals your stuff, when you kill them you get it back.
Is there a way to fix this?

commented

Please try to reliably reproduce with details of specific conditions - I'm assuming this happens with the zombies that "respawn" from the zombie skulls? That's the only case I could assume a zombie would not drop stuff (provided none of the other antigrinder conditions are met).

commented

Hi.
It's pretty simple.
I die.
Zombie takes my stuff.
I kill zombie.
Nothing drops.

commented

No - like is it a specific zombie (one that respawned from a zombie skull)?

Does changing the antigrinder rules affect anything?

commented

Oh wow that was rude of me, sorry I miss read it, my apologies!
Okay, just did SEVERAL tests, and here is what I came up with!

Scenario #1
A zombie (regular spawn) kills me, he takes my armour, I come back, "damn you zombie, you have my armour, although you look good, thats mine" ... so naturally I kill him! He dies, but drops nothing! "oh man, all that great armour I made is gone.... cries inside

Scenario #2
I am running around hunting, "oh look a zombie, I can kill him" .... so I hit him, he dies! YAY ME! zombie re-annimates "oh no you're back for more... BRING IT!" ... he hits me, "crap I died".... I come back, he is wearing my armour "again, you look amazing in that armour but I spent so much time and xp making that, its mine I want it back" ... so I grab another sword I brought with me, kill the zombie... he dies, and my stuff doesn't drop! "NOOOOOOOO.... all that hard work, gone down the drain"

Scenario #3
I disable ""Inhibit Monster Grinders"" ... same story as above, zombie steals stuff,, I come back, kill him, EXCEPT THIS time, he drops my stuff :) YAY I get my awesome armour back!

So, I guess for now, I will keep that disabled, as I don't want these stupid zombies stealing all my stuff! DOWNFALL.... players will be able to use spawners to gain a lot of loot! FORTUNATELY .... on my server they can't silk touch pick them up, so they would have to put effort into building a spawner grinder near where they find it!

I hope this is enough info to help!
Thanks again for reading this!

commented

Ok that's helpful. Could you perhaps test with another player that remains around the chunks where you died so they stay loaded when you respawn (or that player can kill the zombie)? Perhaps it has something to do with unloading/reloading chunks.

commented

I tried that in my testing. Had a player in the same area.
Regardless the zombie was wearing my armour and had my sword.
When I killed him he dropped to the ground and nothing dropped

commented

A few years ago there was a server running EHM where this behavior occurred, it was one of the most frustrating things for players.

commented

So it seems that one of the following was true:

  • entity took environmental damage over half its health
  • entity was deemed unable to reach you
  • entity was in water
  • whatever else the antigrinder checks

In other words, and as mentioned in my first comment, the entity was deemed originating from a mob grinder. Maybe I should add debug messages or something to determine these cases.

Not sure if I should add an exemption if the entity picked up player items. What if a player fell in their own mob grinder? Or rather, uses this to circumvent the mob grinder checks?

The better solution IMO is to relax/reduce false positives of the antigrinder check since a 100% foolproof antigrinder is not really possible to make with the sandbox nature of Minecraft.

commented

Perhaps you could separate each thing Anti grinder checks for as different options, allowing each server to decide which is better for their need. I think the "inability to reach the player" is probably the most responsible issue.

commented

Hey... so I just saw this reply. Im not entirely sure why you keep talking about mob grinders.
The mobs are just random zombies spawned in the world.
No grinders, no specialness about them, just plain old zombies.

Like I was literally walking around in the plains, and a zombie is there, he kills me, so I end up getting teleported to my bed.
I go back (with /back) and he is there holding my sword and wearing my armour.
I Kill him, and unlike vanilla mobs, he does not drop my armour. It just vanishes.
Lost for good.
No spawners, no grinders, nothing, just vanilla zombies in the wild

commented

Ohhhh gotcha, my apologies, I think I was reading it wrong!

commented

Because it's the class that's responsible for falsely detecting the "plain old zombies" as zombies from mob grinders.

commented

This is build with 0e6bc90

Rename the .zip to .jar and set debug to true in config.

ExtraHardMode.zip

commented

As an FYI, this debugging still exists in current versions of EHM, so if anyone wants to help debug this issue it's just a simple config boolean toggle away.

commented

Well if the mob didn't pick anything up then you didn't test the problem as originally described :p

commented

I did test it. I let the mob kill me, I went back to where i died, and the items were still sitting on the ground. The mob didn't pick anything up, which I found odd since thats a vanilla behaviour.
Ill do more testing on it later

commented

So I did some testing, here is the debug

#Summoned a zombie
[13:46:03 INFO]: Summoned new Zombie

[13:47:08 INFO]: ShaneBee was slain by Zombie
#This is where I respawn and give myself a sword
>give ShaneBee diamond_sword
[13:47:16 INFO]: Gave 1 [Diamond Sword] to ShaneBee
#I killed the zombie
[13:47:40 INFO]: ShaneBee has made the advancement [Monster Hunter]
[13:49:40 INFO]: ShaneBee was slain by Zombie

I have the default settings in the config, other than the debug of course. When the zombie killed me, he didn't seem to pick anything up. Im not sure if that was on purpose or not.

commented

Any update on this? You may need another player in the area to "keep the chunk loaded" or something to that effect when you die.