Posted June 14, 20232 yr Hello, In Minecraft, we know that some entities try to avoid others like the villagers who fear the zombies or the creepers who fear the cats. I discovered this mecanic in the registerGoals method. For example : ##From the registerGoals() method from Creeper.java this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Ocelot.class, 6.0F, 1.0D, 1.2D)); this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, Cat.class, 6.0F, 1.0D, 1.2D)); However, I want to make the creeper to be scared of another entity I've created (called Cubos). I don't know how should I implement another goal in the registerGoals(). Is it useful to use the Access Transformers ?
June 16, 20232 yr Can't you just replace it with your entities name like: this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, CubosEntity.class, 6.0F, 1.0D, 1.2D)); //note that you should check if you really named the Entity CubosEntity!
June 16, 20232 yr 26 minutes ago, Top_Revolver said: Can't you just replace it with your entities name like: this.goalSelector.addGoal(3, new AvoidEntityGoal<>(this, CubosEntity.class, 6.0F, 1.0D, 1.2D)); //note that you should check if you really named the Entity CubosEntity! You can, but you will need a mixin to insert that line of code into the registerGoals() method of the Creeper class. Or something along those lines.
June 19, 20232 yr do not change creeper class. you need to change creeper entities at runtime. respond to "entity joins level" event. if the entity is a creeper, add your cat or whatever it is into goals of the creeper instance.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.