Files
fabric-carpet/src/main/java/carpet/mixins/MobMixin.java
T

40 lines
1.0 KiB
Java

package carpet.mixins;
import carpet.fakes.MobEntityInterface;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.ai.goal.Goal;
import net.minecraft.world.entity.ai.goal.GoalSelector;
@Mixin(Mob.class)
public abstract class MobMixin implements MobEntityInterface
{
@Shadow @Final protected GoalSelector targetSelector;
@Shadow @Final protected GoalSelector goalSelector;
@Shadow private boolean persistenceRequired;
public final Map<String, Goal> temporaryTasks = new HashMap<>();
@Override
public GoalSelector getAI(boolean target)
{
return target?targetSelector:goalSelector;
}
@Override
public Map<String, Goal> getTemporaryTasks()
{
return temporaryTasks;
}
@Override
public void setPersistence(boolean what)
{
persistenceRequired = what;
}
}