From 6be2a496c6bf343a79bb41eab1ce1ee6922e28fb Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 21 Nov 2017 20:22:10 -0500 Subject: [PATCH] Added maven framework support. Started working on NPCs #19 --- Plugin Cubot/Plugin Cubot.iml | 22 ++++ Plugin Cubot/pom.xml | 40 +++++++ .../java}/net/simon987/cubotplugin/Cubot.java | 37 +++---- .../simon987/cubotplugin/CubotBattery.java | 0 .../net/simon987/cubotplugin/CubotDrill.java | 11 +- .../cubotplugin/CubotFloppyDrive.java | 0 .../simon987/cubotplugin/CubotHologram.java | 0 .../simon987/cubotplugin/CubotInventory.java | 6 +- .../net/simon987/cubotplugin/CubotLaser.java | 11 +- .../net/simon987/cubotplugin/CubotLeg.java | 15 +-- .../net/simon987/cubotplugin/CubotLidar.java | 23 ++-- .../net/simon987/cubotplugin/CubotPlugin.java | 10 +- .../net/simon987/cubotplugin/FloppyDisk.java | 0 .../net/simon987/cubotplugin/Keyboard.java | 12 +-- .../event/CpuInitialisationListener.java | 4 +- .../event/UserCreationListener.java | 2 +- Plugin Kiln/plugin.properties | 3 - .../net/simon987/kilnplugin/KilnPlugin.java | 21 ---- Plugin Misc HW/Plugin Misc HW.iml | 21 ++++ Plugin Misc HW/pom.xml | 39 +++++++ .../net/simon987/mischwplugin/Clock.java | 0 .../simon987/mischwplugin/MiscHWPlugin.java | 0 .../mischwplugin/RandomNumberGenerator.java | 0 .../event/CpuInitialisationListener.java | 0 Plugin NPC/Plugin NPC.iml | 21 ++++ Plugin NPC/plugin.properties | 3 + Plugin NPC/pom.xml | 36 +++++++ .../net/simon987/npcplugin/HarvestTask.java | 100 ++++++++++++++++++ .../net/simon987/npcplugin/HarvesterNPC.java | 66 ++++++++++++ .../java/net/simon987/npcplugin/NPCTask.java | 10 ++ .../npcplugin/NonPlayerCharacter.java | 100 ++++++++++++++++++ .../net/simon987/npcplugin/NpcPlugin.java | 32 ++++++ .../npcplugin/event/WorldUpdateListener.java | 59 +++++++++++ Plugin Plant/Plugin Plant.iml | 21 ++++ Plugin Plant/pom.xml | 36 +++++++ .../java}/net/simon987/plantplugin/Plant.java | 71 ++----------- .../net/simon987/plantplugin/PlantPlugin.java | 5 +- .../event/WorldCreationListener.java | 5 +- Server/Server.iml | 21 ++++ Server/pom.xml | 49 +++++++++ .../java}/net/simon987/server/GameServer.java | 25 +++-- .../java}/net/simon987/server/Main.java | 3 +- .../simon987/server/ServerConfiguration.java | 0 .../simon987/server/assembly/Assembler.java | 4 +- .../server/assembly/AssemblyResult.java | 0 .../net/simon987/server/assembly/CPU.java | 26 ++--- .../simon987/server/assembly/CpuHardware.java | 8 +- .../assembly/DefaultInstructionSet.java | 4 +- .../server/assembly/DefaultRegisterSet.java | 0 .../simon987/server/assembly/Instruction.java | 0 .../server/assembly/InstructionSet.java | 0 .../simon987/server/assembly/MachineCode.java | 0 .../net/simon987/server/assembly/Memory.java | 2 +- .../net/simon987/server/assembly/Operand.java | 0 .../simon987/server/assembly/OperandType.java | 0 .../simon987/server/assembly/Register.java | 0 .../simon987/server/assembly/RegisterSet.java | 18 ++-- .../net/simon987/server/assembly/Segment.java | 0 .../net/simon987/server/assembly/Status.java | 0 .../net/simon987/server/assembly/Target.java | 0 .../net/simon987/server/assembly/Util.java | 2 +- .../assembly/exception/AssemblyException.java | 0 .../exception/CancelledException.java | 0 .../exception/DuplicateSegmentException.java | 0 .../exception/EmptyLineException.java | 0 .../exception/IllegalOperandException.java | 0 .../exception/InvalidMnemonicException.java | 0 .../exception/InvalidOperandException.java | 0 .../exception/PseudoInstructionException.java | 0 .../assembly/instruction/AddInstruction.java | 12 +-- .../assembly/instruction/AndInstruction.java | 12 +-- .../assembly/instruction/BrkInstruction.java | 0 .../assembly/instruction/CallInstruction.java | 0 .../assembly/instruction/CmpInstruction.java | 8 +- .../assembly/instruction/DivInstruction.java | 16 +-- .../assembly/instruction/HwiInstruction.java | 0 .../assembly/instruction/HwqInstruction.java | 0 .../assembly/instruction/JcInstruction.java | 0 .../assembly/instruction/JgInstruction.java | 0 .../assembly/instruction/JgeInstruction.java | 0 .../assembly/instruction/JlInstruction.java | 0 .../assembly/instruction/JleInstruction.java | 0 .../assembly/instruction/JmpInstruction.java | 0 .../assembly/instruction/JncInstruction.java | 0 .../assembly/instruction/JnoInstruction.java | 0 .../assembly/instruction/JnsInstruction.java | 0 .../assembly/instruction/JnzInstruction.java | 0 .../assembly/instruction/JoInstruction.java | 0 .../assembly/instruction/JsInstruction.java | 0 .../assembly/instruction/JzInstruction.java | 0 .../assembly/instruction/LeaInstruction.java | 0 .../assembly/instruction/MovInstruction.java | 0 .../assembly/instruction/MulInstruction.java | 4 +- .../assembly/instruction/NegInstruction.java | 0 .../assembly/instruction/NopInstruction.java | 0 .../assembly/instruction/NotInstruction.java | 0 .../assembly/instruction/OrInstruction.java | 8 +- .../assembly/instruction/PopInstruction.java | 0 .../assembly/instruction/PushInstruction.java | 0 .../assembly/instruction/RclInstruction.java | 0 .../assembly/instruction/RcrInstruction.java | 0 .../assembly/instruction/RetInstruction.java | 0 .../assembly/instruction/RolInstruction.java | 4 +- .../assembly/instruction/RorInstruction.java | 7 +- .../assembly/instruction/SalInstruction.java | 0 .../assembly/instruction/SarInstruction.java | 0 .../assembly/instruction/ShlInstruction.java | 8 +- .../assembly/instruction/ShrInstruction.java | 8 +- .../assembly/instruction/SubInstruction.java | 8 +- .../assembly/instruction/TestInstruction.java | 8 +- .../assembly/instruction/XchgInstruction.java | 0 .../assembly/instruction/XorInstruction.java | 8 +- .../server/event/CpuInitialisationEvent.java | 2 +- .../net/simon987/server/event/GameEvent.java | 0 .../server/event/GameEventDispatcher.java | 8 +- .../server/event/GameEventListener.java | 0 .../net/simon987/server/event/TickEvent.java | 14 +++ .../server/event/UserCreationEvent.java | 0 .../server/event/WorldGenerationEvent.java | 4 +- .../server/event/WorldUpdateEvent.java | 16 +++ .../java/net/simon987/server/game/Action.java | 10 ++ .../server/game/ControllableUnit.java | 0 .../net/simon987/server/game/Direction.java | 22 ++++ .../net/simon987/server/game/EffectType.java | 0 .../net/simon987/server/game/GameEffect.java | 2 +- .../net/simon987/server/game/GameObject.java | 16 +-- .../simon987/server/game/GameUniverse.java | 23 ++-- .../simon987/server/game/InventoryHolder.java | 1 + .../net/simon987/server/game/TileMap.java | 6 +- .../net/simon987/server/game/Updatable.java | 0 .../java}/net/simon987/server/game/World.java | 31 +++--- .../simon987/server/game/WorldGenerator.java | 4 +- .../server/game/pathfinding/Node.java | 0 .../server/game/pathfinding/Pathfinder.java | 0 .../game/pathfinding/SortedArrayList.java | 0 .../server/io/CpuHardwareDeserializer.java | 0 .../simon987/server/io/DatabaseManager.java | 0 .../server/io/GameObjectDeserializer.java | 0 .../simon987/server/io/JSONSerialisable.java | 0 .../server/logging/GenericFormatter.java | 1 - .../simon987/server/logging/LogManager.java | 0 .../simon987/server/plugin/PluginManager.java | 8 +- .../simon987/server/plugin/ServerPlugin.java | 0 .../java}/net/simon987/server/user/User.java | 12 +-- .../server/webserver/CodeRequestHandler.java | 5 +- .../server/webserver/CodeUploadHandler.java | 7 +- .../server/webserver/FloppyHandler.java | 0 .../server/webserver/KeypressHandler.java | 6 +- .../webserver/MessageEventDispatcher.java | 0 .../server/webserver/MessageHandler.java | 0 .../webserver/ObjectsRequestHandler.java | 5 +- .../simon987/server/webserver/OnlineUser.java | 0 .../server/webserver/OnlineUserManager.java | 0 .../server/webserver/SocketServer.java | 9 +- .../webserver/SocketServerDatabase.java | 1 - .../webserver/TerrainRequestHandler.java | 0 .../webserver/UserInfoRequestHandler.java | 4 +- .../net/simon987/server/assembly/CPUTest.java | 3 +- 158 files changed, 1002 insertions(+), 333 deletions(-) create mode 100644 Plugin Cubot/Plugin Cubot.iml create mode 100644 Plugin Cubot/pom.xml rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/Cubot.java (79%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotBattery.java (100%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotDrill.java (83%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotFloppyDrive.java (100%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotHologram.java (100%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotInventory.java (89%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotLaser.java (85%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotLeg.java (81%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotLidar.java (86%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/CubotPlugin.java (89%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/FloppyDisk.java (100%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/Keyboard.java (84%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/event/CpuInitialisationListener.java (95%) rename Plugin Cubot/src/{ => main/java}/net/simon987/cubotplugin/event/UserCreationListener.java (97%) delete mode 100644 Plugin Kiln/plugin.properties delete mode 100644 Plugin Kiln/src/net/simon987/kilnplugin/KilnPlugin.java create mode 100644 Plugin Misc HW/Plugin Misc HW.iml create mode 100644 Plugin Misc HW/pom.xml rename Plugin Misc HW/src/{ => main/java}/net/simon987/mischwplugin/Clock.java (100%) rename Plugin Misc HW/src/{ => main/java}/net/simon987/mischwplugin/MiscHWPlugin.java (100%) rename Plugin Misc HW/src/{ => main/java}/net/simon987/mischwplugin/RandomNumberGenerator.java (100%) rename Plugin Misc HW/src/{ => main/java}/net/simon987/mischwplugin/event/CpuInitialisationListener.java (100%) create mode 100644 Plugin NPC/Plugin NPC.iml create mode 100644 Plugin NPC/plugin.properties create mode 100644 Plugin NPC/pom.xml create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/HarvestTask.java create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/HarvesterNPC.java create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/NPCTask.java create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/NonPlayerCharacter.java create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/NpcPlugin.java create mode 100644 Plugin NPC/src/main/java/net/simon987/npcplugin/event/WorldUpdateListener.java create mode 100644 Plugin Plant/Plugin Plant.iml create mode 100644 Plugin Plant/pom.xml rename Plugin Plant/src/{ => main/java}/net/simon987/plantplugin/Plant.java (53%) rename Plugin Plant/src/{ => main/java}/net/simon987/plantplugin/PlantPlugin.java (89%) rename Plugin Plant/src/{ => main/java}/net/simon987/plantplugin/event/WorldCreationListener.java (93%) create mode 100644 Server/Server.iml create mode 100644 Server/pom.xml rename Server/src/{ => main/java}/net/simon987/server/GameServer.java (88%) rename Server/src/{ => main/java}/net/simon987/server/Main.java (94%) rename Server/src/{ => main/java}/net/simon987/server/ServerConfiguration.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Assembler.java (99%) rename Server/src/{ => main/java}/net/simon987/server/assembly/AssemblyResult.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/CPU.java (96%) rename Server/src/{ => main/java}/net/simon987/server/assembly/CpuHardware.java (76%) rename Server/src/{ => main/java}/net/simon987/server/assembly/DefaultInstructionSet.java (96%) rename Server/src/{ => main/java}/net/simon987/server/assembly/DefaultRegisterSet.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Instruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/InstructionSet.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/MachineCode.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Memory.java (98%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Operand.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/OperandType.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Register.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/RegisterSet.java (87%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Segment.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Status.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Target.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/Util.java (98%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/AssemblyException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/CancelledException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/DuplicateSegmentException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/EmptyLineException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/IllegalOperandException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/InvalidMnemonicException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/InvalidOperandException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/exception/PseudoInstructionException.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/AddInstruction.java (87%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/AndInstruction.java (87%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/BrkInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/CallInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/CmpInstruction.java (89%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/DivInstruction.java (73%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/HwiInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/HwqInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JcInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JgInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JgeInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JlInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JleInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JmpInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JncInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JnoInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JnsInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JnzInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JoInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JsInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/JzInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/LeaInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/MovInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/MulInstruction.java (96%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/NegInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/NopInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/NotInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/OrInstruction.java (88%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/PopInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/PushInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/RclInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/RcrInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/RetInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/RolInstruction.java (96%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/RorInstruction.java (94%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/SalInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/SarInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/ShlInstruction.java (89%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/ShrInstruction.java (91%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/SubInstruction.java (89%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/TestInstruction.java (88%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/XchgInstruction.java (100%) rename Server/src/{ => main/java}/net/simon987/server/assembly/instruction/XorInstruction.java (88%) rename Server/src/{ => main/java}/net/simon987/server/event/CpuInitialisationEvent.java (84%) rename Server/src/{ => main/java}/net/simon987/server/event/GameEvent.java (100%) rename Server/src/{ => main/java}/net/simon987/server/event/GameEventDispatcher.java (61%) rename Server/src/{ => main/java}/net/simon987/server/event/GameEventListener.java (100%) create mode 100644 Server/src/main/java/net/simon987/server/event/TickEvent.java rename Server/src/{ => main/java}/net/simon987/server/event/UserCreationEvent.java (100%) rename Server/src/{ => main/java}/net/simon987/server/event/WorldGenerationEvent.java (76%) create mode 100644 Server/src/main/java/net/simon987/server/event/WorldUpdateEvent.java create mode 100644 Server/src/main/java/net/simon987/server/game/Action.java rename Server/src/{ => main/java}/net/simon987/server/game/ControllableUnit.java (100%) rename Server/src/{ => main/java}/net/simon987/server/game/Direction.java (51%) rename Server/src/{ => main/java}/net/simon987/server/game/EffectType.java (100%) rename Server/src/{ => main/java}/net/simon987/server/game/GameEffect.java (95%) rename Server/src/{ => main/java}/net/simon987/server/game/GameObject.java (94%) rename Server/src/{ => main/java}/net/simon987/server/game/GameUniverse.java (93%) rename Server/src/{ => main/java}/net/simon987/server/game/InventoryHolder.java (98%) rename Server/src/{ => main/java}/net/simon987/server/game/TileMap.java (96%) rename Server/src/{ => main/java}/net/simon987/server/game/Updatable.java (100%) rename Server/src/{ => main/java}/net/simon987/server/game/World.java (86%) rename Server/src/{ => main/java}/net/simon987/server/game/WorldGenerator.java (99%) rename Server/src/{ => main/java}/net/simon987/server/game/pathfinding/Node.java (100%) rename Server/src/{ => main/java}/net/simon987/server/game/pathfinding/Pathfinder.java (100%) rename Server/src/{ => main/java}/net/simon987/server/game/pathfinding/SortedArrayList.java (100%) rename Server/src/{ => main/java}/net/simon987/server/io/CpuHardwareDeserializer.java (100%) rename Server/src/{ => main/java}/net/simon987/server/io/DatabaseManager.java (100%) rename Server/src/{ => main/java}/net/simon987/server/io/GameObjectDeserializer.java (100%) rename Server/src/{ => main/java}/net/simon987/server/io/JSONSerialisable.java (100%) rename Server/src/{ => main/java}/net/simon987/server/logging/GenericFormatter.java (99%) rename Server/src/{ => main/java}/net/simon987/server/logging/LogManager.java (100%) rename Server/src/{ => main/java}/net/simon987/server/plugin/PluginManager.java (94%) rename Server/src/{ => main/java}/net/simon987/server/plugin/ServerPlugin.java (100%) rename Server/src/{ => main/java}/net/simon987/server/user/User.java (84%) rename Server/src/{ => main/java}/net/simon987/server/webserver/CodeRequestHandler.java (91%) rename Server/src/{ => main/java}/net/simon987/server/webserver/CodeUploadHandler.java (90%) rename Server/src/{ => main/java}/net/simon987/server/webserver/FloppyHandler.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/KeypressHandler.java (77%) rename Server/src/{ => main/java}/net/simon987/server/webserver/MessageEventDispatcher.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/MessageHandler.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/ObjectsRequestHandler.java (95%) rename Server/src/{ => main/java}/net/simon987/server/webserver/OnlineUser.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/OnlineUserManager.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/SocketServer.java (98%) rename Server/src/{ => main/java}/net/simon987/server/webserver/SocketServerDatabase.java (99%) rename Server/src/{ => main/java}/net/simon987/server/webserver/TerrainRequestHandler.java (100%) rename Server/src/{ => main/java}/net/simon987/server/webserver/UserInfoRequestHandler.java (90%) diff --git a/Plugin Cubot/Plugin Cubot.iml b/Plugin Cubot/Plugin Cubot.iml new file mode 100644 index 0000000..1f0dd37 --- /dev/null +++ b/Plugin Cubot/Plugin Cubot.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugin Cubot/pom.xml b/Plugin Cubot/pom.xml new file mode 100644 index 0000000..0596f2a --- /dev/null +++ b/Plugin Cubot/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + net.simon987.plugincubot + Plugin Cubot + 1.2a + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + net.simon987.server + Server + 1.2a + + + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + + + \ No newline at end of file diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/Cubot.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java similarity index 79% rename from Plugin Cubot/src/net/simon987/cubotplugin/Cubot.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java index 0fb9890..69aebbb 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/Cubot.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Cubot.java @@ -2,10 +2,7 @@ package net.simon987.cubotplugin; import net.simon987.server.GameServer; import net.simon987.server.assembly.Memory; -import net.simon987.server.game.ControllableUnit; -import net.simon987.server.game.Direction; -import net.simon987.server.game.GameObject; -import net.simon987.server.game.Updatable; +import net.simon987.server.game.*; import net.simon987.server.user.User; import org.json.simple.JSONObject; @@ -25,8 +22,8 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { private int hp; private int heldItem; - private CubotAction currentAction = CubotAction.IDLE; - private CubotAction lastAction = CubotAction.IDLE; + private Action currentAction = Action.IDLE; + private Action lastAction = Action.IDLE; private ArrayList keyboardBuffer = new ArrayList<>(); @@ -49,14 +46,14 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { @Override public void update() { - if (currentAction == CubotAction.WALKING) { + if (currentAction == Action.WALKING) { if (spendEnergy(100)) { if (!incrementLocation()) { //Couldn't walk - currentAction = CubotAction.IDLE; + currentAction = Action.IDLE; } } else { - currentAction = CubotAction.IDLE; + currentAction = Action.IDLE; } } @@ -66,7 +63,7 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { * was set last tick (IDLE) */ lastAction = currentAction; - currentAction = CubotAction.IDLE; + currentAction = Action.IDLE; //Same principle for hologram lastHologram = hologram; @@ -85,7 +82,7 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { json.put("hp", hp); json.put("action", lastAction.ordinal()); json.put("holo", (int) lastHologram); - json.put("energy", (int) lastHologram); + json.put("energy", energy); if (parent != null) { json.put("parent", parent.getUsername()); //Only used client-side for now @@ -97,12 +94,12 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { public static Cubot deserialize(JSONObject json) { Cubot cubot = new Cubot(); - cubot.setObjectId((int)(long)json.get("id")); - cubot.setX((int)(long)json.get("x")); - cubot.setY((int)(long)json.get("y")); - cubot.hp = (int)(long)json.get("hp"); - cubot.setDirection(Direction.getDirection((int)(long)json.get("direction"))); - cubot.heldItem = (int)(long)json.get("heldItem"); + cubot.setObjectId((int) (long) json.get("id")); + cubot.setX((int) (long) json.get("x")); + cubot.setY((int) (long) json.get("y")); + cubot.hp = (int) (long) json.get("hp"); + cubot.setDirection(Direction.getDirection((int) (long) json.get("direction"))); + cubot.heldItem = (int) (long) json.get("heldItem"); cubot.energy = (int) (long) json.get("energy"); cubot.maxEnergy = GameServer.INSTANCE.getConfig().getInt("battery_max_energy"); @@ -128,11 +125,11 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { return keyboardBuffer; } - public void clearKeyboardBuffer(){ + public void clearKeyboardBuffer() { keyboardBuffer.clear(); } - public void setCurrentAction(CubotAction currentAction) { + public void setCurrentAction(Action currentAction) { this.currentAction = currentAction; } @@ -144,7 +141,7 @@ public class Cubot extends GameObject implements Updatable, ControllableUnit { this.parent = parent; } - public CubotAction getAction() { + public Action getAction() { return lastAction; } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotBattery.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotBattery.java similarity index 100% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotBattery.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotBattery.java diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotDrill.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotDrill.java similarity index 83% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotDrill.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotDrill.java index 9f8060e..ea09b09 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotDrill.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotDrill.java @@ -3,6 +3,7 @@ package net.simon987.cubotplugin; import net.simon987.server.GameServer; import net.simon987.server.assembly.CpuHardware; import net.simon987.server.assembly.Status; +import net.simon987.server.game.Action; import net.simon987.server.game.TileMap; import org.json.simple.JSONObject; @@ -41,16 +42,16 @@ public class CubotDrill extends CpuHardware { } else if (a == GATHER_SLOW || a == GATHER_FAST) { if (cubot.spendEnergy(1400)) { - if (cubot.getAction() == CubotAction.IDLE) { + if (cubot.getAction() == Action.IDLE) { int tile = cubot.getWorld().getTileMap().getTileAt(cubot.getX(), cubot.getY()); if (tile == TileMap.IRON_TILE) { cubot.setHeldItem(TileMap.ITEM_IRON); - cubot.setCurrentAction(CubotAction.DIGGING); + cubot.setCurrentAction(Action.DIGGING); } else if (tile == TileMap.COPPER_TILE) { cubot.setHeldItem(TileMap.ITEM_COPPER); - cubot.setCurrentAction(CubotAction.DIGGING); + cubot.setCurrentAction(Action.DIGGING); } } @@ -69,7 +70,7 @@ public class CubotDrill extends CpuHardware { return json; } - public static CubotDrill deserialize(JSONObject hwJSON){ - return new CubotDrill((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int)(long)hwJSON.get("cubot"))); + public static CubotDrill deserialize(JSONObject hwJSON) { + return new CubotDrill((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) hwJSON.get("cubot"))); } } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotFloppyDrive.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotFloppyDrive.java similarity index 100% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotFloppyDrive.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotFloppyDrive.java diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotHologram.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotHologram.java similarity index 100% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotHologram.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotHologram.java diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotInventory.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotInventory.java similarity index 89% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotInventory.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotInventory.java index 3b3cc98..1dd2f5b 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotInventory.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotInventory.java @@ -33,7 +33,7 @@ public class CubotInventory extends CpuHardware { int a = getCpu().getRegisterSet().getRegister("A").getValue(); - if(a == POLL) { + if (a == POLL) { getCpu().getRegisterSet().getRegister("B").setValue(cubot.getHeldItem()); @@ -55,7 +55,7 @@ public class CubotInventory extends CpuHardware { return json; } - public static CubotInventory deserialize(JSONObject hwJSON){ - return new CubotInventory((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int)(long)hwJSON.get("cubot"))); + public static CubotInventory deserialize(JSONObject hwJSON) { + return new CubotInventory((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) hwJSON.get("cubot"))); } } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLaser.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLaser.java similarity index 85% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotLaser.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLaser.java index 2a36834..ec23720 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLaser.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLaser.java @@ -3,6 +3,7 @@ package net.simon987.cubotplugin; import net.simon987.server.GameServer; import net.simon987.server.assembly.CpuHardware; import net.simon987.server.assembly.Status; +import net.simon987.server.game.Action; import net.simon987.server.game.GameObject; import net.simon987.server.game.InventoryHolder; import org.json.simple.JSONObject; @@ -41,14 +42,14 @@ public class CubotLaser extends CpuHardware { int b = getCpu().getRegisterSet().getRegister("B").getValue(); - if(a == WITHDRAW) { + if (a == WITHDRAW) { Point frontTile = cubot.getFrontTile(); ArrayList objects = cubot.getWorld().getGameObjectsAt(frontTile.x, frontTile.y); - if (cubot.getAction() != CubotAction.IDLE && objects.size() > 0) { + if (cubot.getAction() != Action.IDLE && objects.size() > 0) { //FIXME: Problem here if more than 1 object if (objects.get(0) instanceof InventoryHolder) { if (((InventoryHolder) objects.get(0)).canTakeItem(b)) { @@ -57,7 +58,7 @@ public class CubotLaser extends CpuHardware { ((InventoryHolder) objects.get(0)).takeItem(b); cubot.setHeldItem(b); - cubot.setCurrentAction(CubotAction.WITHDRAWING); + cubot.setCurrentAction(Action.WITHDRAWING); } } } @@ -80,7 +81,7 @@ public class CubotLaser extends CpuHardware { return json; } - public static CubotLaser deserialize(JSONObject hwJSON){ - return new CubotLaser((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int)(long)hwJSON.get("cubot"))); + public static CubotLaser deserialize(JSONObject hwJSON) { + return new CubotLaser((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) hwJSON.get("cubot"))); } } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLeg.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLeg.java similarity index 81% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotLeg.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLeg.java index 17dff77..f3b0d81 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLeg.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLeg.java @@ -3,6 +3,7 @@ package net.simon987.cubotplugin; import net.simon987.server.GameServer; import net.simon987.server.assembly.CpuHardware; import net.simon987.server.assembly.Status; +import net.simon987.server.game.Action; import net.simon987.server.game.Direction; import net.simon987.server.io.JSONSerialisable; import org.json.simple.JSONObject; @@ -37,12 +38,12 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable { int a = getCpu().getRegisterSet().getRegister("A").getValue(); int b = getCpu().getRegisterSet().getRegister("B").getValue(); - if(a == SET_DIR){ + if (a == SET_DIR) { Direction dir = Direction.getDirection(b); - if(dir != null){ + if (dir != null) { if (cubot.spendEnergy(20)) { cubot.setDirection(Direction.getDirection(b)); status.setErrorFlag(false); @@ -52,18 +53,18 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable { } - } else if(a == SET_DIR_AND_WALK){ + } else if (a == SET_DIR_AND_WALK) { Direction dir = Direction.getDirection(b); - if(dir != null){ + if (dir != null) { cubot.setDirection(Direction.getDirection(b)); status.setErrorFlag(false); } else { status.setErrorFlag(true); } - cubot.setCurrentAction(CubotAction.WALKING); + cubot.setCurrentAction(Action.WALKING); } } @@ -77,8 +78,8 @@ public class CubotLeg extends CpuHardware implements JSONSerialisable { return json; } - public static CubotLeg deserialize(JSONObject hwJSON){ - return new CubotLeg((Cubot)GameServer.INSTANCE.getGameUniverse().getObject((int)(long)hwJSON.get("cubot"))); + public static CubotLeg deserialize(JSONObject hwJSON) { + return new CubotLeg((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) hwJSON.get("cubot"))); } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLidar.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLidar.java similarity index 86% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotLidar.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLidar.java index e3b5f06..ccfaa36 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotLidar.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotLidar.java @@ -2,6 +2,7 @@ package net.simon987.cubotplugin; import net.simon987.server.GameServer; import net.simon987.server.assembly.CpuHardware; +import net.simon987.server.assembly.Memory; import net.simon987.server.assembly.Status; import net.simon987.server.game.World; import net.simon987.server.game.pathfinding.Node; @@ -46,7 +47,7 @@ public class CubotLidar extends CpuHardware implements JSONSerialisable { int a = getCpu().getRegisterSet().getRegister("A").getValue(); - switch (a){ + switch (a) { case GET_POS: getCpu().getRegisterSet().getRegister("X").setValue(cubot.getX()); getCpu().getRegisterSet().getRegister("Y").setValue(cubot.getY()); @@ -62,7 +63,7 @@ public class CubotLidar extends CpuHardware implements JSONSerialisable { destX, destY, b); //Write to memory - byte[] mem = getCpu().getMemory().getBytes(); + Memory mem = getCpu().getMemory(); int counter = MEMORY_PATH_START; @@ -80,32 +81,26 @@ public class CubotLidar extends CpuHardware implements JSONSerialisable { if (n.x < lastNode.x) { //West - mem[counter++] = 0; - mem[counter++] = 3; + mem.set(counter++, 3); } else if (n.x > lastNode.x) { //East - mem[counter++] = 0; - mem[counter++] = 1; + mem.set(counter++, 1); } else if (n.y < lastNode.y) { //North - mem[counter++] = 0; - mem[counter++] = 0; + mem.set(counter++, 0); } else if (n.y > lastNode.y) { //South - mem[counter++] = 0; - mem[counter++] = 2; + mem.set(counter++, 2); } lastNode = n; } //Indicate end of path with 0xAAAA - mem[counter++] = -86; - mem[counter] = -86; + mem.set(counter, 0xAAAA); } else { //Indicate invalid path 0xFFFF - mem[counter++] = -1; - mem[counter] = -1; + mem.set(counter, 0xFFFF); } LogManager.LOGGER.fine("DEBUG: path to" + destX + "," + destY); diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/CubotPlugin.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotPlugin.java similarity index 89% rename from Plugin Cubot/src/net/simon987/cubotplugin/CubotPlugin.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotPlugin.java index 960deee..e162804 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/CubotPlugin.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/CubotPlugin.java @@ -10,7 +10,7 @@ import net.simon987.server.logging.LogManager; import net.simon987.server.plugin.ServerPlugin; import org.json.simple.JSONObject; -public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer, CpuHardwareDeserializer{ +public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer, CpuHardwareDeserializer { @Override @@ -24,9 +24,9 @@ public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer, @Override public GameObject deserializeObject(JSONObject object) { - int objType = (int)(long)object.get("type"); + int objType = (int) (long) object.get("type"); - if(objType == Cubot.ID) { + if (objType == Cubot.ID) { return Cubot.deserialize(object); } @@ -36,9 +36,9 @@ public class CubotPlugin extends ServerPlugin implements GameObjectDeserializer, @Override public CpuHardware deserializeHardware(JSONObject hwJson) { - int hwid = (int)(long)hwJson.get("hwid"); + int hwid = (int) (long) hwJson.get("hwid"); - switch (hwid){ + switch (hwid) { case CubotLeg.HWID: return CubotLeg.deserialize(hwJson); case CubotLaser.HWID: diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/FloppyDisk.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/FloppyDisk.java similarity index 100% rename from Plugin Cubot/src/net/simon987/cubotplugin/FloppyDisk.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/FloppyDisk.java diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/Keyboard.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Keyboard.java similarity index 84% rename from Plugin Cubot/src/net/simon987/cubotplugin/Keyboard.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/Keyboard.java index e3bab5e..ec05d59 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/Keyboard.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/Keyboard.java @@ -11,7 +11,7 @@ public class Keyboard extends CpuHardware { private static final int CLEAR_BUFFER = 0; private static final int FETCH_KEY = 1; - + /** * Hardware ID (Should be unique) */ @@ -33,14 +33,14 @@ public class Keyboard extends CpuHardware { int a = getCpu().getRegisterSet().getRegister("A").getValue(); - if(a == CLEAR_BUFFER){ + if (a == CLEAR_BUFFER) { cubot.clearKeyboardBuffer(); - } else if (a == FETCH_KEY){ + } else if (a == FETCH_KEY) { //pop int key = 0; - if(cubot.getKeyboardBuffer().size() > 0){ + if (cubot.getKeyboardBuffer().size() > 0) { key = cubot.getKeyboardBuffer().get(0); cubot.getKeyboardBuffer().remove(0); } @@ -61,7 +61,7 @@ public class Keyboard extends CpuHardware { return json; } - public static Keyboard deserialize(JSONObject hwJSON){ - return new Keyboard((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int)(long)hwJSON.get("cubot"))); + public static Keyboard deserialize(JSONObject hwJSON) { + return new Keyboard((Cubot) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) hwJSON.get("cubot"))); } } diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/event/CpuInitialisationListener.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/CpuInitialisationListener.java similarity index 95% rename from Plugin Cubot/src/net/simon987/cubotplugin/event/CpuInitialisationListener.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/CpuInitialisationListener.java index 829ff35..0bf3106 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/event/CpuInitialisationListener.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/CpuInitialisationListener.java @@ -18,8 +18,8 @@ public class CpuInitialisationListener implements GameEventListener { public void handle(GameEvent event) { LogManager.LOGGER.fine("(Plugin) Handled CPU Initialisation event (Cubot Plugin)"); - CPU cpu = (CPU)event.getSource(); - User user = ((CpuInitialisationEvent)event).getUser(); + CPU cpu = (CPU) event.getSource(); + User user = ((CpuInitialisationEvent) event).getUser(); CubotLeg legHw = new CubotLeg((Cubot) user.getControlledUnit()); legHw.setCpu(cpu); diff --git a/Plugin Cubot/src/net/simon987/cubotplugin/event/UserCreationListener.java b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/UserCreationListener.java similarity index 97% rename from Plugin Cubot/src/net/simon987/cubotplugin/event/UserCreationListener.java rename to Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/UserCreationListener.java index 918d7a5..64f2030 100644 --- a/Plugin Cubot/src/net/simon987/cubotplugin/event/UserCreationListener.java +++ b/Plugin Cubot/src/main/java/net/simon987/cubotplugin/event/UserCreationListener.java @@ -19,7 +19,7 @@ public class UserCreationListener implements GameEventListener { @Override public void handle(GameEvent event) { - User user = (User)event.getSource(); + User user = (User) event.getSource(); LogManager.LOGGER.fine("(Plugin) Handled User creation event (Cubot Plugin)"); diff --git a/Plugin Kiln/plugin.properties b/Plugin Kiln/plugin.properties deleted file mode 100644 index 9f1fec7..0000000 --- a/Plugin Kiln/plugin.properties +++ /dev/null @@ -1,3 +0,0 @@ -classpath=net.simon987.kilnplugin.KilnPlugin -name=Kiln Plugin -version=1.0 \ No newline at end of file diff --git a/Plugin Kiln/src/net/simon987/kilnplugin/KilnPlugin.java b/Plugin Kiln/src/net/simon987/kilnplugin/KilnPlugin.java deleted file mode 100644 index 438295f..0000000 --- a/Plugin Kiln/src/net/simon987/kilnplugin/KilnPlugin.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.simon987.kilnplugin; - -import net.simon987.server.game.GameObject; -import net.simon987.server.io.GameObjectDeserializer; -import net.simon987.server.plugin.ServerPlugin; -import org.json.simple.JSONObject; - -public class KilnPlugin extends ServerPlugin implements GameObjectDeserializer { - - - - @Override - public void init() { - - } - - @Override - public GameObject deserializeObject(JSONObject object) { - return null; - } -} diff --git a/Plugin Misc HW/Plugin Misc HW.iml b/Plugin Misc HW/Plugin Misc HW.iml new file mode 100644 index 0000000..f044428 --- /dev/null +++ b/Plugin Misc HW/Plugin Misc HW.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugin Misc HW/pom.xml b/Plugin Misc HW/pom.xml new file mode 100644 index 0000000..b120ce5 --- /dev/null +++ b/Plugin Misc HW/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + net.simon987.pluginmischw + Plugin Misc HW + 1.2a + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + net.simon987.server + Server + 1.2a + + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + + + \ No newline at end of file diff --git a/Plugin Misc HW/src/net/simon987/mischwplugin/Clock.java b/Plugin Misc HW/src/main/java/net/simon987/mischwplugin/Clock.java similarity index 100% rename from Plugin Misc HW/src/net/simon987/mischwplugin/Clock.java rename to Plugin Misc HW/src/main/java/net/simon987/mischwplugin/Clock.java diff --git a/Plugin Misc HW/src/net/simon987/mischwplugin/MiscHWPlugin.java b/Plugin Misc HW/src/main/java/net/simon987/mischwplugin/MiscHWPlugin.java similarity index 100% rename from Plugin Misc HW/src/net/simon987/mischwplugin/MiscHWPlugin.java rename to Plugin Misc HW/src/main/java/net/simon987/mischwplugin/MiscHWPlugin.java diff --git a/Plugin Misc HW/src/net/simon987/mischwplugin/RandomNumberGenerator.java b/Plugin Misc HW/src/main/java/net/simon987/mischwplugin/RandomNumberGenerator.java similarity index 100% rename from Plugin Misc HW/src/net/simon987/mischwplugin/RandomNumberGenerator.java rename to Plugin Misc HW/src/main/java/net/simon987/mischwplugin/RandomNumberGenerator.java diff --git a/Plugin Misc HW/src/net/simon987/mischwplugin/event/CpuInitialisationListener.java b/Plugin Misc HW/src/main/java/net/simon987/mischwplugin/event/CpuInitialisationListener.java similarity index 100% rename from Plugin Misc HW/src/net/simon987/mischwplugin/event/CpuInitialisationListener.java rename to Plugin Misc HW/src/main/java/net/simon987/mischwplugin/event/CpuInitialisationListener.java diff --git a/Plugin NPC/Plugin NPC.iml b/Plugin NPC/Plugin NPC.iml new file mode 100644 index 0000000..0fda0f5 --- /dev/null +++ b/Plugin NPC/Plugin NPC.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugin NPC/plugin.properties b/Plugin NPC/plugin.properties new file mode 100644 index 0000000..d2e105b --- /dev/null +++ b/Plugin NPC/plugin.properties @@ -0,0 +1,3 @@ +classpath=net.simon987.npcplugin.NpcPlugin +name=NPC Plugin +version=1.0 \ No newline at end of file diff --git a/Plugin NPC/pom.xml b/Plugin NPC/pom.xml new file mode 100644 index 0000000..857ea6f --- /dev/null +++ b/Plugin NPC/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + net.simon987.pluginnpc + Plugin NPC + 1.2a + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + + net.simon987.server + Server + 1.2a + + + \ No newline at end of file diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvestTask.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvestTask.java new file mode 100644 index 0000000..72703e5 --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvestTask.java @@ -0,0 +1,100 @@ +package net.simon987.npcplugin; + + +import net.simon987.server.assembly.Util; +import net.simon987.server.game.Direction; +import net.simon987.server.game.GameObject; +import net.simon987.server.game.InventoryHolder; +import net.simon987.server.logging.LogManager; + +import java.util.ArrayList; +import java.util.Random; + +public class HarvestTask extends NPCTask { + + private Random random; + + private int pause; + + public HarvestTask() { + random = new Random(); + pause = 0; + } + + private Direction nextWorldDirection = null; + + @Override + public boolean checkCompleted() { + return false; + } + + @Override + public void tick(NonPlayerCharacter npc) { + + if (pause == 0) { + //Get biomass + ArrayList biomass = new ArrayList<>(10); + + for (GameObject object : npc.getWorld().getGameObjects()) { + //Plant MAP_INFO + if ((object.getMapInfo() & 0x4000) == 0x4000) { + biomass.add(object); + } + } + + //Get closest one + int minDist = Integer.MAX_VALUE; + GameObject minBiomass = null; + + for (GameObject plant : biomass) { + + int dist = Util.manhattanDist(npc.getX(), npc.getY(), plant.getX(), plant.getY()); + + if (dist < minDist) { + minDist = dist; + minBiomass = plant; + } + } + + //Move towards it + if (minBiomass != null && minDist == 1) { + //Reached biomass, change direction to face it + Direction newDirection = Direction.getFacing(npc.getX(), npc.getY(), + minBiomass.getX(), minBiomass.getY()); + + if (newDirection != null) { + npc.setDirection(newDirection); + + //Reached biomass, harvest it + if (minBiomass instanceof InventoryHolder) { + ((InventoryHolder) minBiomass).takeItem(1); + pause += 6; + } + + + } else { + LogManager.LOGGER.severe("FIXME: tick:HarvestTask, Direction is null"); + } + + nextWorldDirection = null; + } else if (minBiomass != null && npc.moveTo(minBiomass.getX(), minBiomass.getY(), 1)) { + //Moving towards biomass... + nextWorldDirection = null; + } else { + + if (nextWorldDirection == null) { + nextWorldDirection = Direction.getDirection(random.nextInt(3)); + pause += 6; + } + npc.gotoWorld(nextWorldDirection); + } + + + } else { + pause--; + } + + } + + +} diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvesterNPC.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvesterNPC.java new file mode 100644 index 0000000..a360485 --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/HarvesterNPC.java @@ -0,0 +1,66 @@ +package net.simon987.npcplugin; + +import net.simon987.server.GameServer; +import net.simon987.server.game.Direction; +import org.json.simple.JSONObject; + +public class HarvesterNPC extends NonPlayerCharacter { + + public static final int ID = 10; //todo change + + + public HarvesterNPC() { + setTask(new HarvestTask()); + hp = 10; + } + + @Override + public void update() { + + if (hp <= 0) { + setDead(true); + //TODO: drop biomass + + } + + + if (getTask().checkCompleted()) { + + setTask(new HarvestTask()); + + } else { + getTask().tick(this); + } + } + + @Override + public JSONObject serialise() { + JSONObject json = super.serialise(); + + json.put("id", getObjectId()); + json.put("x", getX()); + json.put("y", getY()); + json.put("direction", getDirection().ordinal()); + json.put("hp", hp); + json.put("energy", energy); + json.put("action", getAction().ordinal()); + json.put("type", 10); + + return json; + } + + public static HarvesterNPC deserialize(JSONObject json) { + + HarvesterNPC npc = new HarvesterNPC(); + npc.setObjectId((int) (long) json.get("id")); + npc.setX((int) (long) json.get("x")); + npc.setY((int) (long) json.get("y")); + npc.hp = (int) (long) json.get("hp"); + npc.setDirection(Direction.getDirection((int) (long) json.get("direction"))); + npc.energy = (int) (long) json.get("energy"); + npc.maxEnergy = GameServer.INSTANCE.getConfig().getInt("battery_max_energy"); + + return npc; + + } +} diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/NPCTask.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/NPCTask.java new file mode 100644 index 0000000..9e6b2b7 --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/NPCTask.java @@ -0,0 +1,10 @@ +package net.simon987.npcplugin; + + +public abstract class NPCTask { + + public abstract boolean checkCompleted(); + + public abstract void tick(NonPlayerCharacter npc); + +} diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/NonPlayerCharacter.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/NonPlayerCharacter.java new file mode 100644 index 0000000..5ca540c --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/NonPlayerCharacter.java @@ -0,0 +1,100 @@ +package net.simon987.npcplugin; + +import net.simon987.server.game.Action; +import net.simon987.server.game.Direction; +import net.simon987.server.game.GameObject; +import net.simon987.server.game.Updatable; +import net.simon987.server.game.pathfinding.Node; +import net.simon987.server.game.pathfinding.Pathfinder; +import net.simon987.server.logging.LogManager; + +import java.util.ArrayList; + +public abstract class NonPlayerCharacter extends GameObject implements Updatable { + + private static final int MAP_INFO = 0x0040; + + protected int hp; + + protected int energy; + protected int maxEnergy; + + private NPCTask task; + + private Action lastAction = Action.IDLE; + + @Override + public char getMapInfo() { + return MAP_INFO; + } + + + public boolean moveTo(int x, int y, int range) { + + ArrayList path = Pathfinder.findPath(getWorld(), getX(), getY(), x, y, range); + + if (path != null && path.size() > 0) { + + Node nextTile = path.get(1); + + Direction newDirection = Direction.getFacing(getX(), getY(), nextTile.x, nextTile.y); + + if (newDirection != null) { + setDirection(newDirection); + } else { + LogManager.LOGGER.severe("FIXME: moveTo:NonPlayerCharacter, Direction is null"); + } + + if (incrementLocation()) { + lastAction = Action.WALKING; + return true; + } + } + + lastAction = Action.IDLE; + return false; + } + + public boolean gotoWorld(Direction direction) { + + System.out.println("going " + direction); + + if (direction == Direction.NORTH) { + if (!moveTo(8, 0, 0)) { + setDirection(Direction.NORTH); + return incrementLocation(); + } + } else if (direction == Direction.EAST) { + if (!moveTo(15, 8, 0)) { + setDirection(Direction.EAST); + return incrementLocation(); + } + } else if (direction == Direction.SOUTH) { + if (!moveTo(7, 15, 0)) { + setDirection(Direction.SOUTH); + return incrementLocation(); + } + } else if (direction == Direction.WEST) { + if (!moveTo(0, 7, 0)) { + setDirection(Direction.WEST); + return incrementLocation(); + } + } else { + return false; + } + + return true; + } + + public NPCTask getTask() { + return task; + } + + public void setTask(NPCTask task) { + this.task = task; + } + + public Action getAction() { + return lastAction; + } +} diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/NpcPlugin.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/NpcPlugin.java new file mode 100644 index 0000000..801d24b --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/NpcPlugin.java @@ -0,0 +1,32 @@ +package net.simon987.npcplugin; + +import net.simon987.npcplugin.event.WorldUpdateListener; +import net.simon987.server.game.GameObject; +import net.simon987.server.io.GameObjectDeserializer; +import net.simon987.server.logging.LogManager; +import net.simon987.server.plugin.ServerPlugin; +import org.json.simple.JSONObject; + +public class NpcPlugin extends ServerPlugin implements GameObjectDeserializer { + + + @Override + public void init() { + + listeners.add(new WorldUpdateListener()); + + LogManager.LOGGER.info("Initialised NPC plugin"); + } + + @Override + public GameObject deserializeObject(JSONObject object) { + ; + int objType = (int) (long) object.get("type"); + + if (objType == HarvesterNPC.ID) { + return HarvesterNPC.deserialize(object); + } + + return null; + } +} diff --git a/Plugin NPC/src/main/java/net/simon987/npcplugin/event/WorldUpdateListener.java b/Plugin NPC/src/main/java/net/simon987/npcplugin/event/WorldUpdateListener.java new file mode 100644 index 0000000..dc67472 --- /dev/null +++ b/Plugin NPC/src/main/java/net/simon987/npcplugin/event/WorldUpdateListener.java @@ -0,0 +1,59 @@ +package net.simon987.npcplugin.event; + +import net.simon987.npcplugin.HarvesterNPC; +import net.simon987.npcplugin.NonPlayerCharacter; +import net.simon987.server.GameServer; +import net.simon987.server.event.GameEvent; +import net.simon987.server.event.GameEventListener; +import net.simon987.server.event.WorldUpdateEvent; +import net.simon987.server.game.World; +import net.simon987.server.logging.LogManager; + +import java.awt.*; + +public class WorldUpdateListener implements GameEventListener { + + private boolean ok = true; + + @Override + public Class getListenedEventType() { + return WorldUpdateEvent.class; + } + + @Override + public void handle(GameEvent event) { + + //LogManager.LOGGER.info("Time is " + ); + + World world = ((WorldUpdateEvent) event).getWorld(); + + if (GameServer.INSTANCE.getGameUniverse().getTime() % 10 == 0) { + + if (ok) { + ok = false; + LogManager.LOGGER.info("Spawning Harvester\n--------------------------------------"); + + NonPlayerCharacter npc = new HarvesterNPC(); + + //todo set max iteration + Point p = null; + while (p == null) { + p = world.getRandomPassableTile(); + } + + + npc.setWorld(world); + npc.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId()); + npc.setX(p.x); + npc.setY(p.y); + + world.getGameObjects().add(npc); + } + + + } + + + } + +} diff --git a/Plugin Plant/Plugin Plant.iml b/Plugin Plant/Plugin Plant.iml new file mode 100644 index 0000000..0fda0f5 --- /dev/null +++ b/Plugin Plant/Plugin Plant.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Plugin Plant/pom.xml b/Plugin Plant/pom.xml new file mode 100644 index 0000000..cae6177 --- /dev/null +++ b/Plugin Plant/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + net.simon987.pluginplant + Plugin Plant + 1.2a + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + + net.simon987.server + Server + 1.2a + + + \ No newline at end of file diff --git a/Plugin Plant/src/net/simon987/plantplugin/Plant.java b/Plugin Plant/src/main/java/net/simon987/plantplugin/Plant.java similarity index 53% rename from Plugin Plant/src/net/simon987/plantplugin/Plant.java rename to Plugin Plant/src/main/java/net/simon987/plantplugin/Plant.java index b1729f7..0155b31 100644 --- a/Plugin Plant/src/net/simon987/plantplugin/Plant.java +++ b/Plugin Plant/src/main/java/net/simon987/plantplugin/Plant.java @@ -1,31 +1,13 @@ package net.simon987.plantplugin; -import net.simon987.server.GameServer; import net.simon987.server.game.GameObject; import net.simon987.server.game.InventoryHolder; -import net.simon987.server.game.Updatable; import org.json.simple.JSONObject; -public class Plant extends GameObject implements Updatable, InventoryHolder{ - +public class Plant extends GameObject implements InventoryHolder { private static final char MAP_INFO = 0x4000; public static final int ID = 2; - /** - * Grow time (see config.properties) - */ - private static final int GROW_TIME = GameServer.INSTANCE.getConfig().getInt("plant_grow_time"); - - /** - * Game time of the creation of this Plant - */ - private long creationTime; - - /** - * Whether the plant is grown or not - */ - private boolean grown; - /** * Yield of the plant, in biomass units */ @@ -51,43 +33,12 @@ public class Plant extends GameObject implements Updatable, InventoryHolder{ json.put("id", getObjectId()); json.put("x", getX()); json.put("y", getY()); - json.put("creationTime", creationTime); - json.put("grown", grown); json.put("biomassCount", biomassCount); json.put("style", style); return json; } - /** - * Called every tick - */ - @Override - public void update() { - if (!grown) { - //Check grow - if (creationTime + GROW_TIME <= GameServer.INSTANCE.getGameUniverse().getTime()) { - grown = true; - biomassCount = GameServer.INSTANCE.getConfig().getInt("plant_yield"); - } - } - } - - public long getCreationTime() { - return creationTime; - } - - public void setCreationTime(long creationTime) { - this.creationTime = creationTime; - } - - public boolean isGrown() { - return grown; - } - - public void setGrown(boolean grown) { - this.grown = grown; - } public int getBiomassCount() { return biomassCount; @@ -105,17 +56,15 @@ public class Plant extends GameObject implements Updatable, InventoryHolder{ this.style = style; } - public static Plant deserialize(JSONObject json){ + public static Plant deserialize(JSONObject json) { Plant plant = new Plant(); - plant.setObjectId((int)(long)json.get("id")); - plant.setX((int)(long)json.get("x")); - plant.setY((int)(long)json.get("y")); - plant.grown = (boolean)json.get("grown"); - plant.creationTime = (long)json.get("creationTime"); - plant.style = (int)(long)json.get("style"); - plant.biomassCount = (int)(long)json.get("biomassCount"); + plant.setObjectId((int) (long) json.get("id")); + plant.setX((int) (long) json.get("x")); + plant.setY((int) (long) json.get("y")); + plant.style = (int) (long) json.get("style"); + plant.biomassCount = (int) (long) json.get("biomassCount"); return plant; } @@ -134,7 +83,7 @@ public class Plant extends GameObject implements Updatable, InventoryHolder{ @Override public boolean canTakeItem(int item) { - return item == ITM_BIOMASS && grown && biomassCount >= 1; + return item == ITM_BIOMASS && biomassCount >= 1; } /** @@ -148,9 +97,9 @@ public class Plant extends GameObject implements Updatable, InventoryHolder{ public void takeItem(int item) { if (item == ITM_BIOMASS) { - if (grown && biomassCount > 1) { + if (biomassCount > 1) { biomassCount--; - } else if (grown) { + } else { //Delete plant setDead(true); } diff --git a/Plugin Plant/src/net/simon987/plantplugin/PlantPlugin.java b/Plugin Plant/src/main/java/net/simon987/plantplugin/PlantPlugin.java similarity index 89% rename from Plugin Plant/src/net/simon987/plantplugin/PlantPlugin.java rename to Plugin Plant/src/main/java/net/simon987/plantplugin/PlantPlugin.java index 64c924d..569e52d 100644 --- a/Plugin Plant/src/net/simon987/plantplugin/PlantPlugin.java +++ b/Plugin Plant/src/main/java/net/simon987/plantplugin/PlantPlugin.java @@ -10,7 +10,6 @@ import org.json.simple.JSONObject; public class PlantPlugin extends ServerPlugin implements GameObjectDeserializer { - @Override public void init() { listeners.add(new WorldCreationListener()); @@ -20,9 +19,9 @@ public class PlantPlugin extends ServerPlugin implements GameObjectDeserializer @Override public GameObject deserializeObject(JSONObject object) { - int objType = (int)(long)object.get("type"); + int objType = (int) (long) object.get("type"); - if(objType == Plant.ID) { + if (objType == Plant.ID) { return Plant.deserialize(object); } diff --git a/Plugin Plant/src/net/simon987/plantplugin/event/WorldCreationListener.java b/Plugin Plant/src/main/java/net/simon987/plantplugin/event/WorldCreationListener.java similarity index 93% rename from Plugin Plant/src/net/simon987/plantplugin/event/WorldCreationListener.java rename to Plugin Plant/src/main/java/net/simon987/plantplugin/event/WorldCreationListener.java index 605c91d..0193b0c 100644 --- a/Plugin Plant/src/net/simon987/plantplugin/event/WorldCreationListener.java +++ b/Plugin Plant/src/main/java/net/simon987/plantplugin/event/WorldCreationListener.java @@ -21,9 +21,9 @@ public class WorldCreationListener implements GameEventListener { @Override public void handle(GameEvent event) { - ArrayList plants = generatePlants(((WorldGenerationEvent)event).getWorld()); + ArrayList plants = generatePlants(((WorldGenerationEvent) event).getWorld()); - ((WorldGenerationEvent)event).getWorld().getGameObjects().addAll(plants); + ((WorldGenerationEvent) event).getWorld().getGameObjects().addAll(plants); } @@ -79,7 +79,6 @@ public class WorldCreationListener implements GameEventListener { plant.setObjectId(GameServer.INSTANCE.getGameUniverse().getNextObjectId()); plant.setStyle(0); //TODO: set style depending on difficulty level? or random? from config? plant.setBiomassCount(plant_yield); - plant.setCreationTime(0); // Plants generated by the world generator always have creationTime of 0 plant.setX(p.x); plant.setY(p.y); plant.setWorld(world); diff --git a/Server/Server.iml b/Server/Server.iml new file mode 100644 index 0000000..ebc0539 --- /dev/null +++ b/Server/Server.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/pom.xml b/Server/pom.xml new file mode 100644 index 0000000..5698a08 --- /dev/null +++ b/Server/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + net.simon987.server + Server + 1.2a + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + org.java-websocket + Java-WebSocket + 1.3.6 + + + junit + junit + 4.12 + test + + + mysql + mysql-connector-java + 5.1.42 + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + + + \ No newline at end of file diff --git a/Server/src/net/simon987/server/GameServer.java b/Server/src/main/java/net/simon987/server/GameServer.java similarity index 88% rename from Server/src/net/simon987/server/GameServer.java rename to Server/src/main/java/net/simon987/server/GameServer.java index 8b3ce5b..b7da025 100644 --- a/Server/src/net/simon987/server/GameServer.java +++ b/Server/src/main/java/net/simon987/server/GameServer.java @@ -1,7 +1,9 @@ package net.simon987.server; +import net.simon987.server.event.GameEvent; import net.simon987.server.event.GameEventDispatcher; +import net.simon987.server.event.TickEvent; import net.simon987.server.game.GameUniverse; import net.simon987.server.game.World; import net.simon987.server.logging.LogManager; @@ -44,16 +46,16 @@ public class GameServer implements Runnable { File pluginDir = new File("plugins/"); File[] pluginDirListing = pluginDir.listFiles(); - if(pluginDirListing != null) { - for(File pluginFile : pluginDirListing) { + if (pluginDirListing != null) { + for (File pluginFile : pluginDirListing) { - if(pluginFile.getName().endsWith(".jar")){ + if (pluginFile.getName().endsWith(".jar")) { pluginManager.load(pluginFile); } } } else { - if(!pluginDir.mkdir()) { + if (!pluginDir.mkdir()) { LogManager.LOGGER.severe("Couldn't create plugin directory"); } } @@ -107,11 +109,16 @@ public class GameServer implements Runnable { private void tick() { gameUniverse.incrementTime(); + //Dispatch tick event + GameEvent event = new TickEvent(gameUniverse.getTime()); + GameServer.INSTANCE.getEventDispatcher().dispatch(event); //Ignore cancellation + + //Process user code ArrayList users_ = gameUniverse.getUsers(); for (User user : users_) { - if(user.getCpu() != null){ + if (user.getCpu() != null) { try { int timeout = Math.min(user.getControlledUnit().getEnergy(), maxExecutionTime); @@ -132,7 +139,7 @@ public class GameServer implements Runnable { //Avoid concurrent modification ArrayList worlds = new ArrayList<>(gameUniverse.getWorlds()); for (World world : worlds) { - world.update(); + world.update(); } //Save @@ -144,11 +151,13 @@ public class GameServer implements Runnable { LogManager.LOGGER.info("Processed " + gameUniverse.getWorlds().size() + " worlds"); } + /** * Save game universe to file in JSON format + * * @param file JSON file to save */ - public void save(File file){ + public void save(File file) { try { FileWriter fileWriter = new FileWriter(file); @@ -157,7 +166,7 @@ public class GameServer implements Runnable { JSONArray plugins = new JSONArray(); - for(ServerPlugin plugin : pluginManager.getPlugins()){ + for (ServerPlugin plugin : pluginManager.getPlugins()) { plugins.add(plugin.serialise()); } diff --git a/Server/src/net/simon987/server/Main.java b/Server/src/main/java/net/simon987/server/Main.java similarity index 94% rename from Server/src/net/simon987/server/Main.java rename to Server/src/main/java/net/simon987/server/Main.java index 794b51f..5875215 100644 --- a/Server/src/net/simon987/server/Main.java +++ b/Server/src/main/java/net/simon987/server/Main.java @@ -8,7 +8,7 @@ import java.net.InetSocketAddress; public class Main { - public static void main(String[] args){ + public static void main(String[] args) { LogManager.initialize(); @@ -22,6 +22,7 @@ public class Main { GameServer.INSTANCE.setSocketServer(socketServer); + (new Thread(socketServer)).start(); (new Thread(GameServer.INSTANCE)).start(); } diff --git a/Server/src/net/simon987/server/ServerConfiguration.java b/Server/src/main/java/net/simon987/server/ServerConfiguration.java similarity index 100% rename from Server/src/net/simon987/server/ServerConfiguration.java rename to Server/src/main/java/net/simon987/server/ServerConfiguration.java diff --git a/Server/src/net/simon987/server/assembly/Assembler.java b/Server/src/main/java/net/simon987/server/assembly/Assembler.java similarity index 99% rename from Server/src/net/simon987/server/assembly/Assembler.java rename to Server/src/main/java/net/simon987/server/assembly/Assembler.java index 034adbb..17abd62 100755 --- a/Server/src/net/simon987/server/assembly/Assembler.java +++ b/Server/src/main/java/net/simon987/server/assembly/Assembler.java @@ -208,7 +208,7 @@ public class Assembler { } else { //Handle integer value - char s = (char)(int)Integer.decode(value); + char s = (char) (int) Integer.decode(value); for (int i = 0; i < factor; i++) { out.write(Util.getHigherByte(s)); @@ -281,7 +281,7 @@ public class Assembler { if (tokens[1].toUpperCase().equals("EQU") && tokens.length == 3) { try { //Save value as a label - labels.put(tokens[0], (char)(int)Integer.decode(tokens[2])); + labels.put(tokens[0], (char) (int) Integer.decode(tokens[2])); } catch (NumberFormatException e) { throw new InvalidOperandException("Usage: constant_name EQU immediate_value", currentLine); } diff --git a/Server/src/net/simon987/server/assembly/AssemblyResult.java b/Server/src/main/java/net/simon987/server/assembly/AssemblyResult.java similarity index 100% rename from Server/src/net/simon987/server/assembly/AssemblyResult.java rename to Server/src/main/java/net/simon987/server/assembly/AssemblyResult.java diff --git a/Server/src/net/simon987/server/assembly/CPU.java b/Server/src/main/java/net/simon987/server/assembly/CPU.java similarity index 96% rename from Server/src/net/simon987/server/assembly/CPU.java rename to Server/src/main/java/net/simon987/server/assembly/CPU.java index 008b5a8..2aa61b8 100755 --- a/Server/src/net/simon987/server/assembly/CPU.java +++ b/Server/src/main/java/net/simon987/server/assembly/CPU.java @@ -20,7 +20,7 @@ import java.util.HashMap; * a Memory object and execute them. A CPU object holds registers objects & * a Memory object. */ -public class CPU implements JSONSerialisable{ +public class CPU implements JSONSerialisable { /** * @@ -68,7 +68,7 @@ public class CPU implements JSONSerialisable{ /** * Creates a new CPU */ - public CPU(ServerConfiguration config, User user) throws CancelledException{ + public CPU(ServerConfiguration config, User user) throws CancelledException { this.config = config; instructionSet = new DefaultInstructionSet(); registerSet = new DefaultRegisterSet(); @@ -103,7 +103,7 @@ public class CPU implements JSONSerialisable{ GameEvent event = new CpuInitialisationEvent(this, user); GameServer.INSTANCE.getEventDispatcher().dispatch(event); - if(event.isCancelled()){ + if (event.isCancelled()) { throw new CancelledException(); } } @@ -358,7 +358,7 @@ public class CPU implements JSONSerialisable{ JSONArray hardwareList = new JSONArray(); - for(Integer address : attachedHardware.keySet()){ + for (Integer address : attachedHardware.keySet()) { CpuHardware hardware = attachedHardware.get(address); @@ -376,17 +376,17 @@ public class CPU implements JSONSerialisable{ CPU cpu = new CPU(GameServer.INSTANCE.getConfig(), user); - cpu.codeSegmentOffset = (int)(long)json.get("codeSegmentOffset"); + cpu.codeSegmentOffset = (int) (long) json.get("codeSegmentOffset"); - JSONArray hardwareList = (JSONArray)json.get("hardware"); + JSONArray hardwareList = (JSONArray) json.get("hardware"); - for(JSONObject serialisedHw : (ArrayList)hardwareList){ + for (JSONObject serialisedHw : (ArrayList) hardwareList) { CpuHardware hw = CpuHardware.deserialize(serialisedHw); hw.setCpu(cpu); - cpu.attachHardware(hw, (int)(long)serialisedHw.get("address")); + cpu.attachHardware(hw, (int) (long) serialisedHw.get("address")); } - cpu.memory = Memory.deserialize((JSONObject)json.get("memory")); + cpu.memory = Memory.deserialize((JSONObject) json.get("memory")); cpu.registerSet = RegisterSet.deserialize((JSONObject) json.get("registerSet")); return cpu; @@ -421,18 +421,18 @@ public class CPU implements JSONSerialisable{ this.codeSegmentOffset = codeSegmentOffset; } - public void attachHardware(CpuHardware hardware, int address){ + public void attachHardware(CpuHardware hardware, int address) { attachedHardware.put(address, hardware); } - public void detachHardware(int address){ + public void detachHardware(int address) { attachedHardware.remove(address); } - public boolean hardwareInterrupt(int address){ + public boolean hardwareInterrupt(int address) { CpuHardware hardware = attachedHardware.get(address); - if(hardware != null){ + if (hardware != null) { hardware.handleInterrupt(status); return true; } else { diff --git a/Server/src/net/simon987/server/assembly/CpuHardware.java b/Server/src/main/java/net/simon987/server/assembly/CpuHardware.java similarity index 76% rename from Server/src/net/simon987/server/assembly/CpuHardware.java rename to Server/src/main/java/net/simon987/server/assembly/CpuHardware.java index 0940565..6592ddd 100644 --- a/Server/src/net/simon987/server/assembly/CpuHardware.java +++ b/Server/src/main/java/net/simon987/server/assembly/CpuHardware.java @@ -26,14 +26,14 @@ public abstract class CpuHardware implements JSONSerialisable { public abstract char getId(); - public static CpuHardware deserialize(JSONObject hwJson){ + public static CpuHardware deserialize(JSONObject hwJson) { - for(ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()){ + for (ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()) { - if(plugin instanceof CpuHardwareDeserializer){ + if (plugin instanceof CpuHardwareDeserializer) { CpuHardware hw = ((CpuHardwareDeserializer) plugin).deserializeHardware(hwJson); - if(hw != null){ + if (hw != null) { return hw; } } diff --git a/Server/src/net/simon987/server/assembly/DefaultInstructionSet.java b/Server/src/main/java/net/simon987/server/assembly/DefaultInstructionSet.java similarity index 96% rename from Server/src/net/simon987/server/assembly/DefaultInstructionSet.java rename to Server/src/main/java/net/simon987/server/assembly/DefaultInstructionSet.java index 7fa0171..43fffab 100755 --- a/Server/src/net/simon987/server/assembly/DefaultInstructionSet.java +++ b/Server/src/main/java/net/simon987/server/assembly/DefaultInstructionSet.java @@ -56,10 +56,10 @@ public class DefaultInstructionSet implements InstructionSet { public Instruction get(int opcode) { Instruction instruction = instructionMap.get(opcode); - if(instruction != null){ + if (instruction != null) { return instruction; } else { - // System.out.println("Invalid instruction " + opcode); + // System.out.println("Invalid instruction " + opcode); //Todo: Notify user? Set error flag? return defaultInstruction; } diff --git a/Server/src/net/simon987/server/assembly/DefaultRegisterSet.java b/Server/src/main/java/net/simon987/server/assembly/DefaultRegisterSet.java similarity index 100% rename from Server/src/net/simon987/server/assembly/DefaultRegisterSet.java rename to Server/src/main/java/net/simon987/server/assembly/DefaultRegisterSet.java diff --git a/Server/src/net/simon987/server/assembly/Instruction.java b/Server/src/main/java/net/simon987/server/assembly/Instruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Instruction.java rename to Server/src/main/java/net/simon987/server/assembly/Instruction.java diff --git a/Server/src/net/simon987/server/assembly/InstructionSet.java b/Server/src/main/java/net/simon987/server/assembly/InstructionSet.java similarity index 100% rename from Server/src/net/simon987/server/assembly/InstructionSet.java rename to Server/src/main/java/net/simon987/server/assembly/InstructionSet.java diff --git a/Server/src/net/simon987/server/assembly/MachineCode.java b/Server/src/main/java/net/simon987/server/assembly/MachineCode.java similarity index 100% rename from Server/src/net/simon987/server/assembly/MachineCode.java rename to Server/src/main/java/net/simon987/server/assembly/MachineCode.java diff --git a/Server/src/net/simon987/server/assembly/Memory.java b/Server/src/main/java/net/simon987/server/assembly/Memory.java similarity index 98% rename from Server/src/net/simon987/server/assembly/Memory.java rename to Server/src/main/java/net/simon987/server/assembly/Memory.java index 2f91889..ab40133 100755 --- a/Server/src/net/simon987/server/assembly/Memory.java +++ b/Server/src/main/java/net/simon987/server/assembly/Memory.java @@ -126,7 +126,7 @@ public class Memory implements Target, JSONSerialisable { return json; } - public static Memory deserialize(JSONObject json){ + public static Memory deserialize(JSONObject json) { Memory memory = new Memory(0); diff --git a/Server/src/net/simon987/server/assembly/Operand.java b/Server/src/main/java/net/simon987/server/assembly/Operand.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Operand.java rename to Server/src/main/java/net/simon987/server/assembly/Operand.java diff --git a/Server/src/net/simon987/server/assembly/OperandType.java b/Server/src/main/java/net/simon987/server/assembly/OperandType.java similarity index 100% rename from Server/src/net/simon987/server/assembly/OperandType.java rename to Server/src/main/java/net/simon987/server/assembly/OperandType.java diff --git a/Server/src/net/simon987/server/assembly/Register.java b/Server/src/main/java/net/simon987/server/assembly/Register.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Register.java rename to Server/src/main/java/net/simon987/server/assembly/Register.java diff --git a/Server/src/net/simon987/server/assembly/RegisterSet.java b/Server/src/main/java/net/simon987/server/assembly/RegisterSet.java similarity index 87% rename from Server/src/net/simon987/server/assembly/RegisterSet.java rename to Server/src/main/java/net/simon987/server/assembly/RegisterSet.java index 3979f28..06a3692 100755 --- a/Server/src/net/simon987/server/assembly/RegisterSet.java +++ b/Server/src/main/java/net/simon987/server/assembly/RegisterSet.java @@ -87,7 +87,7 @@ public class RegisterSet implements Target, JSONSerialisable { Register register = registers.get(address); - if(register != null){ + if (register != null) { return register.getValue(); } else { return 0; @@ -106,7 +106,7 @@ public class RegisterSet implements Target, JSONSerialisable { Register register = registers.get(address); - if(register != null){ + if (register != null) { register.setValue(value); } else { LogManager.LOGGER.info("DEBUG: trying to set unknown reg index : " + address); @@ -144,7 +144,7 @@ public class RegisterSet implements Target, JSONSerialisable { @Override public JSONObject serialise() { JSONArray registers = new JSONArray(); - for(Integer index : this.registers.keySet()){ + for (Integer index : this.registers.keySet()) { JSONObject register = new JSONObject(); register.put("index", index); @@ -164,14 +164,14 @@ public class RegisterSet implements Target, JSONSerialisable { RegisterSet registerSet = new RegisterSet(); - JSONArray registers = (JSONArray)json.get("registers"); + JSONArray registers = (JSONArray) json.get("registers"); - for(JSONObject jsonRegister : (ArrayList)registers){ + for (JSONObject jsonRegister : (ArrayList) registers) { - Register register = new Register((String)jsonRegister.get("name")); - register.setValue((int)(long)jsonRegister.get("value")); + Register register = new Register((String) jsonRegister.get("name")); + register.setValue((int) (long) jsonRegister.get("value")); - registerSet.registers.put((int)(long)jsonRegister.get("index"), register); + registerSet.registers.put((int) (long) jsonRegister.get("index"), register); } @@ -182,7 +182,7 @@ public class RegisterSet implements Target, JSONSerialisable { public String toString() { String str = ""; - for(Integer index: registers.keySet()){ + for (Integer index : registers.keySet()) { str += index + " " + registers.get(index).getName() + "=" + Util.toHex(registers.get(index).getValue()) + "\n"; } diff --git a/Server/src/net/simon987/server/assembly/Segment.java b/Server/src/main/java/net/simon987/server/assembly/Segment.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Segment.java rename to Server/src/main/java/net/simon987/server/assembly/Segment.java diff --git a/Server/src/net/simon987/server/assembly/Status.java b/Server/src/main/java/net/simon987/server/assembly/Status.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Status.java rename to Server/src/main/java/net/simon987/server/assembly/Status.java diff --git a/Server/src/net/simon987/server/assembly/Target.java b/Server/src/main/java/net/simon987/server/assembly/Target.java similarity index 100% rename from Server/src/net/simon987/server/assembly/Target.java rename to Server/src/main/java/net/simon987/server/assembly/Target.java diff --git a/Server/src/net/simon987/server/assembly/Util.java b/Server/src/main/java/net/simon987/server/assembly/Util.java similarity index 98% rename from Server/src/net/simon987/server/assembly/Util.java rename to Server/src/main/java/net/simon987/server/assembly/Util.java index d67c5b3..cffafa2 100755 --- a/Server/src/net/simon987/server/assembly/Util.java +++ b/Server/src/main/java/net/simon987/server/assembly/Util.java @@ -41,7 +41,7 @@ public class Util { return s & 0x0000FFFF; } - public static String toHex(int a){ + public static String toHex(int a) { return String.format("%04X ", uShort(a)); } diff --git a/Server/src/net/simon987/server/assembly/exception/AssemblyException.java b/Server/src/main/java/net/simon987/server/assembly/exception/AssemblyException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/AssemblyException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/AssemblyException.java diff --git a/Server/src/net/simon987/server/assembly/exception/CancelledException.java b/Server/src/main/java/net/simon987/server/assembly/exception/CancelledException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/CancelledException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/CancelledException.java diff --git a/Server/src/net/simon987/server/assembly/exception/DuplicateSegmentException.java b/Server/src/main/java/net/simon987/server/assembly/exception/DuplicateSegmentException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/DuplicateSegmentException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/DuplicateSegmentException.java diff --git a/Server/src/net/simon987/server/assembly/exception/EmptyLineException.java b/Server/src/main/java/net/simon987/server/assembly/exception/EmptyLineException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/EmptyLineException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/EmptyLineException.java diff --git a/Server/src/net/simon987/server/assembly/exception/IllegalOperandException.java b/Server/src/main/java/net/simon987/server/assembly/exception/IllegalOperandException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/IllegalOperandException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/IllegalOperandException.java diff --git a/Server/src/net/simon987/server/assembly/exception/InvalidMnemonicException.java b/Server/src/main/java/net/simon987/server/assembly/exception/InvalidMnemonicException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/InvalidMnemonicException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/InvalidMnemonicException.java diff --git a/Server/src/net/simon987/server/assembly/exception/InvalidOperandException.java b/Server/src/main/java/net/simon987/server/assembly/exception/InvalidOperandException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/InvalidOperandException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/InvalidOperandException.java diff --git a/Server/src/net/simon987/server/assembly/exception/PseudoInstructionException.java b/Server/src/main/java/net/simon987/server/assembly/exception/PseudoInstructionException.java similarity index 100% rename from Server/src/net/simon987/server/assembly/exception/PseudoInstructionException.java rename to Server/src/main/java/net/simon987/server/assembly/exception/PseudoInstructionException.java diff --git a/Server/src/net/simon987/server/assembly/instruction/AddInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/AddInstruction.java similarity index 87% rename from Server/src/net/simon987/server/assembly/instruction/AddInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/AddInstruction.java index 1ab1534..0da3599 100755 --- a/Server/src/net/simon987/server/assembly/instruction/AddInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/AddInstruction.java @@ -8,8 +8,8 @@ import net.simon987.server.assembly.Util; /** * Add two numbers together, the result is stored in the destination operand *

- * ADD A, B - * A = A + B + * ADD A, B + * A = A + B *

*/ public class AddInstruction extends Instruction { @@ -39,8 +39,8 @@ public class AddInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); return add(a, b, status, dst, dstIndex); } @@ -48,8 +48,8 @@ public class AddInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; return add(a, b, status, dst, dstIndex); } diff --git a/Server/src/net/simon987/server/assembly/instruction/AndInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/AndInstruction.java similarity index 87% rename from Server/src/net/simon987/server/assembly/instruction/AndInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/AndInstruction.java index 1df2557..6e8e393 100755 --- a/Server/src/net/simon987/server/assembly/instruction/AndInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/AndInstruction.java @@ -8,8 +8,8 @@ import net.simon987.server.assembly.Util; /** * AND two numbers together, the result is stored in the destination operand *

- * AND A, B - * A = A & B + * AND A, B + * A = A & B *

* FLAGS: OF=0 S=* Z=* X=0 */ @@ -27,8 +27,8 @@ public class AndInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a =(char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = (a & b); @@ -45,8 +45,8 @@ public class AndInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = (a & b); diff --git a/Server/src/net/simon987/server/assembly/instruction/BrkInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/BrkInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/BrkInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/BrkInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/CallInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/CallInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/CallInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/CallInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/CmpInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/CmpInstruction.java similarity index 89% rename from Server/src/net/simon987/server/assembly/instruction/CmpInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/CmpInstruction.java index 5eeb138..313f367 100644 --- a/Server/src/net/simon987/server/assembly/instruction/CmpInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/CmpInstruction.java @@ -23,8 +23,8 @@ public class CmpInstruction extends Instruction { public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = a - b; @@ -40,8 +40,8 @@ public class CmpInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = a - b; diff --git a/Server/src/net/simon987/server/assembly/instruction/DivInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/DivInstruction.java similarity index 73% rename from Server/src/net/simon987/server/assembly/instruction/DivInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/DivInstruction.java index 217bc3f..77a6912 100644 --- a/Server/src/net/simon987/server/assembly/instruction/DivInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/DivInstruction.java @@ -28,16 +28,16 @@ public class DivInstruction extends Instruction { public Status execute(Target src, int srcIndex, Status status) { //Source = Y:A - int source = ((((char)cpu.getRegisterSet().getRegister("Y").getValue() & 0xFFFF) << 16)) | - ((char)cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF); + int source = ((((char) cpu.getRegisterSet().getRegister("Y").getValue() & 0xFFFF) << 16)) | + ((char) cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF); if (src.get(srcIndex) == 0) { //Division by 0 status.setBreakFlag(true); status.setErrorFlag(true); } else { - cpu.getRegisterSet().getRegister("A").setValue((char)(source / (char)src.get(srcIndex))); - cpu.getRegisterSet().getRegister("Y").setValue((char)(source % (char)src.get(srcIndex))); + cpu.getRegisterSet().getRegister("A").setValue((char) (source / (char) src.get(srcIndex))); + cpu.getRegisterSet().getRegister("Y").setValue((char) (source % (char) src.get(srcIndex))); } return status; @@ -48,16 +48,16 @@ public class DivInstruction extends Instruction { //Source = Y:A - int source = ((((char)cpu.getRegisterSet().getRegister("Y").getValue() & 0xFFFF) << 16)) | - ((char)cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF); + int source = ((((char) cpu.getRegisterSet().getRegister("Y").getValue() & 0xFFFF) << 16)) | + ((char) cpu.getRegisterSet().getRegister("A").getValue() & 0xFFFF); if (src == 0) { //Division by 0 status.setBreakFlag(true); status.setErrorFlag(true); } else { - cpu.getRegisterSet().getRegister("A").setValue((char)(source / (char)src)); - cpu.getRegisterSet().getRegister("Y").setValue((char)(source % (char)src)); + cpu.getRegisterSet().getRegister("A").setValue((char) (source / (char) src)); + cpu.getRegisterSet().getRegister("Y").setValue((char) (source % (char) src)); } diff --git a/Server/src/net/simon987/server/assembly/instruction/HwiInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/HwiInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/HwiInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/HwiInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/HwqInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/HwqInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/HwqInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/HwqInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JcInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JcInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JcInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JcInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JgInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JgInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JgInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JgInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JgeInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JgeInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JgeInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JgeInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JlInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JlInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JlInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JlInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JleInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JleInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JleInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JleInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JmpInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JmpInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JmpInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JmpInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JncInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JncInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JncInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JncInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JnoInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JnoInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JnoInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JnoInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JnsInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JnsInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JnsInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JnsInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JnzInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JnzInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JnzInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JnzInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JoInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JoInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JoInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JoInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JsInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JsInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JsInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JsInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/JzInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/JzInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/JzInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/JzInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/LeaInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/LeaInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/LeaInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/LeaInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/MovInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/MovInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/MovInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/MovInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/MulInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/MulInstruction.java similarity index 96% rename from Server/src/net/simon987/server/assembly/instruction/MulInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/MulInstruction.java index 81d43d1..774ab66 100644 --- a/Server/src/net/simon987/server/assembly/instruction/MulInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/MulInstruction.java @@ -18,7 +18,7 @@ public class MulInstruction extends Instruction { @Override public Status execute(Target src, int srcIndex, Status status) { - int result = cpu.getRegisterSet().getRegister("A").getValue() * (char)src.get(srcIndex); + int result = cpu.getRegisterSet().getRegister("A").getValue() * (char) src.get(srcIndex); int hWord = Util.getHigherWord(result); if (hWord != 0) { @@ -37,7 +37,7 @@ public class MulInstruction extends Instruction { public Status execute(int src, Status status) { - int result = cpu.getRegisterSet().getRegister("A").getValue() * (char)src; + int result = cpu.getRegisterSet().getRegister("A").getValue() * (char) src; int hWord = Util.getHigherWord(result); if (hWord != 0) { diff --git a/Server/src/net/simon987/server/assembly/instruction/NegInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/NegInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/NegInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/NegInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/NopInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/NopInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/NopInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/NopInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/NotInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/NotInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/NotInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/NotInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/OrInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/OrInstruction.java similarity index 88% rename from Server/src/net/simon987/server/assembly/instruction/OrInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/OrInstruction.java index e17a314..9f42639 100644 --- a/Server/src/net/simon987/server/assembly/instruction/OrInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/OrInstruction.java @@ -22,8 +22,8 @@ public class OrInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = (a | b); @@ -40,8 +40,8 @@ public class OrInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = (a | b); diff --git a/Server/src/net/simon987/server/assembly/instruction/PopInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/PopInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/PopInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/PopInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/PushInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/PushInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/PushInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/PushInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/RclInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/RclInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/RclInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/RclInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/RcrInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/RcrInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/RcrInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/RcrInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/RetInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/RetInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/RetInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/RetInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/RolInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/RolInstruction.java similarity index 96% rename from Server/src/net/simon987/server/assembly/instruction/RolInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/RolInstruction.java index b17a491..3afbf27 100644 --- a/Server/src/net/simon987/server/assembly/instruction/RolInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/RolInstruction.java @@ -5,8 +5,8 @@ import net.simon987.server.assembly.Status; import net.simon987.server.assembly.Target; /** - * +-----------------+ - * | | + * +-----------------+ + * | | * CF < 0<0<0<0<0<0<0<0 <-+ */ public class RolInstruction extends Instruction { diff --git a/Server/src/net/simon987/server/assembly/instruction/RorInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/RorInstruction.java similarity index 94% rename from Server/src/net/simon987/server/assembly/instruction/RorInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/RorInstruction.java index b72c5ff..749cfc2 100644 --- a/Server/src/net/simon987/server/assembly/instruction/RorInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/RorInstruction.java @@ -5,10 +5,9 @@ import net.simon987.server.assembly.Status; import net.simon987.server.assembly.Target; /** - * +-----------------+ - * | | - * +-> 0>0>0>0>0>0>0>0 > CF - * + * +-----------------+ + * | | + * +-> 0>0>0>0>0>0>0>0 > CF */ public class RorInstruction extends Instruction { diff --git a/Server/src/net/simon987/server/assembly/instruction/SalInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/SalInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/SalInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/SalInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/SarInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/SarInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/SarInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/SarInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/ShlInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/ShlInstruction.java similarity index 89% rename from Server/src/net/simon987/server/assembly/instruction/ShlInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/ShlInstruction.java index 5b30846..d47ba79 100644 --- a/Server/src/net/simon987/server/assembly/instruction/ShlInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/ShlInstruction.java @@ -22,8 +22,8 @@ public class ShlInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int count = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int count = (char) src.get(srcIndex); int result = a << count; @@ -39,8 +39,8 @@ public class ShlInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int count = (char)src; + int a = (char) dst.get(dstIndex); + int count = (char) src; int result = a << count; diff --git a/Server/src/net/simon987/server/assembly/instruction/ShrInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/ShrInstruction.java similarity index 91% rename from Server/src/net/simon987/server/assembly/instruction/ShrInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/ShrInstruction.java index 98f421d..b698e4e 100644 --- a/Server/src/net/simon987/server/assembly/instruction/ShrInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/ShrInstruction.java @@ -22,8 +22,8 @@ public class ShrInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int count = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int count = (char) src.get(srcIndex); int result = a >> count; @@ -52,8 +52,8 @@ public class ShrInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int count = (char)src; + int a = (char) dst.get(dstIndex); + int count = (char) src; int result = a >> count; diff --git a/Server/src/net/simon987/server/assembly/instruction/SubInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/SubInstruction.java similarity index 89% rename from Server/src/net/simon987/server/assembly/instruction/SubInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/SubInstruction.java index fdaef41..cd28cd5 100755 --- a/Server/src/net/simon987/server/assembly/instruction/SubInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/SubInstruction.java @@ -22,8 +22,8 @@ public class SubInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = a - b; @@ -40,8 +40,8 @@ public class SubInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = a - b; diff --git a/Server/src/net/simon987/server/assembly/instruction/TestInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/TestInstruction.java similarity index 88% rename from Server/src/net/simon987/server/assembly/instruction/TestInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/TestInstruction.java index 0386013..94f759e 100644 --- a/Server/src/net/simon987/server/assembly/instruction/TestInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/TestInstruction.java @@ -22,8 +22,8 @@ public class TestInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = (a & b); @@ -37,8 +37,8 @@ public class TestInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = (a & b); diff --git a/Server/src/net/simon987/server/assembly/instruction/XchgInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/XchgInstruction.java similarity index 100% rename from Server/src/net/simon987/server/assembly/instruction/XchgInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/XchgInstruction.java diff --git a/Server/src/net/simon987/server/assembly/instruction/XorInstruction.java b/Server/src/main/java/net/simon987/server/assembly/instruction/XorInstruction.java similarity index 88% rename from Server/src/net/simon987/server/assembly/instruction/XorInstruction.java rename to Server/src/main/java/net/simon987/server/assembly/instruction/XorInstruction.java index b9a8c2e..7f3d827 100644 --- a/Server/src/net/simon987/server/assembly/instruction/XorInstruction.java +++ b/Server/src/main/java/net/simon987/server/assembly/instruction/XorInstruction.java @@ -20,8 +20,8 @@ public class XorInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, Target src, int srcIndex, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src.get(srcIndex); + int a = (char) dst.get(dstIndex); + int b = (char) src.get(srcIndex); int result = (a ^ b); @@ -38,8 +38,8 @@ public class XorInstruction extends Instruction { @Override public Status execute(Target dst, int dstIndex, int src, Status status) { - int a = (char)dst.get(dstIndex); - int b = (char)src; + int a = (char) dst.get(dstIndex); + int b = (char) src; int result = (a ^ b); diff --git a/Server/src/net/simon987/server/event/CpuInitialisationEvent.java b/Server/src/main/java/net/simon987/server/event/CpuInitialisationEvent.java similarity index 84% rename from Server/src/net/simon987/server/event/CpuInitialisationEvent.java rename to Server/src/main/java/net/simon987/server/event/CpuInitialisationEvent.java index b2343eb..336e443 100644 --- a/Server/src/net/simon987/server/event/CpuInitialisationEvent.java +++ b/Server/src/main/java/net/simon987/server/event/CpuInitialisationEvent.java @@ -3,7 +3,7 @@ package net.simon987.server.event; import net.simon987.server.assembly.CPU; import net.simon987.server.user.User; -public class CpuInitialisationEvent extends GameEvent{ +public class CpuInitialisationEvent extends GameEvent { private User user; diff --git a/Server/src/net/simon987/server/event/GameEvent.java b/Server/src/main/java/net/simon987/server/event/GameEvent.java similarity index 100% rename from Server/src/net/simon987/server/event/GameEvent.java rename to Server/src/main/java/net/simon987/server/event/GameEvent.java diff --git a/Server/src/net/simon987/server/event/GameEventDispatcher.java b/Server/src/main/java/net/simon987/server/event/GameEventDispatcher.java similarity index 61% rename from Server/src/net/simon987/server/event/GameEventDispatcher.java rename to Server/src/main/java/net/simon987/server/event/GameEventDispatcher.java index 65de03b..c2e1271 100644 --- a/Server/src/net/simon987/server/event/GameEventDispatcher.java +++ b/Server/src/main/java/net/simon987/server/event/GameEventDispatcher.java @@ -12,10 +12,10 @@ public class GameEventDispatcher { this.pluginManager = pluginManager; } - public void dispatch(GameEvent event){ - for(ServerPlugin plugin: pluginManager.getPlugins()){ - for(GameEventListener listener : plugin.getListeners()){ - if(event.getClass().equals(listener.getListenedEventType())){ + public void dispatch(GameEvent event) { + for (ServerPlugin plugin : pluginManager.getPlugins()) { + for (GameEventListener listener : plugin.getListeners()) { + if (event.getClass().equals(listener.getListenedEventType())) { listener.handle(event); } } diff --git a/Server/src/net/simon987/server/event/GameEventListener.java b/Server/src/main/java/net/simon987/server/event/GameEventListener.java similarity index 100% rename from Server/src/net/simon987/server/event/GameEventListener.java rename to Server/src/main/java/net/simon987/server/event/GameEventListener.java diff --git a/Server/src/main/java/net/simon987/server/event/TickEvent.java b/Server/src/main/java/net/simon987/server/event/TickEvent.java new file mode 100644 index 0000000..55bab2e --- /dev/null +++ b/Server/src/main/java/net/simon987/server/event/TickEvent.java @@ -0,0 +1,14 @@ +package net.simon987.server.event; + +public class TickEvent extends GameEvent { + + long time; + + public TickEvent(long time) { + this.time = time; + } + + public long getTime() { + return time; + } +} diff --git a/Server/src/net/simon987/server/event/UserCreationEvent.java b/Server/src/main/java/net/simon987/server/event/UserCreationEvent.java similarity index 100% rename from Server/src/net/simon987/server/event/UserCreationEvent.java rename to Server/src/main/java/net/simon987/server/event/UserCreationEvent.java diff --git a/Server/src/net/simon987/server/event/WorldGenerationEvent.java b/Server/src/main/java/net/simon987/server/event/WorldGenerationEvent.java similarity index 76% rename from Server/src/net/simon987/server/event/WorldGenerationEvent.java rename to Server/src/main/java/net/simon987/server/event/WorldGenerationEvent.java index 2f8eb8f..62f7670 100644 --- a/Server/src/net/simon987/server/event/WorldGenerationEvent.java +++ b/Server/src/main/java/net/simon987/server/event/WorldGenerationEvent.java @@ -8,8 +8,8 @@ public class WorldGenerationEvent extends GameEvent { setSource(world); } - public World getWorld(){ - return (World)getSource(); + public World getWorld() { + return (World) getSource(); } } diff --git a/Server/src/main/java/net/simon987/server/event/WorldUpdateEvent.java b/Server/src/main/java/net/simon987/server/event/WorldUpdateEvent.java new file mode 100644 index 0000000..aa6c3eb --- /dev/null +++ b/Server/src/main/java/net/simon987/server/event/WorldUpdateEvent.java @@ -0,0 +1,16 @@ +package net.simon987.server.event; + +import net.simon987.server.game.World; + +public class WorldUpdateEvent extends GameEvent { + + private World world; + + public WorldUpdateEvent(World world) { + this.world = world; + } + + public World getWorld() { + return world; + } +} diff --git a/Server/src/main/java/net/simon987/server/game/Action.java b/Server/src/main/java/net/simon987/server/game/Action.java new file mode 100644 index 0000000..2b35c92 --- /dev/null +++ b/Server/src/main/java/net/simon987/server/game/Action.java @@ -0,0 +1,10 @@ +package net.simon987.server.game; + +public enum Action { + IDLE, + DIGGING, + WALKING, + WITHDRAWING, + DEPOSITING + +} diff --git a/Server/src/net/simon987/server/game/ControllableUnit.java b/Server/src/main/java/net/simon987/server/game/ControllableUnit.java similarity index 100% rename from Server/src/net/simon987/server/game/ControllableUnit.java rename to Server/src/main/java/net/simon987/server/game/ControllableUnit.java diff --git a/Server/src/net/simon987/server/game/Direction.java b/Server/src/main/java/net/simon987/server/game/Direction.java similarity index 51% rename from Server/src/net/simon987/server/game/Direction.java rename to Server/src/main/java/net/simon987/server/game/Direction.java index ec244c6..1c0da0f 100755 --- a/Server/src/net/simon987/server/game/Direction.java +++ b/Server/src/main/java/net/simon987/server/game/Direction.java @@ -36,4 +36,26 @@ public enum Direction { return null; } } + + /** + * Get the direction so that the object at (x1, y2) faces the object at (x2, y2), + * assumes that the objects are 1 tile away (manhattan distance) + * + * @return the Direction of the first coordinates so that it faces the second coordinates + */ + public static Direction getFacing(int x1, int y1, int x2, int y2) { + + if (x2 < x1) { + return WEST; + } else if (x2 > x1) { + return EAST; + } else if (y2 < y1) { + return NORTH; + } else if (y2 > y1) { + return SOUTH; + } else { + return null; + } + + } } diff --git a/Server/src/net/simon987/server/game/EffectType.java b/Server/src/main/java/net/simon987/server/game/EffectType.java similarity index 100% rename from Server/src/net/simon987/server/game/EffectType.java rename to Server/src/main/java/net/simon987/server/game/EffectType.java diff --git a/Server/src/net/simon987/server/game/GameEffect.java b/Server/src/main/java/net/simon987/server/game/GameEffect.java similarity index 95% rename from Server/src/net/simon987/server/game/GameEffect.java rename to Server/src/main/java/net/simon987/server/game/GameEffect.java index 23cd743..22079c1 100644 --- a/Server/src/net/simon987/server/game/GameEffect.java +++ b/Server/src/main/java/net/simon987/server/game/GameEffect.java @@ -8,7 +8,7 @@ import org.json.simple.JSONObject; *
* These effects are purely visual and could be changed or ignored by the client */ -public class GameEffect implements JSONSerialisable{ +public class GameEffect implements JSONSerialisable { /** diff --git a/Server/src/net/simon987/server/game/GameObject.java b/Server/src/main/java/net/simon987/server/game/GameObject.java similarity index 94% rename from Server/src/net/simon987/server/game/GameObject.java rename to Server/src/main/java/net/simon987/server/game/GameObject.java index 8b45b53..09fc8b1 100755 --- a/Server/src/net/simon987/server/game/GameObject.java +++ b/Server/src/main/java/net/simon987/server/game/GameObject.java @@ -69,7 +69,7 @@ public abstract class GameObject implements JSONSerialisable { } //Check if out of World bounds / collision - if(newX < 0) { + if (newX < 0) { //Move object to adjacent World (left) World leftWorld; if (world.getX() == 0) { @@ -80,14 +80,14 @@ public abstract class GameObject implements JSONSerialisable { leftWorld = GameServer.INSTANCE.getGameUniverse().getWorld(world.getX() - 1, world.getY()); } - if(leftWorld != null){ + if (leftWorld != null) { world.getGameObjects().remove(this); leftWorld.getGameObjects().add(this); setWorld(leftWorld); x = World.WORLD_SIZE - 1; } - } else if(newX >= World.WORLD_SIZE) { + } else if (newX >= World.WORLD_SIZE) { //Move object to adjacent World (right) World rightWorld; if (world.getX() == GameServer.INSTANCE.getGameUniverse().getMaxWidth()) { @@ -97,7 +97,7 @@ public abstract class GameObject implements JSONSerialisable { rightWorld = GameServer.INSTANCE.getGameUniverse().getWorld(world.getX() + 1, world.getY()); } - if(rightWorld != null){ + if (rightWorld != null) { world.getGameObjects().remove(this); rightWorld.getGameObjects().add(this); setWorld(rightWorld); @@ -115,7 +115,7 @@ public abstract class GameObject implements JSONSerialisable { upWorld = GameServer.INSTANCE.getGameUniverse().getWorld(world.getX(), world.getY() - 1); } - if(upWorld != null){ + if (upWorld != null) { world.getGameObjects().remove(this); upWorld.getGameObjects().add(this); setWorld(upWorld); @@ -217,12 +217,12 @@ public abstract class GameObject implements JSONSerialisable { public static GameObject deserialize(JSONObject objJson) { - for(ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()){ + for (ServerPlugin plugin : GameServer.INSTANCE.getPluginManager().getPlugins()) { - if(plugin instanceof GameObjectDeserializer){ + if (plugin instanceof GameObjectDeserializer) { GameObject object = ((GameObjectDeserializer) plugin).deserializeObject(objJson); - if(object != null){ + if (object != null) { return object; } } diff --git a/Server/src/net/simon987/server/game/GameUniverse.java b/Server/src/main/java/net/simon987/server/game/GameUniverse.java similarity index 93% rename from Server/src/net/simon987/server/game/GameUniverse.java rename to Server/src/main/java/net/simon987/server/game/GameUniverse.java index 9767f6e..4c850e0 100644 --- a/Server/src/net/simon987/server/game/GameUniverse.java +++ b/Server/src/main/java/net/simon987/server/game/GameUniverse.java @@ -19,7 +19,7 @@ import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; -public class GameUniverse implements JSONSerialisable{ +public class GameUniverse implements JSONSerialisable { private ArrayList worlds; private ArrayList users; @@ -91,17 +91,17 @@ public class GameUniverse implements JSONSerialisable{ return null; } - public User getOrCreateUser(String username, boolean makeControlledUnit){ + public User getOrCreateUser(String username, boolean makeControlledUnit) { User user = getUser(username); - if(user != null) { + if (user != null) { return user; } else { LogManager.LOGGER.info("Creating new User: " + username); try { - if(makeControlledUnit) { + if (makeControlledUnit) { user = new User(); user.setCpu(new CPU(GameServer.INSTANCE.getConfig(), user)); user.setUserCode(GameServer.INSTANCE.getConfig().getString("new_user_code")); @@ -149,8 +149,8 @@ public class GameUniverse implements JSONSerialisable{ // for (World world : worlds) { - for(GameObject object : world.getGameObjects()){ - if(object.getObjectId() == id){ + for (GameObject object : world.getGameObjects()) { + if (object.getObjectId() == id) { return object; } } @@ -160,7 +160,7 @@ public class GameUniverse implements JSONSerialisable{ } - public void incrementTime(){ + public void incrementTime() { time++; } @@ -179,13 +179,13 @@ public class GameUniverse implements JSONSerialisable{ JSONArray worlds = new JSONArray(); ArrayList worlds_ = new ArrayList<>(this.worlds); - for (World world : worlds_){ + for (World world : worlds_) { worlds.add(world.serialise()); } JSONArray users = new JSONArray(); ArrayList users_ = new ArrayList(this.users); - for (User user : users_){ + for (User user : users_) { if (!user.isGuest()) { users.add(user.serialise()); } @@ -203,9 +203,10 @@ public class GameUniverse implements JSONSerialisable{ /** * Load game universe from JSON save file + * * @param file JSON save file */ - public void load(File file){ + public void load(File file) { JSONParser parser = new JSONParser(); @@ -248,7 +249,7 @@ public class GameUniverse implements JSONSerialisable{ int i = 1; while (i < 1000) { //todo get Max guest user cap from config - if(getUser("guest" + String.valueOf(i)) != null) { + if (getUser("guest" + String.valueOf(i)) != null) { i++; continue; } diff --git a/Server/src/net/simon987/server/game/InventoryHolder.java b/Server/src/main/java/net/simon987/server/game/InventoryHolder.java similarity index 98% rename from Server/src/net/simon987/server/game/InventoryHolder.java rename to Server/src/main/java/net/simon987/server/game/InventoryHolder.java index f60b2cd..3900316 100644 --- a/Server/src/net/simon987/server/game/InventoryHolder.java +++ b/Server/src/main/java/net/simon987/server/game/InventoryHolder.java @@ -12,6 +12,7 @@ public interface InventoryHolder { /** * Take an item from the inventory + * * @param item Desired item id (see MarConstants.ITEM_*) */ void takeItem(int item); diff --git a/Server/src/net/simon987/server/game/TileMap.java b/Server/src/main/java/net/simon987/server/game/TileMap.java similarity index 96% rename from Server/src/net/simon987/server/game/TileMap.java rename to Server/src/main/java/net/simon987/server/game/TileMap.java index 126b0a0..f6faaba 100755 --- a/Server/src/net/simon987/server/game/TileMap.java +++ b/Server/src/main/java/net/simon987/server/game/TileMap.java @@ -102,11 +102,11 @@ public class TileMap implements JSONSerialisable { public JSONObject serialise() { JSONObject json = new JSONObject(); - byte[] terrain = new byte[width*width]; + byte[] terrain = new byte[width * width]; for (int x = 0; x < World.WORLD_SIZE; x++) { for (int y = 0; y < World.WORLD_SIZE; y++) { - terrain[x * width + y] = (byte)tiles[x][y]; + terrain[x * width + y] = (byte) tiles[x][y]; } } try { @@ -133,7 +133,7 @@ public class TileMap implements JSONSerialisable { TileMap tileMap = new TileMap(World.WORLD_SIZE, World.WORLD_SIZE); - byte[] compressedBytes = Base64.getDecoder().decode((String)object.get("zipTerrain")); + byte[] compressedBytes = Base64.getDecoder().decode((String) object.get("zipTerrain")); try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); diff --git a/Server/src/net/simon987/server/game/Updatable.java b/Server/src/main/java/net/simon987/server/game/Updatable.java similarity index 100% rename from Server/src/net/simon987/server/game/Updatable.java rename to Server/src/main/java/net/simon987/server/game/Updatable.java diff --git a/Server/src/net/simon987/server/game/World.java b/Server/src/main/java/net/simon987/server/game/World.java similarity index 86% rename from Server/src/net/simon987/server/game/World.java rename to Server/src/main/java/net/simon987/server/game/World.java index e37eb6f..b0dcb4a 100644 --- a/Server/src/net/simon987/server/game/World.java +++ b/Server/src/main/java/net/simon987/server/game/World.java @@ -1,5 +1,8 @@ package net.simon987.server.game; +import net.simon987.server.GameServer; +import net.simon987.server.event.GameEvent; +import net.simon987.server.event.WorldUpdateEvent; import net.simon987.server.game.pathfinding.Pathfinder; import net.simon987.server.io.JSONSerialisable; import net.simon987.server.logging.LogManager; @@ -10,7 +13,7 @@ import java.awt.*; import java.util.ArrayList; import java.util.Random; -public class World implements JSONSerialisable{ +public class World implements JSONSerialisable { /** * Size of the side of a world @@ -34,7 +37,7 @@ public class World implements JSONSerialisable{ this.tileMap = tileMap; } - private World(){ + private World() { } @@ -63,12 +66,16 @@ public class World implements JSONSerialisable{ return gameObjects; } - public void update(){ + public void update() { + + //Dispatch update event + GameEvent event = new WorldUpdateEvent(this); + GameServer.INSTANCE.getEventDispatcher().dispatch(event); //Ignore cancellation ArrayList gameObjects_ = new ArrayList<>(gameObjects); - for(GameObject object : gameObjects_){ - if(object.isDead()){ + for (GameObject object : gameObjects_) { + if (object.isDead()) { gameObjects.remove(object); LogManager.LOGGER.fine("Removed object " + object + " id: " + object.getObjectId()); } @@ -116,12 +123,12 @@ public class World implements JSONSerialisable{ public static World deserialize(JSONObject json) { World world = new World(); - world.x = (int)(long)json.get("x"); - world.y = (int)(long)json.get("y"); + world.x = (int) (long) json.get("x"); + world.y = (int) (long) json.get("y"); - world.tileMap = TileMap.deserialize((JSONObject)json.get("terrain")); + world.tileMap = TileMap.deserialize((JSONObject) json.get("terrain")); - for(JSONObject objJson : (ArrayList)json.get("objects")){ + for (JSONObject objJson : (ArrayList) json.get("objects")) { GameObject object = GameObject.deserialize(objJson); @@ -183,7 +190,7 @@ public class World implements JSONSerialisable{ * * @return random non-blocked tile */ - public Point getRandomPassableTile(){ + public Point getRandomPassableTile() { Random random = new Random(); int counter = 0; @@ -198,11 +205,11 @@ public class World implements JSONSerialisable{ int rx = random.nextInt(World.WORLD_SIZE); int ry = random.nextInt(World.WORLD_SIZE); - if(!isTileBlocked(rx, ry)){ + if (!isTileBlocked(rx, ry)) { Object path = Pathfinder.findPath(this, rx, ry, 0, 6, 0); - if(path != null) { + if (path != null) { return new Point(rx, ry); } } diff --git a/Server/src/net/simon987/server/game/WorldGenerator.java b/Server/src/main/java/net/simon987/server/game/WorldGenerator.java similarity index 99% rename from Server/src/net/simon987/server/game/WorldGenerator.java rename to Server/src/main/java/net/simon987/server/game/WorldGenerator.java index 8d2f105..dfe4783 100755 --- a/Server/src/net/simon987/server/game/WorldGenerator.java +++ b/Server/src/main/java/net/simon987/server/game/WorldGenerator.java @@ -92,7 +92,7 @@ public class WorldGenerator { /** * Create a randomly generated World */ - public World generateWorld(int locX, int locY) throws CancelledException{ + public World generateWorld(int locX, int locY) throws CancelledException { LogManager.LOGGER.info("Generating random world"); Random random = new Random(); @@ -186,7 +186,7 @@ public class WorldGenerator { GameEvent event = new WorldGenerationEvent(world); GameServer.INSTANCE.getEventDispatcher().dispatch(event); - if(event.isCancelled()){ + if (event.isCancelled()) { throw new CancelledException(); } diff --git a/Server/src/net/simon987/server/game/pathfinding/Node.java b/Server/src/main/java/net/simon987/server/game/pathfinding/Node.java similarity index 100% rename from Server/src/net/simon987/server/game/pathfinding/Node.java rename to Server/src/main/java/net/simon987/server/game/pathfinding/Node.java diff --git a/Server/src/net/simon987/server/game/pathfinding/Pathfinder.java b/Server/src/main/java/net/simon987/server/game/pathfinding/Pathfinder.java similarity index 100% rename from Server/src/net/simon987/server/game/pathfinding/Pathfinder.java rename to Server/src/main/java/net/simon987/server/game/pathfinding/Pathfinder.java diff --git a/Server/src/net/simon987/server/game/pathfinding/SortedArrayList.java b/Server/src/main/java/net/simon987/server/game/pathfinding/SortedArrayList.java similarity index 100% rename from Server/src/net/simon987/server/game/pathfinding/SortedArrayList.java rename to Server/src/main/java/net/simon987/server/game/pathfinding/SortedArrayList.java diff --git a/Server/src/net/simon987/server/io/CpuHardwareDeserializer.java b/Server/src/main/java/net/simon987/server/io/CpuHardwareDeserializer.java similarity index 100% rename from Server/src/net/simon987/server/io/CpuHardwareDeserializer.java rename to Server/src/main/java/net/simon987/server/io/CpuHardwareDeserializer.java diff --git a/Server/src/net/simon987/server/io/DatabaseManager.java b/Server/src/main/java/net/simon987/server/io/DatabaseManager.java similarity index 100% rename from Server/src/net/simon987/server/io/DatabaseManager.java rename to Server/src/main/java/net/simon987/server/io/DatabaseManager.java diff --git a/Server/src/net/simon987/server/io/GameObjectDeserializer.java b/Server/src/main/java/net/simon987/server/io/GameObjectDeserializer.java similarity index 100% rename from Server/src/net/simon987/server/io/GameObjectDeserializer.java rename to Server/src/main/java/net/simon987/server/io/GameObjectDeserializer.java diff --git a/Server/src/net/simon987/server/io/JSONSerialisable.java b/Server/src/main/java/net/simon987/server/io/JSONSerialisable.java similarity index 100% rename from Server/src/net/simon987/server/io/JSONSerialisable.java rename to Server/src/main/java/net/simon987/server/io/JSONSerialisable.java diff --git a/Server/src/net/simon987/server/logging/GenericFormatter.java b/Server/src/main/java/net/simon987/server/logging/GenericFormatter.java similarity index 99% rename from Server/src/net/simon987/server/logging/GenericFormatter.java rename to Server/src/main/java/net/simon987/server/logging/GenericFormatter.java index a91d4cd..dc8924e 100755 --- a/Server/src/net/simon987/server/logging/GenericFormatter.java +++ b/Server/src/main/java/net/simon987/server/logging/GenericFormatter.java @@ -23,7 +23,6 @@ public class GenericFormatter extends Formatter { sb.append('\n'); - return sb.toString(); } } diff --git a/Server/src/net/simon987/server/logging/LogManager.java b/Server/src/main/java/net/simon987/server/logging/LogManager.java similarity index 100% rename from Server/src/net/simon987/server/logging/LogManager.java rename to Server/src/main/java/net/simon987/server/logging/LogManager.java diff --git a/Server/src/net/simon987/server/plugin/PluginManager.java b/Server/src/main/java/net/simon987/server/plugin/PluginManager.java similarity index 94% rename from Server/src/net/simon987/server/plugin/PluginManager.java rename to Server/src/main/java/net/simon987/server/plugin/PluginManager.java index 24210d6..aeb4303 100644 --- a/Server/src/net/simon987/server/plugin/PluginManager.java +++ b/Server/src/main/java/net/simon987/server/plugin/PluginManager.java @@ -20,24 +20,24 @@ public class PluginManager { this.plugins = new ArrayList<>(10); } - public void load(File pluginFile){ + public void load(File pluginFile) { LogManager.LOGGER.info("Loading plugin file " + pluginFile.getName()); - try{ + try { //Get the plugin config file from the archive ZipFile zipFile = new ZipFile(pluginFile); ZipEntry configEntry = zipFile.getEntry("plugin.properties"); - if(configEntry != null){ + if (configEntry != null) { InputStream stream = zipFile.getInputStream(configEntry); Properties config = new Properties(); config.load(stream); //Load the plugin - ClassLoader loader = URLClassLoader.newInstance(new URL[] {pluginFile.toURI().toURL() }); + ClassLoader loader = URLClassLoader.newInstance(new URL[]{pluginFile.toURI().toURL()}); Class aClass = Class.forName(config.getProperty("classpath"), true, loader); Class pluginClass = aClass.asSubclass(ServerPlugin.class); Constructor constructor = pluginClass.getConstructor(); diff --git a/Server/src/net/simon987/server/plugin/ServerPlugin.java b/Server/src/main/java/net/simon987/server/plugin/ServerPlugin.java similarity index 100% rename from Server/src/net/simon987/server/plugin/ServerPlugin.java rename to Server/src/main/java/net/simon987/server/plugin/ServerPlugin.java diff --git a/Server/src/net/simon987/server/user/User.java b/Server/src/main/java/net/simon987/server/user/User.java similarity index 84% rename from Server/src/net/simon987/server/user/User.java rename to Server/src/main/java/net/simon987/server/user/User.java index bf0c10b..6adc3ca 100755 --- a/Server/src/net/simon987/server/user/User.java +++ b/Server/src/main/java/net/simon987/server/user/User.java @@ -12,7 +12,7 @@ import org.json.simple.JSONObject; /** * Represents a User (or player) of the game */ -public class User implements JSONSerialisable{ +public class User implements JSONSerialisable { private String username; @@ -27,7 +27,7 @@ public class User implements JSONSerialisable{ public User() throws CancelledException { GameEvent event = new UserCreationEvent(this); GameServer.INSTANCE.getEventDispatcher().dispatch(event); - if(event.isCancelled()) { + if (event.isCancelled()) { throw new CancelledException(); } @@ -55,13 +55,13 @@ public class User implements JSONSerialisable{ public static User deserialize(JSONObject userJson) throws CancelledException { - User user = new User((ControllableUnit)GameServer.INSTANCE.getGameUniverse().getObject((int)(long)userJson.get("controlledUnit"))); - user.username = (String)userJson.get("username"); - user.userCode = (String)userJson.get("code"); + User user = new User((ControllableUnit) GameServer.INSTANCE.getGameUniverse().getObject((int) (long) userJson.get("controlledUnit"))); + user.username = (String) userJson.get("username"); + user.userCode = (String) userJson.get("code"); user.getControlledUnit().setParent(user); - user.cpu = CPU.deserialize((JSONObject)userJson.get("cpu"), user); + user.cpu = CPU.deserialize((JSONObject) userJson.get("cpu"), user); return user; } diff --git a/Server/src/net/simon987/server/webserver/CodeRequestHandler.java b/Server/src/main/java/net/simon987/server/webserver/CodeRequestHandler.java similarity index 91% rename from Server/src/net/simon987/server/webserver/CodeRequestHandler.java rename to Server/src/main/java/net/simon987/server/webserver/CodeRequestHandler.java index 33939da..273a3bb 100644 --- a/Server/src/net/simon987/server/webserver/CodeRequestHandler.java +++ b/Server/src/main/java/net/simon987/server/webserver/CodeRequestHandler.java @@ -7,11 +7,11 @@ public class CodeRequestHandler implements MessageHandler { @Override public void handle(OnlineUser user, JSONObject json) { - if(json.get("t").equals("codeRequest")){ + if (json.get("t").equals("codeRequest")) { LogManager.LOGGER.info("(WS) Code request from " + user.getUser().getUsername()); - if(user.isGuest()) { + if (user.isGuest()) { JSONObject response = new JSONObject(); @@ -31,7 +31,6 @@ public class CodeRequestHandler implements MessageHandler { } - } } } diff --git a/Server/src/net/simon987/server/webserver/CodeUploadHandler.java b/Server/src/main/java/net/simon987/server/webserver/CodeUploadHandler.java similarity index 90% rename from Server/src/net/simon987/server/webserver/CodeUploadHandler.java rename to Server/src/main/java/net/simon987/server/webserver/CodeUploadHandler.java index 2898ad6..520f6cd 100644 --- a/Server/src/net/simon987/server/webserver/CodeUploadHandler.java +++ b/Server/src/main/java/net/simon987/server/webserver/CodeUploadHandler.java @@ -10,16 +10,16 @@ public class CodeUploadHandler implements MessageHandler { @Override public void handle(OnlineUser user, JSONObject json) { - if(json.get("t").equals("uploadCode")){ + if (json.get("t").equals("uploadCode")) { LogManager.LOGGER.info("(WS) Code upload from " + user.getUser().getUsername()); - if(user.isGuest()) { + if (user.isGuest()) { //Ignore } else { //TODO Should we wait at the end of the tick to modify the CPU ? - user.getUser().setUserCode((String)json.get("code")); + user.getUser().setUserCode((String) json.get("code")); AssemblyResult ar = new Assembler(user.getUser().getCpu().getInstructionSet(), user.getUser().getCpu().getRegisterSet(), @@ -41,7 +41,6 @@ public class CodeUploadHandler implements MessageHandler { } - } } } diff --git a/Server/src/net/simon987/server/webserver/FloppyHandler.java b/Server/src/main/java/net/simon987/server/webserver/FloppyHandler.java similarity index 100% rename from Server/src/net/simon987/server/webserver/FloppyHandler.java rename to Server/src/main/java/net/simon987/server/webserver/FloppyHandler.java diff --git a/Server/src/net/simon987/server/webserver/KeypressHandler.java b/Server/src/main/java/net/simon987/server/webserver/KeypressHandler.java similarity index 77% rename from Server/src/net/simon987/server/webserver/KeypressHandler.java rename to Server/src/main/java/net/simon987/server/webserver/KeypressHandler.java index 9a2d395..89d247a 100644 --- a/Server/src/net/simon987/server/webserver/KeypressHandler.java +++ b/Server/src/main/java/net/simon987/server/webserver/KeypressHandler.java @@ -9,12 +9,12 @@ public class KeypressHandler implements MessageHandler { @Override public void handle(OnlineUser user, JSONObject json) { - if(!user.isGuest()) { - if(json.get("t").equals("k")){ + if (!user.isGuest()) { + if (json.get("t").equals("k")) { LogManager.LOGGER.info("(WS) Received keypress"); - int key = (int)(long)json.get("k"); + int key = (int) (long) json.get("k"); user.getUser().getControlledUnit().getKeyboardBuffer().add(key); } diff --git a/Server/src/net/simon987/server/webserver/MessageEventDispatcher.java b/Server/src/main/java/net/simon987/server/webserver/MessageEventDispatcher.java similarity index 100% rename from Server/src/net/simon987/server/webserver/MessageEventDispatcher.java rename to Server/src/main/java/net/simon987/server/webserver/MessageEventDispatcher.java diff --git a/Server/src/net/simon987/server/webserver/MessageHandler.java b/Server/src/main/java/net/simon987/server/webserver/MessageHandler.java similarity index 100% rename from Server/src/net/simon987/server/webserver/MessageHandler.java rename to Server/src/main/java/net/simon987/server/webserver/MessageHandler.java diff --git a/Server/src/net/simon987/server/webserver/ObjectsRequestHandler.java b/Server/src/main/java/net/simon987/server/webserver/ObjectsRequestHandler.java similarity index 95% rename from Server/src/net/simon987/server/webserver/ObjectsRequestHandler.java rename to Server/src/main/java/net/simon987/server/webserver/ObjectsRequestHandler.java index 2eb2038..767a45a 100644 --- a/Server/src/net/simon987/server/webserver/ObjectsRequestHandler.java +++ b/Server/src/main/java/net/simon987/server/webserver/ObjectsRequestHandler.java @@ -12,7 +12,6 @@ import java.util.ArrayList; public class ObjectsRequestHandler implements MessageHandler { - @Override public void handle(OnlineUser user, JSONObject json) { if (json.get("t").equals("object")) { @@ -37,8 +36,8 @@ public class ObjectsRequestHandler implements MessageHandler { for (GameObject object : gameObjects) { - objects.add(object.serialise()); - } + objects.add(object.serialise()); + } response.put("t", "object"); response.put("objects", objects); diff --git a/Server/src/net/simon987/server/webserver/OnlineUser.java b/Server/src/main/java/net/simon987/server/webserver/OnlineUser.java similarity index 100% rename from Server/src/net/simon987/server/webserver/OnlineUser.java rename to Server/src/main/java/net/simon987/server/webserver/OnlineUser.java diff --git a/Server/src/net/simon987/server/webserver/OnlineUserManager.java b/Server/src/main/java/net/simon987/server/webserver/OnlineUserManager.java similarity index 100% rename from Server/src/net/simon987/server/webserver/OnlineUserManager.java rename to Server/src/main/java/net/simon987/server/webserver/OnlineUserManager.java diff --git a/Server/src/net/simon987/server/webserver/SocketServer.java b/Server/src/main/java/net/simon987/server/webserver/SocketServer.java similarity index 98% rename from Server/src/net/simon987/server/webserver/SocketServer.java rename to Server/src/main/java/net/simon987/server/webserver/SocketServer.java index e81e8e0..dafee00 100644 --- a/Server/src/net/simon987/server/webserver/SocketServer.java +++ b/Server/src/main/java/net/simon987/server/webserver/SocketServer.java @@ -98,7 +98,7 @@ public class SocketServer extends WebSocketServer { LogManager.LOGGER.info("(WS) Received message from unauthenticated user " + conn.getRemoteSocketAddress()); //We expect a 128 characters long token - if(message.length() == 128) { + if (message.length() == 128) { String username = database.validateAuthToken(message); @@ -171,26 +171,25 @@ public class SocketServer extends WebSocketServer { if (user.getWebSocket().isOpen()) { - if(user.isGuest()) { + if (user.isGuest()) { user.getWebSocket().send(json.toJSONString()); } else { //Send keyboard updated buffer - try{ + try { ArrayList kbBuffer = user.getUser().getControlledUnit().getKeyboardBuffer(); JSONArray keys = new JSONArray(); keys.addAll(kbBuffer); json.put("keys", keys); //Send tick message user.getWebSocket().send(json.toJSONString()); - } catch (NullPointerException e){ + } catch (NullPointerException e) { //User is online but not completely initialised } } - } } diff --git a/Server/src/net/simon987/server/webserver/SocketServerDatabase.java b/Server/src/main/java/net/simon987/server/webserver/SocketServerDatabase.java similarity index 99% rename from Server/src/net/simon987/server/webserver/SocketServerDatabase.java rename to Server/src/main/java/net/simon987/server/webserver/SocketServerDatabase.java index e938b82..c457807 100644 --- a/Server/src/net/simon987/server/webserver/SocketServerDatabase.java +++ b/Server/src/main/java/net/simon987/server/webserver/SocketServerDatabase.java @@ -79,5 +79,4 @@ class SocketServerDatabase extends DatabaseManager { } - } diff --git a/Server/src/net/simon987/server/webserver/TerrainRequestHandler.java b/Server/src/main/java/net/simon987/server/webserver/TerrainRequestHandler.java similarity index 100% rename from Server/src/net/simon987/server/webserver/TerrainRequestHandler.java rename to Server/src/main/java/net/simon987/server/webserver/TerrainRequestHandler.java diff --git a/Server/src/net/simon987/server/webserver/UserInfoRequestHandler.java b/Server/src/main/java/net/simon987/server/webserver/UserInfoRequestHandler.java similarity index 90% rename from Server/src/net/simon987/server/webserver/UserInfoRequestHandler.java rename to Server/src/main/java/net/simon987/server/webserver/UserInfoRequestHandler.java index 6675bf6..8c84268 100644 --- a/Server/src/net/simon987/server/webserver/UserInfoRequestHandler.java +++ b/Server/src/main/java/net/simon987/server/webserver/UserInfoRequestHandler.java @@ -16,12 +16,12 @@ public class UserInfoRequestHandler implements MessageHandler { LogManager.LOGGER.info("(WS) User info request from " + user.getUser().getUsername()); JSONObject json = new JSONObject(); - if(user.isGuest()) { + if (user.isGuest()) { json.put("worldX", GameServer.INSTANCE.getConfig().getInt("new_user_worldX")); json.put("worldY", GameServer.INSTANCE.getConfig().getInt("new_user_worldY")); } else { - GameObject object = (GameObject)user.getUser().getControlledUnit(); + GameObject object = (GameObject) user.getUser().getControlledUnit(); json.put("worldX", object.getWorld().getX()); json.put("worldY", object.getWorld().getY()); diff --git a/Server/test/net/simon987/server/assembly/CPUTest.java b/Server/test/net/simon987/server/assembly/CPUTest.java index db6426b..2b899d4 100644 --- a/Server/test/net/simon987/server/assembly/CPUTest.java +++ b/Server/test/net/simon987/server/assembly/CPUTest.java @@ -23,7 +23,8 @@ public class CPUTest { cpu.reset(); cpu.getMemory().clear(); Random random = new Random(); - random.nextBytes(cpu.getMemory().getBytes()); + byte[] randomBytes = new byte[cpu.getMemory().getWords().length * 2]; + random.nextBytes(randomBytes); for (int machineCode = Character.MIN_VALUE; machineCode < Character.MAX_VALUE; machineCode++) { Instruction instruction = cpu.getInstructionSet().get(machineCode & 0x03F); // 0000 0000 00XX XXXX