All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.PathfinderGoal Maven / Gradle / Ivy

package net.minecraft.server;

public abstract class PathfinderGoal {
	
	/**
	 * A bitmask telling which other tasks may not run concurrently. The test is a simple bitwise AND - if it yields
	 * zero, the two tasks may run concurrently, if not - they must run exclusively from each other.
	 */
	private int mutexBits;
	
	public PathfinderGoal() {
	}
	
	/**
	 * Returns whether the Behavior should begin execution.
	 */
	public abstract boolean a();
	
	/**
  * Returns whether an in-progress Behavior should continue executing
  */
	public boolean b() {
		return this.a();
	}
	
	/**
  * Determine if this AI Task is interruptible by a higher (= lower value) priority task.
  * All vanilla AITask have this value set to true.
  */
	public boolean i() {
		return true;
	}
	
	/**
  * Execute a one shot task or start executing a continuous task
  */
	public void c() {
	}
	
	/**
  * Resets the task
  */
	public void d() {
	}
	
	/**
  * Updates the task
  */
	public void e() {
	}
	
	/**
	 * Sets a bitmask telling which other tasks may not run concurrently. The test is a simple bitwise AND - if it
	 * yields zero, the two tasks may run concurrently, if not - they must run exclusively from each other.
	 */
	public void setMutexBits(int i) {
		this.mutexBits = i;
	}
	
	/**
	 * Get a bitmask telling which other tasks may not run concurrently. The test is a simple bitwise AND - if it yields
	 * zero, the two tasks may run concurrently, if not - they must run exclusively from each other.
	 */
	public int getMutexBits() {
		return this.mutexBits;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy