if (rayTraceResult != null && rayTraceResult.hitPart == Part.RobotStation) {
DockingStation station = (DockingStation) pipe.container.tilePart.getStation(rayTraceResult.sideHit);
if (!station.isTaken()) {
if(ItemRobot.getRobotNBT(currentItem) == null) { return true; }
RobotPlacementEvent robotEvent = new RobotPlacementEvent(player, ((NBTTagCompound)currentItem.stackTagCompound.getTag("board")).getString("id"));
FMLCommonHandler.instance().bus().post(robotEvent);
if(robotEvent.isCanceled()) { return true; }
EntityRobot robot = ((ItemRobot)currentItem.getItem()).createRobot(currentItem, world);
if(robot != null && robot.getRegistry() != null) {
robot.setUniqueRobotId(robot.getRegistry().getNextRobotId());
robot.getBattery().setEnergy(EntityRobotBase.MAX_ENERGY);