diff --git a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java index 0eb1a47..218afc5 100644 --- a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java @@ -13,6 +13,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit, Pr private static final char MAP_INFO = 0x0080; public static final int ID = 1; + public static int TYPE_ID = 2; + private int hologram = 0; private String hologramString = ""; private HologramMode hologramMode = HologramMode.CLEARED; @@ -250,10 +252,13 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit, Pr } @Override - public void sendMessage(char[] message) { + public boolean sendMessage(char[] message) { if (consoleMessagesBuffer.size() < CONSOLE_BUFFER_MAX_SIZE) { consoleMessagesBuffer.add(message); + return true; + } else { + return false; } } diff --git a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotComPort.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotComPort.java index 36ac38e..be41aa4 100644 --- a/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotComPort.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotComPort.java @@ -82,13 +82,15 @@ public class CubotComPort extends CpuHardware { System.arraycopy(getCpu().getMemory().getWords(), x, message, 0, MESSAGE_LENGTH); //Send it to the Programmable object - ((Programmable) objects.get(0)).sendMessage(message); - - System.out.println("Sent message to " + ((Cubot) objects.get(0)).getParent().getUsername()); + getCpu().getRegisterSet().getRegister("B").setValue( + ((Programmable) objects.get(0)).sendMessage(message) ? 1 : 0); + return; } } } + getCpu().getRegisterSet().getRegister("B").setValue(0); //Failed + } else if (a == COMPORT_SELF_OUT) { if (cubot.spendEnergy(1)) { @@ -104,9 +106,12 @@ public class CubotComPort extends CpuHardware { //Get MESSAGE_LENGTH-word message pointed by X char[] message = new char[MESSAGE_LENGTH]; System.arraycopy(getCpu().getMemory().getWords(), x, message, 0, MESSAGE_LENGTH); - cubot.sendMessage(message); + getCpu().getRegisterSet().getRegister("B").setValue(cubot.sendMessage(message) ? 1 : 0); + return; } } + + getCpu().getRegisterSet().getRegister("B").setValue(0); //Failed } diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/RadioTower.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/RadioTower.java index 54ee1d1..550b511 100644 --- a/Plugin NPC/src/main/java/net/simon987/npcplugin/RadioTower.java +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/RadioTower.java @@ -41,10 +41,13 @@ public class RadioTower extends GameObject implements Programmable, Updatable { } @Override - public void sendMessage(char[] message) { + public boolean sendMessage(char[] message) { if (message.length < MAX_MESSAGES) { messages.add(message); + return true; + } else { + return false; } } diff --git a/Server/src/main/java/net/simon987/server/game/GameObject.java b/Server/src/main/java/net/simon987/server/game/GameObject.java index 20679dc..30763d8 100755 --- a/Server/src/main/java/net/simon987/server/game/GameObject.java +++ b/Server/src/main/java/net/simon987/server/game/GameObject.java @@ -68,6 +68,7 @@ public abstract class GameObject implements JSONSerialisable { newY = y; } + //Check if out of World bounds / collision if (newX < 0) { //Move object to adjacent World (left) diff --git a/Server/src/main/java/net/simon987/server/game/Programmable.java b/Server/src/main/java/net/simon987/server/game/Programmable.java index 3508480..b31b67c 100644 --- a/Server/src/main/java/net/simon987/server/game/Programmable.java +++ b/Server/src/main/java/net/simon987/server/game/Programmable.java @@ -2,6 +2,6 @@ package net.simon987.server.game; public interface Programmable { - void sendMessage(char[] message); + boolean sendMessage(char[] message); }