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

Trial cheating #87

Open
1 of 2 tasks
Luligabi1 opened this issue Feb 17, 2022 · 3 comments
Open
1 of 2 tasks

Trial cheating #87

Luligabi1 opened this issue Feb 17, 2022 · 3 comments
Labels
balance bug Something isn't working

Comments

@Luligabi1
Copy link
Member

Luligabi1 commented Feb 17, 2022

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.

@Luligabi1 Luligabi1 added bug Something isn't working balance labels Feb 17, 2022
@NathanPB
Copy link
Member

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

@Luligabi1
Copy link
Member Author

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

@Kluzzio
Copy link
Contributor

Kluzzio commented Apr 9, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
balance bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants