From 3fe2e0b9190594d28ede080ea74d028f49902d0b Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sat, 3 Nov 2012 10:56:13 +0800 Subject: [PATCH] Added Task Class --- src/common/assemblyline/ai/Task.java | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/common/assemblyline/ai/Task.java diff --git a/src/common/assemblyline/ai/Task.java b/src/common/assemblyline/ai/Task.java new file mode 100644 index 00000000..f3e35ef0 --- /dev/null +++ b/src/common/assemblyline/ai/Task.java @@ -0,0 +1,48 @@ +package assemblyline.ai; + +import net.minecraft.src.TileEntity; + +/** + * An AI Task that is used by TileEntities with + * simple AI. + * + * @author Calclavia + * + */ +public abstract class Task +{ + protected int ticks; + + /** + * The TileEntity that is doing this task. + */ + public TileEntity handler; + + private boolean shouldExecute = true; + + public Task(TileEntity handler) + { + this.handler = handler; + } + + /** + * Called when a task is being done. + * + * @param ticks + * - The amount of ticks this task + * has been elapsed for. + */ + protected void onDoTask() + { + this.ticks++; + } + + /** + * @return Whether the task should keep + * executing. + */ + public boolean shouldExecute() + { + return this.shouldExecute; + } +}