Clean repo for open source release
Remove build artifacts, dev tool configs, unused dependencies, and third-party source dumps. Add proper README, update .gitignore, clean up Makefile.
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package com.tiedup.remake.entities.ai;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.function.BooleanSupplier;
|
||||
import net.minecraft.world.entity.ai.goal.Goal;
|
||||
|
||||
/**
|
||||
* Wrapper goal that only executes when a condition is met.
|
||||
* Used to conditionally enable/disable AI goals at runtime.
|
||||
*
|
||||
* Example: ConditionalGoal(new KidnapperFindTargetGoal(), () -> merchant.isHostile())
|
||||
*/
|
||||
public class ConditionalGoal extends Goal {
|
||||
|
||||
private final Goal wrappedGoal;
|
||||
private final BooleanSupplier condition;
|
||||
|
||||
public ConditionalGoal(Goal goal, BooleanSupplier condition) {
|
||||
this.wrappedGoal = goal;
|
||||
this.condition = condition;
|
||||
this.setFlags(goal.getFlags());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
return condition.getAsBoolean() && wrappedGoal.canUse();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canContinueToUse() {
|
||||
return condition.getAsBoolean() && wrappedGoal.canContinueToUse();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInterruptable() {
|
||||
return wrappedGoal.isInterruptable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
wrappedGoal.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
wrappedGoal.stop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean requiresUpdateEveryTick() {
|
||||
return wrappedGoal.requiresUpdateEveryTick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
wrappedGoal.tick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFlags(EnumSet<Flag> flags) {
|
||||
super.setFlags(flags);
|
||||
wrappedGoal.setFlags(flags);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumSet<Flag> getFlags() {
|
||||
return wrappedGoal.getFlags();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user