diff --git a/src/common/assemblyline/AssemblyLine.java b/src/common/assemblyline/AssemblyLine.java index 494f7e949..fdd8b6126 100644 --- a/src/common/assemblyline/AssemblyLine.java +++ b/src/common/assemblyline/AssemblyLine.java @@ -33,7 +33,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -@Mod(modid = AssemblyLine.CHANNEL, name = AssemblyLine.NAME, version = AssemblyLine.VERSION, dependencies = "after:BasicComponents") +@Mod(modid = AssemblyLine.CHANNEL, name = AssemblyLine.NAME, version = AssemblyLine.VERSION, dependencies = "required-after:BasicComponents") @NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class) public class AssemblyLine { diff --git a/src/common/assemblyline/ai/Task.java b/src/common/assemblyline/ai/Task.java index 9ea554f46..1e01480a6 100644 --- a/src/common/assemblyline/ai/Task.java +++ b/src/common/assemblyline/ai/Task.java @@ -1,6 +1,6 @@ package assemblyline.ai; -import assemblyline.machines.crafter.TileEntityCraftingArm; +import assemblyline.machine.crafter.TileEntityCraftingArm; /** * An AI Task that is used by TileEntities with AI. @@ -19,11 +19,11 @@ public abstract class Task } /** - * Called when a task is being done. + * Called by the TaskManager to propagate tick updates * * @param ticks - * The amount of ticks this task has been elapsed for. - * @return Return true if the task is not finished and false if it is. + * The amount of ticks this task has been running + * @return false if the task is finished and can be removed, true otherwise */ protected boolean doTask() { @@ -33,7 +33,6 @@ public abstract class Task public void onTaskStart() { - } public void onTaskEnd() @@ -41,10 +40,10 @@ public abstract class Task } /** - * @return The tick interval of this task. Return 0 for no ticks. + * @return The tick interval of this task. 0 means it will receive no update ticks. */ public int getTickInterval() { - return 1; + return 0; } } diff --git a/src/common/assemblyline/ai/TaskIdle.java b/src/common/assemblyline/ai/TaskIdle.java index da12f162a..077651be6 100644 --- a/src/common/assemblyline/ai/TaskIdle.java +++ b/src/common/assemblyline/ai/TaskIdle.java @@ -1,6 +1,6 @@ package assemblyline.ai; -import assemblyline.machines.crafter.TileEntityCraftingArm; +import assemblyline.machine.crafter.TileEntityCraftingArm; public class TaskIdle extends Task { diff --git a/src/common/assemblyline/ai/TaskManager.java b/src/common/assemblyline/ai/TaskManager.java index af5c7add2..784ced88e 100644 --- a/src/common/assemblyline/ai/TaskManager.java +++ b/src/common/assemblyline/ai/TaskManager.java @@ -1,6 +1,7 @@ package assemblyline.ai; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import net.minecraft.src.TileEntity; @@ -22,8 +23,11 @@ public class TaskManager */ try { - for (Task task : this.tasks) + Task task; + Iterator iter = tasks.iterator(); + while (iter.hasNext()) { + task = iter.next(); if (task.getTickInterval() > 0) { if (this.ticks % task.getTickInterval() == 0) @@ -31,7 +35,7 @@ public class TaskManager if (!task.doTask()) { task.onTaskEnd(); - tasks.remove(task); + iter.remove(); } } } @@ -46,14 +50,24 @@ public class TaskManager this.ticks++; } + /** + * Used to register Tasks for a TileEntity, executes onTaskStart + * for the Task after registering it + * + * @param tileEntity TE instance to register the task for + * @param task Task instance to register + */ public void addTask(TileEntity tileEntity, Task task) { - task.onTaskStart(); tasks.add(task); + task.onTaskStart(); } - public boolean hasTask() + /** + * @return true when there are tasks registered, false otherwise + */ + public boolean hasTasks() { - return this.tasks.size() > 0; + return !tasks.isEmpty(); } } diff --git a/src/common/assemblyline/api/IBelt.java b/src/common/assemblyline/api/IBelt.java index 9f9b7567a..75c507d3b 100644 --- a/src/common/assemblyline/api/IBelt.java +++ b/src/common/assemblyline/api/IBelt.java @@ -17,7 +17,7 @@ public interface IBelt /** * Causes the belt to ignore the entity for a few updates help in cases where another machine - * need to effect this entity without the belt doing so as well. + * needs to affect this particular entity without the belt interfering * * @param entity * - entity being ignored @@ -25,9 +25,9 @@ public interface IBelt public void ignoreEntity(Entity entity); /** - * Used to get a list of entities above this belt + * Used to get a list of entities the belt exerts an effect upon. * - * @return list of entities + * @return list of entities in the belts are of effect */ - public List getEntityAbove(); + public List getAffectedEntities(); } diff --git a/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java b/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java index 99dcdde1d..24e66410d 100644 --- a/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java +++ b/src/common/assemblyline/machine/belt/TileEntityConveyorBelt.java @@ -177,7 +177,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem { try { - List entityOnTop = this.getEntityAbove(); + List entityOnTop = this.getAffectedEntities(); for (Entity entity : entityOnTop) { @@ -263,7 +263,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem return 0; } - public boolean middleBelt() + public boolean getIsMiddleBelt() { ForgeDirection front = ForgeDirection.getOrientation(getBeltDirection()); @@ -280,7 +280,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem return false; } - public boolean FrontCap() + public boolean getIsFrontCap() { ForgeDirection front = ForgeDirection.getOrientation(getBeltDirection()); @@ -296,7 +296,7 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem return false; } - public boolean BackCap() + public boolean getIsBackCap() { ForgeDirection front = ForgeDirection.getOrientation(getBeltDirection()); @@ -345,7 +345,8 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem return ForgeDirection.getOrientation(this.getBeltDirection()); } - public List getEntityAbove() + @Override + public List getAffectedEntities() { AxisAlignedBB bounds = AxisAlignedBB.getBoundingBox(this.xCoord, this.yCoord, this.zCoord, this.xCoord + 1, this.yCoord + 1, this.zCoord + 1); return worldObj.getEntitiesWithinAABB(Entity.class, bounds); diff --git a/src/common/assemblyline/machines/crafter/BlockCrafter.java b/src/common/assemblyline/machine/crafter/BlockCrafter.java similarity index 98% rename from src/common/assemblyline/machines/crafter/BlockCrafter.java rename to src/common/assemblyline/machine/crafter/BlockCrafter.java index 119fe7cf5..ec944a340 100644 --- a/src/common/assemblyline/machines/crafter/BlockCrafter.java +++ b/src/common/assemblyline/machine/crafter/BlockCrafter.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.EntityPlayer; import net.minecraft.src.TileEntity; diff --git a/src/common/assemblyline/machines/crafter/ContainerCrafter.java b/src/common/assemblyline/machine/crafter/ContainerCrafter.java similarity index 98% rename from src/common/assemblyline/machines/crafter/ContainerCrafter.java rename to src/common/assemblyline/machine/crafter/ContainerCrafter.java index 3f855378c..32df1e239 100644 --- a/src/common/assemblyline/machines/crafter/ContainerCrafter.java +++ b/src/common/assemblyline/machine/crafter/ContainerCrafter.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.Container; import net.minecraft.src.EntityPlayer; diff --git a/src/common/assemblyline/machines/crafter/EntityCraftingArm.java b/src/common/assemblyline/machine/crafter/EntityCraftingArm.java similarity index 97% rename from src/common/assemblyline/machines/crafter/EntityCraftingArm.java rename to src/common/assemblyline/machine/crafter/EntityCraftingArm.java index 3205cd182..78e014709 100644 --- a/src/common/assemblyline/machines/crafter/EntityCraftingArm.java +++ b/src/common/assemblyline/machine/crafter/EntityCraftingArm.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.Entity; import net.minecraft.src.EntityItem; diff --git a/src/common/assemblyline/machines/crafter/ItemCrafterArm.java b/src/common/assemblyline/machine/crafter/ItemCrafterArm.java similarity index 80% rename from src/common/assemblyline/machines/crafter/ItemCrafterArm.java rename to src/common/assemblyline/machine/crafter/ItemCrafterArm.java index bd2ce3f52..abd743c61 100644 --- a/src/common/assemblyline/machines/crafter/ItemCrafterArm.java +++ b/src/common/assemblyline/machine/crafter/ItemCrafterArm.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.Item; diff --git a/src/common/assemblyline/machines/crafter/TaskArmCollect.java b/src/common/assemblyline/machine/crafter/TaskArmCollect.java similarity index 93% rename from src/common/assemblyline/machines/crafter/TaskArmCollect.java rename to src/common/assemblyline/machine/crafter/TaskArmCollect.java index 83fdd22f2..943a4b303 100644 --- a/src/common/assemblyline/machines/crafter/TaskArmCollect.java +++ b/src/common/assemblyline/machine/crafter/TaskArmCollect.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.EntityItem; import assemblyline.ai.Task; diff --git a/src/common/assemblyline/machines/crafter/TaskArmSearch.java b/src/common/assemblyline/machine/crafter/TaskArmSearch.java similarity index 62% rename from src/common/assemblyline/machines/crafter/TaskArmSearch.java rename to src/common/assemblyline/machine/crafter/TaskArmSearch.java index 11c303eb0..9d1d23ba2 100644 --- a/src/common/assemblyline/machines/crafter/TaskArmSearch.java +++ b/src/common/assemblyline/machine/crafter/TaskArmSearch.java @@ -1,4 +1,6 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; + +import java.util.List; import net.minecraft.src.AxisAlignedBB; import net.minecraft.src.Entity; @@ -31,11 +33,17 @@ public class TaskArmSearch extends Task this.searchSpeed = searchSpeed; } - @Override - public void onTaskStart() - { - this.foundEntity = (Entity) this.tileEntity.worldObj.getEntitiesWithinAABB(this.entityToInclude, AxisAlignedBB.getBoundingBox(this.tileEntity.xCoord - this.radius, this.tileEntity.yCoord - this.radius, this.tileEntity.zCoord - this.radius, this.tileEntity.xCoord + this.radius, this.tileEntity.yCoord + this.radius, this.tileEntity.zCoord + this.radius)).get(0); - } + @Override + public void onTaskStart() + { + List found = tileEntity.worldObj.getEntitiesWithinAABB(entityToInclude, + AxisAlignedBB.getBoundingBox(tileEntity.xCoord - radius, tileEntity.yCoord - radius, tileEntity.zCoord - radius, + tileEntity.xCoord + radius, tileEntity.yCoord + radius, tileEntity.zCoord + radius)); + if (found != null && !found.isEmpty()) + { + foundEntity = (Entity) found.get(0); + } + } @Override protected boolean doTask() diff --git a/src/common/assemblyline/machines/crafter/TileEntityAutoCrafter.java b/src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java similarity index 93% rename from src/common/assemblyline/machines/crafter/TileEntityAutoCrafter.java rename to src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java index fcdd2c8ca..35df0967b 100644 --- a/src/common/assemblyline/machines/crafter/TileEntityAutoCrafter.java +++ b/src/common/assemblyline/machine/crafter/TileEntityAutoCrafter.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import net.minecraft.src.EntityPlayer; import net.minecraft.src.INetworkManager; diff --git a/src/common/assemblyline/machines/crafter/TileEntityCraftingArm.java b/src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java similarity index 98% rename from src/common/assemblyline/machines/crafter/TileEntityCraftingArm.java rename to src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java index 46a7ad266..30734836f 100644 --- a/src/common/assemblyline/machines/crafter/TileEntityCraftingArm.java +++ b/src/common/assemblyline/machine/crafter/TileEntityCraftingArm.java @@ -1,4 +1,4 @@ -package assemblyline.machines.crafter; +package assemblyline.machine.crafter; import java.util.EnumSet; @@ -82,7 +82,7 @@ public class TileEntityCraftingArm extends TileEntityElectricityReceiver impleme taskManager.onUpdate(); - if (this.ticks % 5 == 0 && !this.isDisabled() && this.taskManager.hasTask() && EntityArm != null) + if (this.ticks % 5 == 0 && !this.isDisabled() && this.taskManager.hasTasks() && EntityArm != null) { this.wattsReceived -= this.WATT_REQUEST; this.doWork(); diff --git a/src/minecraft/assemblyline/render/RenderConveyorBelt.java b/src/minecraft/assemblyline/render/RenderConveyorBelt.java index aab6ffe87..a05f8d950 100644 --- a/src/minecraft/assemblyline/render/RenderConveyorBelt.java +++ b/src/minecraft/assemblyline/render/RenderConveyorBelt.java @@ -13,11 +13,11 @@ public class RenderConveyorBelt extends TileEntitySpecialRenderer { private ModelConveyorBelt model = new ModelConveyorBelt(); - public void renderAModelAt(TileEntityConveyorBelt tileEntity, double x, double y, double z, float f) + private void renderAModelAt(TileEntityConveyorBelt tileEntity, double x, double y, double z, float f) { String flip = "";// if(tileEntity.flip){flip // = "F";} - boolean mid = tileEntity.middleBelt(); + boolean mid = tileEntity.getIsMiddleBelt(); int face = tileEntity.getBeltDirection(); GL11.glPushMatrix(); @@ -29,20 +29,20 @@ public class RenderConveyorBelt extends TileEntitySpecialRenderer { GL11.glRotatef(180f, 0f, 1f, 0f); } - if (face == 3) + else if (face == 3) { GL11.glRotatef(0f, 0f, 1f, 0f); } - if (face == 4) + else if (face == 4) { GL11.glRotatef(90f, 0f, 1f, 0f); } - if (face == 5) + else if (face == 5) { GL11.glRotatef(270f, 0f, 1f, 0f); } int ent = tileEntity.worldObj.getBlockId(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - model.render(0.0625F, (float) Math.toRadians(tileEntity.wheelRotation), tileEntity.BackCap(), tileEntity.FrontCap(), false); + model.render(0.0625F, (float) Math.toRadians(tileEntity.wheelRotation), tileEntity.getIsBackCap(), tileEntity.getIsFrontCap(), false); GL11.glPopMatrix(); diff --git a/src/minecraft/assemblyline/render/RenderManipulator.java b/src/minecraft/assemblyline/render/RenderManipulator.java index 81e7ce9b5..68dd2f33f 100644 --- a/src/minecraft/assemblyline/render/RenderManipulator.java +++ b/src/minecraft/assemblyline/render/RenderManipulator.java @@ -13,7 +13,7 @@ public class RenderManipulator extends TileEntitySpecialRenderer { private ModelManipulator model = new ModelManipulator(); - public void renderAModelAt(TileEntityManipulator tileEntity, double x, double y, double z, float f) + private void renderAModelAt(TileEntityManipulator tileEntity, double x, double y, double z, float f) { int face = tileEntity.getBeltDirection().ordinal(); @@ -34,15 +34,15 @@ public class RenderManipulator extends TileEntitySpecialRenderer { GL11.glRotatef(0f, 0f, 1f, 0f); } - if (face == 3) + else if (face == 3) { GL11.glRotatef(180f, 0f, 1f, 0f); } - if (face == 4) + else if (face == 4) { GL11.glRotatef(270f, 0f, 1f, 0f); } - if (face == 5) + else if (face == 5) { GL11.glRotatef(90f, 0f, 1f, 0f); } diff --git a/src/minecraft/assemblyline/render/RenderSorter.java b/src/minecraft/assemblyline/render/RenderSorter.java index 4d5684de0..61c166fa9 100644 --- a/src/minecraft/assemblyline/render/RenderSorter.java +++ b/src/minecraft/assemblyline/render/RenderSorter.java @@ -13,7 +13,7 @@ public class RenderSorter extends TileEntitySpecialRenderer { private ModelSorter model = new ModelSorter(); - public void renderAModelAt(TileEntityRejector tileEntity, double x, double y, double z, float f) + private void renderAModelAt(TileEntityRejector tileEntity, double x, double y, double z, float f) { boolean fire = tileEntity.firePiston; int face = tileEntity.getDirection(tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord)); @@ -34,11 +34,11 @@ public class RenderSorter extends TileEntitySpecialRenderer { GL11.glRotatef(0f, 0f, 1f, 0f); } - if (face == 4) + else if (face == 4) { GL11.glRotatef(90f, 0f, 1f, 0f); } - if (face == 5) + else if (face == 5) { GL11.glRotatef(270f, 0f, 1f, 0f); }