Continued implementing entity goals

This commit is contained in:
Auxilor
2022-03-01 19:58:05 +00:00
parent 7176342e15
commit bd32f3bc8d
8 changed files with 207 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Leap at target.
*
* @param velocity The leap velocity.
*/
public record EntityGoalLeapAtTarget(
double velocity
) implements EntityGoal {
}

View File

@@ -0,0 +1,16 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Look at the player.
*
* @param range The range at which to look at the player.
* @param chance The chance to look at the player, as a percentage.
*/
public record EntityGoalLookAtPlayer(
double range,
double chance
) implements EntityGoal {
}

View File

@@ -0,0 +1,16 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Melee attack target.
*
* @param speed The speed at which to attack the target.
* @param pauseWhenMobIdle If the entity should pause attacking when the target is idle.
*/
public record EntityGoalMeleeAttack(
double speed,
boolean pauseWhenMobIdle
) implements EntityGoal {
}

View File

@@ -0,0 +1,16 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Move back to village.
*
* @param speed The speed at which to move back to the village.
* @param canDespawn If the entity can despawn.
*/
public record EntityGoalMoveBackToVillage(
double speed,
boolean canDespawn
) implements EntityGoal {
}

View File

@@ -0,0 +1,22 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
import java.util.function.BooleanSupplier;
/**
* Move through village.
*
* @param speed The speed at which to move through the village.
* @param onlyAtNight If the entity can only move through village at night.
* @param distance The distance to move through the village.
* @param canPassThroughDoorsGetter A getter for if the entity can pass through doors.
*/
public record EntityGoalMoveThroughVillage(
double speed,
boolean onlyAtNight,
int distance,
BooleanSupplier canPassThroughDoorsGetter
) implements EntityGoal {
}

View File

@@ -0,0 +1,14 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Move towards restriction.
*
* @param speed The speed at which to move towards the restriction.
*/
public record EntityGoalMoveTowardsRestriction(
double speed
) implements EntityGoal {
}

View File

@@ -0,0 +1,16 @@
package com.willfp.eco.core.entities.ai.goals.entity;
import com.willfp.eco.core.entities.ai.goals.EntityGoal;
/**
* Move towards target.
*
* @param speed The speed at which to move towards the target.
* @param maxDistance The maximum distance the target can be where the entity will still move towards it.
*/
public record EntityGoalMoveTowardsTarget(
double speed,
double maxDistance
) implements EntityGoal {
}