Deep Mob Learning: Refabricated

Deep Mob Learning: Refabricated

3M Downloads

Trial cheating

Luligabi1 opened this issue ยท 3 comments

commented

At the moment, trials can be cheated in some ways with entities:

  • Boats can be placed inside the trial area, being able to trap both summoned mobs and the System Glitch itself; the ideal solution would be to break all boats on the trial area and block the placing of new ones Implemented solution: override canStartRiding to false. Would have started working on this much earlier if I knew it was that simple.

  • Iron golems can be spawned before the trial starts and they'll target both summoned mobs and the System Glitch. Ideal solution is to kill all iron golems upon trial start. Maybe this should only happen on higher tiers (like, say, advanced or superior?) as to not punish cheating at easier tiers where it's mostly irrelevant and losing a lot of iron is way more important than it is at late game.

commented

the ideal solution would be to break all boats on the trial area and block the placing of new ones.

Maybe if the glitch gets riding an entity (like a boat, minecart, or any other rideable thing), then let the glitch break/kill the entity

commented

the ideal solution would be to break all boats on the trial area and block the placing of new ones.

Maybe if the glitch gets riding an entity (like a boat, minecart, or any other rideable thing), then let the glitch break/kill the entity

yeah, that'd work too and would be less likely to punish players that aren't cheating

commented

the ideal solution would be to break all boats on the trial area and block the placing of new ones.

Maybe if the glitch gets riding an entity (like a boat, minecart, or any other rideable thing), then let the glitch break/kill the entity

I think another solution you could do is create an intermediate class that extends hostileEntity and have all summoned entities from the trial be this hostileEntity. Then you can have the intermediate class override the tickRiding method (it exists base in entity) to stop the entities from riding anything. Though there may be a better way to do this, this is what I thought of and unfortunately it might require some serious rewriting.

A valid alternative though, which I do not know how easy it would be to do in kotlin is that you could create an interface for LivingEntities that allows you to do the exact same thing, and that would not need even remotely as much rewriting, just one mixin probably.