diff --git a/common/buildcraft/core/robots/AIBase.java b/common/buildcraft/core/robots/AIBase.java deleted file mode 100755 index 1181023e..00000000 --- a/common/buildcraft/core/robots/AIBase.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team - * http://www.mod-buildcraft.com - * - * BuildCraft is distributed under the terms of the Minecraft Mod Public - * License 1.0, or MMPL. Please check the contents of the license located in - * http://www.mod-buildcraft.com/MMPL-1.0.txt - */ -package buildcraft.core.robots; - -import net.minecraft.nbt.NBTTagCompound; - -public abstract class AIBase { - - protected float destX, destY, destZ; - protected double dirX, dirY, dirZ; - - public abstract void update (EntityRobot robot); - - public void setDestination(EntityRobot robot, float x, float y, float z) { - destX = x; - destY = y; - destZ = z; - - dirX = destX - robot.posX; - dirY = destY - robot.posY; - dirZ = destZ - robot.posZ; - - double magnitude = Math.sqrt(dirX * dirX + dirY * dirY + dirZ * dirZ); - - dirX /= magnitude; - dirY /= magnitude; - dirZ /= magnitude; - - robot.motionX = dirX / 10F; - robot.motionY = dirY / 10F; - robot.motionZ = dirZ / 10F; - } - - public void writeToNBT(NBTTagCompound nbt) { - nbt.setFloat("destX", destX); - nbt.setFloat("destY", destY); - nbt.setFloat("destZ", destZ); - - nbt.setDouble("dirX", dirX); - nbt.setDouble("dirY", dirY); - nbt.setDouble("dirZ", dirZ); - } - - public void readFromNBT(NBTTagCompound nbt) { - destX = nbt.getFloat("destX"); - destY = nbt.getFloat("destY"); - destZ = nbt.getFloat("destZ"); - - dirX = nbt.getDouble("dirX"); - dirY = nbt.getDouble("dirY"); - dirZ = nbt.getDouble("dirZ"); - } -} diff --git a/common/buildcraft/core/robots/AIDocked.java b/common/buildcraft/core/robots/AIDocked.java deleted file mode 100755 index ac74f2b8..00000000 --- a/common/buildcraft/core/robots/AIDocked.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team - * http://www.mod-buildcraft.com - * - * BuildCraft is distributed under the terms of the Minecraft Mod Public - * License 1.0, or MMPL. Please check the contents of the license located in - * http://www.mod-buildcraft.com/MMPL-1.0.txt - */ -package buildcraft.core.robots; - -public class AIDocked extends AIBase { - - @Override - public void update(EntityRobot robot) { - robot.motionX = 0; - robot.motionY = 0; - robot.motionZ = 0; - } - -} diff --git a/common/buildcraft/core/robots/AIMoveAround.java b/common/buildcraft/core/robots/AIMoveAround.java deleted file mode 100755 index 83700b0a..00000000 --- a/common/buildcraft/core/robots/AIMoveAround.java +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team - * http://www.mod-buildcraft.com - * - * BuildCraft is distributed under the terms of the Minecraft Mod Public - * License 1.0, or MMPL. Please check the contents of the license located in - * http://www.mod-buildcraft.com/MMPL-1.0.txt - */ -package buildcraft.core.robots; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; - -public class AIMoveAround extends AIBase { - - protected float aroundX, aroundY, aroundZ; - - double prevDistance = Double.MAX_VALUE; - - public AIMoveAround () { - - } - - public AIMoveAround (EntityRobot robot, float x, float y, float z) { - aroundX = x; - aroundY = y; - aroundZ = z; - - randomDestination(robot); - } - - @Override - public void update(EntityRobot robot) { - if (robot.worldObj.isRemote) { - return; - } - - double distance = robot.getDistance(destX, destY, destZ); - - if (distance >= prevDistance) { - randomDestination(robot); - prevDistance = Double.MAX_VALUE; - } else { - prevDistance = robot.getDistance(destX, destY, destZ); - } - } - - public void randomDestination(EntityRobot robot) { - for (int i = 0; i < 5; ++i) { - float testX = aroundX + robot.worldObj.rand.nextFloat() * 10F - 5F; - float testY = aroundY + robot.worldObj.rand.nextFloat() * 5F; - float testZ = aroundZ + robot.worldObj.rand.nextFloat() * 10F - 5F; - - Block block = robot.worldObj.getBlock((int) testX, (int) testY, - (int) testZ); - - // We set a destination. If it's wrong, we try a new one. - // Eventually, we'll accept even a wrong one if none can be easily - // found. - - setDestination(robot, testX, testY, testZ); - - if (block == Blocks.air) { - return; - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setFloat("aroundX", aroundX); - nbt.setFloat("aroundY", aroundY); - nbt.setFloat("aroundZ", aroundZ); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - - aroundX = nbt.getFloat("aroundX"); - aroundY = nbt.getFloat("aroundY"); - aroundZ = nbt.getFloat("aroundZ"); - } -} diff --git a/common/buildcraft/core/robots/AIReturnToDock.java b/common/buildcraft/core/robots/AIReturnToDock.java deleted file mode 100755 index 00f69423..00000000 --- a/common/buildcraft/core/robots/AIReturnToDock.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team - * http://www.mod-buildcraft.com - * - * BuildCraft is distributed under the terms of the Minecraft Mod Public - * License 1.0, or MMPL. Please check the contents of the license located in - * http://www.mod-buildcraft.com/MMPL-1.0.txt - */ -package buildcraft.core.robots; - -import net.minecraft.nbt.NBTTagCompound; - - -public class AIReturnToDock extends AIBase { - - double prevDistance = Double.MAX_VALUE; - - int phase = 0; - - @Override - public void update(EntityRobot robot) { - if (robot.worldObj.isRemote) { - return; - } - - if (phase == 0) { - float x = robot.dockingStation.x + 0.5F + robot.dockingStation.side.offsetX * 1.5F; - float y = robot.dockingStation.y + 0.5F + robot.dockingStation.side.offsetY * 1.5F; - float z = robot.dockingStation.z + 0.5F + robot.dockingStation.side.offsetZ * 1.5F; - - setDestination(robot, x, y, z); - phase = 1; - } else if (phase == 1) { - double distance = robot.getDistance(destX, destY, destZ); - - if (distance >= prevDistance) { - prevDistance = Double.MAX_VALUE; - float x = robot.dockingStation.x + 0.5F + robot.dockingStation.side.offsetX * 0.5F; - float y = robot.dockingStation.y + 0.5F + robot.dockingStation.side.offsetY * 0.5F; - float z = robot.dockingStation.z + 0.5F + robot.dockingStation.side.offsetZ * 0.5F; - setDestination(robot, x, y, z); - - phase = 2; - } else { - prevDistance = distance; - } - } else if (phase == 2) { - double distance = robot.getDistance(destX, destY, destZ); - - if (distance >= prevDistance) { - float x = robot.dockingStation.x + 0.5F + robot.dockingStation.side.offsetX * 0.5F; - float y = robot.dockingStation.y + 0.5F + robot.dockingStation.side.offsetY * 0.5F; - float z = robot.dockingStation.z + 0.5F + robot.dockingStation.side.offsetZ * 0.5F; - - robot.motionX = 0; - robot.motionY = 0; - robot.motionZ = 0; - - robot.setPosition(x, y, z); - robot.currentAI = new AIDocked(); - } else { - prevDistance = distance; - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setInteger("phase", phase); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - - phase = nbt.getInteger("phase"); - } -}