diff --git a/src/main/java/com/comandante/creeper/Items/ItemDecayManager.java b/src/main/java/com/comandante/creeper/Items/ItemDecayManager.java index 73be57b049dbb0770f95a49fe026f722c5f1f884..93aa15c41ca0da66dfa1f86f525b9617c31b56fb 100644 --- a/src/main/java/com/comandante/creeper/Items/ItemDecayManager.java +++ b/src/main/java/com/comandante/creeper/Items/ItemDecayManager.java @@ -1,7 +1,7 @@ package com.comandante.creeper.Items; -import com.comandante.creeper.managers.EntityManager; -import com.comandante.creeper.model.CreeperEntity; +import com.comandante.creeper.entity.EntityManager; +import com.comandante.creeper.entity.CreeperEntity; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/comandante/creeper/Items/ItemType.java b/src/main/java/com/comandante/creeper/Items/ItemType.java index 41965b0573cd35e117785866218910bc63d6a63d..ae880049fe2f98e437eb1fefc70d9d2d5dfaf0c3 100644 --- a/src/main/java/com/comandante/creeper/Items/ItemType.java +++ b/src/main/java/com/comandante/creeper/Items/ItemType.java @@ -4,7 +4,7 @@ import java.util.Arrays; import java.util.List; import java.util.UUID; -import static com.comandante.creeper.model.Color.*; +import static com.comandante.creeper.server.Color.*; public enum ItemType { diff --git a/src/main/java/com/comandante/creeper/Main.java b/src/main/java/com/comandante/creeper/Main.java index 054b787d8ded15d9aef44ae4bd2be0263a97d3de..8c1fa10bd9b2616881856e78923f9f39a0149d8b 100644 --- a/src/main/java/com/comandante/creeper/Main.java +++ b/src/main/java/com/comandante/creeper/Main.java @@ -1,15 +1,15 @@ package com.comandante.creeper; -import com.comandante.creeper.builder.RoomBuilders; +import com.comandante.creeper.room.RoomBuilders; import com.comandante.creeper.command.CommandService; import com.comandante.creeper.command.DefaultCommandHandler; -import com.comandante.creeper.managers.EntityManager; +import com.comandante.creeper.entity.EntityManager; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.managers.PlayerManager; -import com.comandante.creeper.managers.RoomManager; -import com.comandante.creeper.model.PlayerMetadata; -import com.comandante.creeper.model.Stats; -import com.comandante.creeper.model.StatsBuilder; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.room.RoomManager; +import com.comandante.creeper.player.PlayerMetadata; +import com.comandante.creeper.stat.Stats; +import com.comandante.creeper.stat.StatsBuilder; import com.comandante.creeper.npc.Derper; import com.comandante.creeper.server.CreeperServer; import org.apache.commons.codec.binary.Base64; @@ -38,7 +38,7 @@ public class Main { playerManager.savePlayerMetadata(new PlayerMetadata("chris", "poop", new String(Base64.encodeBase64("chris".getBytes())), chrisBrianStats)); } - if (playerManager.getPlayerMetadata(createPlayerId("chris")) == null) { + if (playerManager.getPlayerMetadata(createPlayerId("brian")) == null) { System.out.println("Creating Brian User."); playerManager.savePlayerMetadata(new PlayerMetadata("brian", "poop", new String(Base64.encodeBase64("brian".getBytes())), chrisBrianStats)); } diff --git a/src/main/java/com/comandante/creeper/RandomMOTD.java b/src/main/java/com/comandante/creeper/RandomMOTD.java deleted file mode 100644 index aa23748fd1c137a25050437f02cc965eb7095625..0000000000000000000000000000000000000000 --- a/src/main/java/com/comandante/creeper/RandomMOTD.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.comandante.creeper; - - -public class RandomMOTD { - - -} diff --git a/src/main/java/com/comandante/creeper/command/commands/Command.java b/src/main/java/com/comandante/creeper/command/commands/Command.java index 904543e71399132fcea0821fda9c28e4ee1f8cb1..a2fdcaef8469f2ad33c764230fd7493ab5a4e00a 100644 --- a/src/main/java/com/comandante/creeper/command/commands/Command.java +++ b/src/main/java/com/comandante/creeper/command/commands/Command.java @@ -1,7 +1,7 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; +import com.comandante.creeper.player.Player; import com.google.common.collect.ImmutableList; import java.util.ArrayList; diff --git a/src/main/java/com/comandante/creeper/command/commands/DropCommand.java b/src/main/java/com/comandante/creeper/command/commands/DropCommand.java index 882ba73edc5416c6a3d3842a931b81aaad773af9..5166a1aeb5f781b4025baa593d48c505bd3a499f 100644 --- a/src/main/java/com/comandante/creeper/command/commands/DropCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/DropCommand.java @@ -2,8 +2,8 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.Items.Item; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.PlayerMetadata; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.PlayerMetadata; +import com.comandante.creeper.room.Room; import com.comandante.creeper.server.CreeperSession; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/com/comandante/creeper/command/commands/GossipCommand.java b/src/main/java/com/comandante/creeper/command/commands/GossipCommand.java index 2a6da5aa45347238f5abde421143ec28da0816b9..25fbc7f7d6a88a250508e5bb630fa4d140148496 100644 --- a/src/main/java/com/comandante/creeper/command/commands/GossipCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/GossipCommand.java @@ -2,14 +2,14 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; +import com.comandante.creeper.player.Player; import com.google.common.collect.ImmutableList; import java.util.Iterator; import java.util.Map; -import static com.comandante.creeper.model.Color.MAGENTA; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.MAGENTA; +import static com.comandante.creeper.server.Color.RESET; public class GossipCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/command/commands/InventoryCommand.java b/src/main/java/com/comandante/creeper/command/commands/InventoryCommand.java index 32c24ea6009372715682d6024ddeb95ddfb9b260..8d29264bc640e6c8d646a8a306e4c83153befaa0 100644 --- a/src/main/java/com/comandante/creeper/command/commands/InventoryCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/InventoryCommand.java @@ -4,15 +4,14 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.Items.Item; import com.comandante.creeper.Items.ItemType; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.PlayerMetadata; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.player.PlayerMetadata; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Arrays; -import static com.comandante.creeper.model.Color.CYAN; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.RESET; public class InventoryCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/command/commands/KillCommand.java b/src/main/java/com/comandante/creeper/command/commands/KillCommand.java index e19a4b9cce4feb74f332846fae83b1612133d05b..a905b661d22e9bb7f3f003845eacc354362bc830 100644 --- a/src/main/java/com/comandante/creeper/command/commands/KillCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/KillCommand.java @@ -1,9 +1,9 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.FightManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.managers.FightManager; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import com.comandante.creeper.npc.Npc; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/com/comandante/creeper/command/commands/LookCommand.java b/src/main/java/com/comandante/creeper/command/commands/LookCommand.java index ee286d437633125ddcb4b2a7939f16fec2285b2b..15a7fb852341736a21f473c204867ab203f35e53 100644 --- a/src/main/java/com/comandante/creeper/command/commands/LookCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/LookCommand.java @@ -1,8 +1,8 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/com/comandante/creeper/command/commands/MovementCommand.java b/src/main/java/com/comandante/creeper/command/commands/MovementCommand.java index cd87fc2bf3c0cd79024f8a7e444b7ed19921b607..253844ec75896bc3796610a05b4a5752fd08bb7f 100644 --- a/src/main/java/com/comandante/creeper/command/commands/MovementCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/MovementCommand.java @@ -1,9 +1,9 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Movement; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.PlayerMovement; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import com.comandante.creeper.server.ChannelUtils; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; @@ -47,7 +47,7 @@ public class MovementCommand extends Command { } Room currentRoom = roomOptional.get(); final String command = getOriginalMessageParts().get(0); - Movement movement = null; + PlayerMovement playerMovement = null; if (!validTriggers.contains(command.toLowerCase())) { throw new RuntimeException("Malformed movement command."); } @@ -57,7 +57,7 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getNorthId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the north.", "south"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the north.", "south"); } if (southTriggers.contains(command.toLowerCase())) { if (!currentRoom.getSouthId().isPresent()) { @@ -65,7 +65,7 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getSouthId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the south.", "north"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the south.", "north"); } if (eastTriggers.contains(command.toLowerCase())) { if (!currentRoom.getEastId().isPresent()) { @@ -73,7 +73,7 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getEastId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the east.", "west"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the east.", "west"); } if (westTriggers.contains(command.toLowerCase())) { if (!currentRoom.getWestId().isPresent()) { @@ -81,7 +81,7 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getWestId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "east"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "east"); } if (upTriggers.contains(command.toLowerCase())) { if (!currentRoom.getUpId().isPresent()) { @@ -89,7 +89,7 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getUpId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "down"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "down"); } if (downTriggers.contains(command.toLowerCase())) { if (!currentRoom.getDownId().isPresent()) { @@ -97,12 +97,12 @@ public class MovementCommand extends Command { return; } Room destinationRoom = gameManager.getRoomManager().getRoom(currentRoom.getDownId().get()); - movement = new Movement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "up"); + playerMovement = new PlayerMovement(player, currentRoom.getRoomId(), destinationRoom.getRoomId(), this, "exited to the west.", "up"); } - gameManager.movePlayer(movement); - if (movement != null) { - player.setReturnDirection(Optional.of(movement.getReturnDirection())); - gameManager.currentRoomLogic(movement.getPlayer().getPlayerId()); + gameManager.movePlayer(playerMovement); + if (playerMovement != null) { + player.setReturnDirection(Optional.of(playerMovement.getReturnDirection())); + gameManager.currentRoomLogic(playerMovement.getPlayer().getPlayerId()); } } } diff --git a/src/main/java/com/comandante/creeper/command/commands/PickUpCommand.java b/src/main/java/com/comandante/creeper/command/commands/PickUpCommand.java index eeb3cd3d4834378acfdde1c89aac65e06e245ec5..e173feb0db701c520dd8655df1979a856189f526 100644 --- a/src/main/java/com/comandante/creeper/command/commands/PickUpCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/PickUpCommand.java @@ -2,8 +2,8 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; import com.comandante.creeper.Items.Item; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/com/comandante/creeper/command/commands/SayCommand.java b/src/main/java/com/comandante/creeper/command/commands/SayCommand.java index f473790964be5a2b779cd318203d199ae9b6c75b..682e8c3ec75c7bdd70e11a134d686420ae249b4d 100644 --- a/src/main/java/com/comandante/creeper/command/commands/SayCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/SayCommand.java @@ -1,15 +1,15 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.Set; -import static com.comandante.creeper.model.Color.RED; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.RED; +import static com.comandante.creeper.server.Color.RESET; public class SayCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/command/commands/TellCommand.java b/src/main/java/com/comandante/creeper/command/commands/TellCommand.java index eb0c2c2ab1fef99a524e3d20aabe7715ddc977f5..261498840d424f489be4ff1e304742d35c87fbf6 100644 --- a/src/main/java/com/comandante/creeper/command/commands/TellCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/TellCommand.java @@ -1,15 +1,15 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; +import com.comandante.creeper.player.Player; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Arrays; -import static com.comandante.creeper.model.Color.RESET; -import static com.comandante.creeper.model.Color.YELLOW; +import static com.comandante.creeper.server.Color.RESET; +import static com.comandante.creeper.server.Color.YELLOW; public class TellCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/command/commands/WhoCommand.java b/src/main/java/com/comandante/creeper/command/commands/WhoCommand.java index 55486998ecbadb50b52cd43843fbd1f4f91df95c..27a6b5dbe5dc32d8025e8ad63bf498a9083bd8d1 100644 --- a/src/main/java/com/comandante/creeper/command/commands/WhoCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/WhoCommand.java @@ -1,13 +1,13 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; +import com.comandante.creeper.player.Player; import com.google.common.collect.ImmutableList; import java.util.Set; -import static com.comandante.creeper.model.Color.CYAN; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.CYAN; +import static com.comandante.creeper.server.Color.RESET; public class WhoCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/command/commands/WhoamiCommand.java b/src/main/java/com/comandante/creeper/command/commands/WhoamiCommand.java index fc2375392a0f7be733c4ca951fd33e4bb161af0e..cd1e6685422b8334f6e7ebe1dfa52b0a3fdad9cc 100644 --- a/src/main/java/com/comandante/creeper/command/commands/WhoamiCommand.java +++ b/src/main/java/com/comandante/creeper/command/commands/WhoamiCommand.java @@ -1,7 +1,7 @@ package com.comandante.creeper.command.commands; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; +import com.comandante.creeper.player.Player; import com.google.common.collect.ImmutableList; public class WhoamiCommand extends Command { diff --git a/src/main/java/com/comandante/creeper/model/CreeperEntity.java b/src/main/java/com/comandante/creeper/entity/CreeperEntity.java similarity index 90% rename from src/main/java/com/comandante/creeper/model/CreeperEntity.java rename to src/main/java/com/comandante/creeper/entity/CreeperEntity.java index 55059d5dd1da7880ba76d63396406cc95d5cdb9c..3a121db792d349022585e10f910c5f7bf839da1f 100644 --- a/src/main/java/com/comandante/creeper/model/CreeperEntity.java +++ b/src/main/java/com/comandante/creeper/entity/CreeperEntity.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.entity; import java.util.UUID; diff --git a/src/main/java/com/comandante/creeper/managers/EntityManager.java b/src/main/java/com/comandante/creeper/entity/EntityManager.java similarity index 94% rename from src/main/java/com/comandante/creeper/managers/EntityManager.java rename to src/main/java/com/comandante/creeper/entity/EntityManager.java index 87ae9e3b8768f1b71c6b748abb8f392a0c98c127..20451bd887e8e6ea239c525023a9ddbc7e5d015c 100644 --- a/src/main/java/com/comandante/creeper/managers/EntityManager.java +++ b/src/main/java/com/comandante/creeper/entity/EntityManager.java @@ -1,11 +1,12 @@ -package com.comandante.creeper.managers; +package com.comandante.creeper.entity; -import com.comandante.creeper.model.CreeperEntity; import com.comandante.creeper.Items.Item; import com.comandante.creeper.Items.ItemSerializer; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; import com.comandante.creeper.npc.Npc; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.room.Room; +import com.comandante.creeper.room.RoomManager; import org.mapdb.DB; import org.mapdb.HTreeMap; diff --git a/src/main/java/com/comandante/creeper/model/FightManager.java b/src/main/java/com/comandante/creeper/managers/FightManager.java similarity index 93% rename from src/main/java/com/comandante/creeper/model/FightManager.java rename to src/main/java/com/comandante/creeper/managers/FightManager.java index 5d2941f39fc5098ba3eef0a26392c44a71de0e6f..26fa7680ac68fb9b9003c3ed00e556eafc17404d 100644 --- a/src/main/java/com/comandante/creeper/model/FightManager.java +++ b/src/main/java/com/comandante/creeper/managers/FightManager.java @@ -1,9 +1,12 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.managers; -import com.comandante.creeper.managers.EntityManager; -import com.comandante.creeper.managers.PlayerManager; -import com.comandante.creeper.managers.RoomManager; +import com.comandante.creeper.entity.EntityManager; +import com.comandante.creeper.stat.Stats; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.room.RoomManager; import com.comandante.creeper.npc.Npc; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.player.PlayerMetadata; import com.comandante.creeper.server.ChannelUtils; import java.util.Random; diff --git a/src/main/java/com/comandante/creeper/managers/GameManager.java b/src/main/java/com/comandante/creeper/managers/GameManager.java index 7fdc731ac3a1d19b15d912af19f31efbf5a0298a..4707dd3afca64cb9a11c6c1b4b33c373f6d8900e 100644 --- a/src/main/java/com/comandante/creeper/managers/GameManager.java +++ b/src/main/java/com/comandante/creeper/managers/GameManager.java @@ -3,11 +3,13 @@ package com.comandante.creeper.managers; import com.comandante.creeper.Items.Item; import com.comandante.creeper.Items.ItemDecayManager; -import com.comandante.creeper.model.FightManager; -import com.comandante.creeper.model.Movement; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.entity.EntityManager; +import com.comandante.creeper.player.PlayerMovement; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.room.Room; import com.comandante.creeper.npc.Npc; +import com.comandante.creeper.room.RoomManager; import com.comandante.creeper.server.ChannelUtils; import com.comandante.creeper.server.CreeperSession; import com.google.common.base.Optional; @@ -20,9 +22,9 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -import static com.comandante.creeper.model.Color.BRIGHT_GREEN; -import static com.comandante.creeper.model.Color.GREEN; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.BRIGHT_GREEN; +import static com.comandante.creeper.server.Color.GREEN; +import static com.comandante.creeper.server.Color.RESET; public class GameManager { @@ -128,21 +130,21 @@ public class GameManager { playerCurrentRoom.get().addAfkPlayer(playerByUsername.getPlayerId()); } - public void movePlayer(Movement movement) { + public void movePlayer(PlayerMovement playerMovement) { synchronized (Interners.newStrongInterner()) { - Room sourceRoom = roomManager.getRoom(movement.getSourceRoomId()); - Room destinationRoom = roomManager.getRoom(movement.getDestinationRoomId()); - sourceRoom.removePresentPlayer(movement.getPlayer().getPlayerId()); + Room sourceRoom = roomManager.getRoom(playerMovement.getSourceRoomId()); + Room destinationRoom = roomManager.getRoom(playerMovement.getDestinationRoomId()); + sourceRoom.removePresentPlayer(playerMovement.getPlayer().getPlayerId()); for (Player next : playerManager.getPresentPlayers(sourceRoom)) { StringBuilder sb = new StringBuilder(); - sb.append(movement.getPlayer().getPlayerName()); - sb.append(" ").append(movement.getRoomExitMessage()); + sb.append(playerMovement.getPlayer().getPlayerName()); + sb.append(" ").append(playerMovement.getRoomExitMessage()); channelUtils.writeNoPrompt(next.getPlayerId(), sb.toString()); } for (Player next : playerManager.getPresentPlayers(destinationRoom)) { - channelUtils.writeNoPrompt(next.getPlayerId(), movement.getPlayer().getPlayerName() + " arrived."); + channelUtils.writeNoPrompt(next.getPlayerId(), playerMovement.getPlayer().getPlayerName() + " arrived."); } - destinationRoom.addPresentPlayer(movement.getPlayer().getPlayerId()); + destinationRoom.addPresentPlayer(playerMovement.getPlayer().getPlayerId()); } } diff --git a/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java b/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java index 84d5cf56ffee74bdbd6c3fb4e17db0c27f093166..301eb2e33a1e90efd71ce6d6f8ff7ba631c954f3 100644 --- a/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java +++ b/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java @@ -2,8 +2,9 @@ package com.comandante.creeper.managers; import com.comandante.creeper.Main; -import com.comandante.creeper.model.PlayerMetadata; -import com.comandante.creeper.model.PlayerStats; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.player.PlayerMetadata; +import com.comandante.creeper.player.PlayerStats; import com.comandante.creeper.server.CreeperSession; import com.google.common.base.Optional; import org.jboss.netty.channel.MessageEvent; diff --git a/src/main/java/com/comandante/creeper/model/FightResults.java b/src/main/java/com/comandante/creeper/model/FightResults.java deleted file mode 100644 index 67c32351a39d9f019220fbc9fe623c00bf0290b6..0000000000000000000000000000000000000000 --- a/src/main/java/com/comandante/creeper/model/FightResults.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.comandante.creeper.model; - -public class FightResults { - private final Stats challenger; - private final Stats victim; - - public FightResults(Stats challenger, Stats victim) { - this.challenger = challenger; - this.victim = victim; - } -} diff --git a/src/main/java/com/comandante/creeper/npc/Derper.java b/src/main/java/com/comandante/creeper/npc/Derper.java index 0978dbea21a5250a36179b25b913730a975d13a6..81db52dd8511189c9d6a2b2c07c1b9759292ed13 100644 --- a/src/main/java/com/comandante/creeper/npc/Derper.java +++ b/src/main/java/com/comandante/creeper/npc/Derper.java @@ -2,14 +2,13 @@ package com.comandante.creeper.npc; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.NpcStats; import java.util.Arrays; import java.util.List; import java.util.Random; -import static com.comandante.creeper.model.Color.GREEN; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.GREEN; +import static com.comandante.creeper.server.Color.RESET; public class Derper extends Npc { diff --git a/src/main/java/com/comandante/creeper/npc/Npc.java b/src/main/java/com/comandante/creeper/npc/Npc.java index 150450dbf18b5f2922b1cf354bd64099dbdd1eda..4d3b0bffeee13a513ccf96bd1119aa81b27a95b7 100644 --- a/src/main/java/com/comandante/creeper/npc/Npc.java +++ b/src/main/java/com/comandante/creeper/npc/Npc.java @@ -2,11 +2,11 @@ package com.comandante.creeper.npc; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.CreeperEntity; -import com.comandante.creeper.model.Stats; +import com.comandante.creeper.entity.CreeperEntity; +import com.comandante.creeper.stat.Stats; -import static com.comandante.creeper.model.Color.RED; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.RED; +import static com.comandante.creeper.server.Color.RESET; public abstract class Npc extends CreeperEntity { diff --git a/src/main/java/com/comandante/creeper/model/NpcStats.java b/src/main/java/com/comandante/creeper/npc/NpcStats.java similarity index 82% rename from src/main/java/com/comandante/creeper/model/NpcStats.java rename to src/main/java/com/comandante/creeper/npc/NpcStats.java index 3e5925755f1e6cd896dd693e97ae0b9927511e21..dcfed51770dd97e6f9ae16476a7e4d83884f8cc9 100644 --- a/src/main/java/com/comandante/creeper/model/NpcStats.java +++ b/src/main/java/com/comandante/creeper/npc/NpcStats.java @@ -1,4 +1,6 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.npc; + +import com.comandante.creeper.stat.StatsBuilder; public class NpcStats { public final static StatsBuilder JOE_NPC = new StatsBuilder() diff --git a/src/main/java/com/comandante/creeper/model/Player.java b/src/main/java/com/comandante/creeper/player/Player.java similarity index 94% rename from src/main/java/com/comandante/creeper/model/Player.java rename to src/main/java/com/comandante/creeper/player/Player.java index 9cf22a9c346ff592de90e8894ee632ce7e3b43d5..f46abed8ac22b20f4b84183ccdbf799c7295bb4a 100644 --- a/src/main/java/com/comandante/creeper/model/Player.java +++ b/src/main/java/com/comandante/creeper/player/Player.java @@ -1,8 +1,9 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.player; import com.comandante.creeper.Main; import com.comandante.creeper.managers.GameManager; +import com.comandante.creeper.entity.CreeperEntity; import com.google.common.base.Optional; import org.apache.commons.codec.binary.Base64; import org.jboss.netty.channel.Channel; diff --git a/src/main/java/com/comandante/creeper/managers/PlayerManager.java b/src/main/java/com/comandante/creeper/player/PlayerManager.java similarity index 93% rename from src/main/java/com/comandante/creeper/managers/PlayerManager.java rename to src/main/java/com/comandante/creeper/player/PlayerManager.java index 15e3846e99904fcfb1352b4db93bdc50fdc45da8..3b866b3c82e509e63d8e80ab35fbaef8f4020178 100644 --- a/src/main/java/com/comandante/creeper/managers/PlayerManager.java +++ b/src/main/java/com/comandante/creeper/player/PlayerManager.java @@ -1,11 +1,8 @@ -package com.comandante.creeper.managers; +package com.comandante.creeper.player; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.PlayerMetadata; -import com.comandante.creeper.model.PlayerMetadataSerializer; -import com.comandante.creeper.model.Room; -import com.comandante.creeper.model.Stats; +import com.comandante.creeper.room.Room; +import com.comandante.creeper.stat.Stats; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.commons.codec.binary.Base64; diff --git a/src/main/java/com/comandante/creeper/model/PlayerMetadata.java b/src/main/java/com/comandante/creeper/player/PlayerMetadata.java similarity index 95% rename from src/main/java/com/comandante/creeper/model/PlayerMetadata.java rename to src/main/java/com/comandante/creeper/player/PlayerMetadata.java index 95aedbc6d175f3b0bcadb3934da0f8c50a681e23..7483a8a88eb0838f55ac5516a69b947d56711651 100644 --- a/src/main/java/com/comandante/creeper/model/PlayerMetadata.java +++ b/src/main/java/com/comandante/creeper/player/PlayerMetadata.java @@ -1,6 +1,8 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.player; +import com.comandante.creeper.stat.Stats; + import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/com/comandante/creeper/model/PlayerMetadataSerializer.java b/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java similarity index 94% rename from src/main/java/com/comandante/creeper/model/PlayerMetadataSerializer.java rename to src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java index d515f1ec4dd99ac713c58cf9de39b20fa6154e9c..17691677b890e0d1daf69f74791699f61cd88ffe 100644 --- a/src/main/java/com/comandante/creeper/model/PlayerMetadataSerializer.java +++ b/src/main/java/com/comandante/creeper/player/PlayerMetadataSerializer.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.player; import com.google.gson.GsonBuilder; import org.mapdb.Serializer; diff --git a/src/main/java/com/comandante/creeper/model/Movement.java b/src/main/java/com/comandante/creeper/player/PlayerMovement.java similarity index 73% rename from src/main/java/com/comandante/creeper/model/Movement.java rename to src/main/java/com/comandante/creeper/player/PlayerMovement.java index 62c8060896547b85e7c194dd1677ff24c1b22ed9..845f71e583425c94fa9f32286744fa24cdf82dec 100644 --- a/src/main/java/com/comandante/creeper/model/Movement.java +++ b/src/main/java/com/comandante/creeper/player/PlayerMovement.java @@ -1,8 +1,8 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.player; import com.comandante.creeper.command.commands.MovementCommand; -public class Movement { +public class PlayerMovement { private final Player player; private final Integer sourceRoomId; @@ -11,12 +11,12 @@ public class Movement { private final String roomExitMessage; private final String returnDirection; - public Movement(Player player, - Integer sourceRoomId, - Integer destinationRoomId, - MovementCommand command, - String roomExitMessage, - String returnDirection) { + public PlayerMovement(Player player, + Integer sourceRoomId, + Integer destinationRoomId, + MovementCommand command, + String roomExitMessage, + String returnDirection) { this.player = player; this.sourceRoomId = sourceRoomId; this.destinationRoomId = destinationRoomId; diff --git a/src/main/java/com/comandante/creeper/model/PlayerStats.java b/src/main/java/com/comandante/creeper/player/PlayerStats.java similarity index 82% rename from src/main/java/com/comandante/creeper/model/PlayerStats.java rename to src/main/java/com/comandante/creeper/player/PlayerStats.java index 627298acf0484024a2f238ebccb1b3df9016434a..c998797bd1ec9e6da0919984305fc08835b3343b 100644 --- a/src/main/java/com/comandante/creeper/model/PlayerStats.java +++ b/src/main/java/com/comandante/creeper/player/PlayerStats.java @@ -1,6 +1,8 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.player; +import com.comandante.creeper.stat.StatsBuilder; + public class PlayerStats { public final static StatsBuilder DEFAULT_PLAYER = new StatsBuilder() diff --git a/src/main/java/com/comandante/creeper/model/BasicRoom.java b/src/main/java/com/comandante/creeper/room/BasicRoom.java similarity index 94% rename from src/main/java/com/comandante/creeper/model/BasicRoom.java rename to src/main/java/com/comandante/creeper/room/BasicRoom.java index bc27dcad9ff4725b32449b96d688563d0d5acea7..49037e033c9cfff4113ff27bc32070932321d606 100644 --- a/src/main/java/com/comandante/creeper/model/BasicRoom.java +++ b/src/main/java/com/comandante/creeper/room/BasicRoom.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.room; import com.google.common.base.Optional; diff --git a/src/main/java/com/comandante/creeper/model/Room.java b/src/main/java/com/comandante/creeper/room/Room.java similarity index 95% rename from src/main/java/com/comandante/creeper/model/Room.java rename to src/main/java/com/comandante/creeper/room/Room.java index bbf17355d3024649a2d1ca636ed8773860a78541..6d2a50bec06a22d93505ddd8670d1838a27045cd 100644 --- a/src/main/java/com/comandante/creeper/model/Room.java +++ b/src/main/java/com/comandante/creeper/room/Room.java @@ -1,6 +1,8 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.room; -import com.comandante.creeper.Items.ItemSpawner; +import com.comandante.creeper.entity.CreeperEntity; +import com.comandante.creeper.spawner.ItemSpawner; +import com.comandante.creeper.spawner.NpcSpawner; import com.google.common.base.Optional; import com.google.common.collect.Lists; import com.google.common.collect.Sets; diff --git a/src/main/java/com/comandante/creeper/builder/RoomBuilders.java b/src/main/java/com/comandante/creeper/room/RoomBuilders.java similarity index 98% rename from src/main/java/com/comandante/creeper/builder/RoomBuilders.java rename to src/main/java/com/comandante/creeper/room/RoomBuilders.java index 0995b73a3bbd05d3bf667188901d50e84b4ec1cc..eb341a334a923bbd82f99a3f8255edf816e7d3d7 100644 --- a/src/main/java/com/comandante/creeper/builder/RoomBuilders.java +++ b/src/main/java/com/comandante/creeper/room/RoomBuilders.java @@ -1,13 +1,12 @@ -package com.comandante.creeper.builder; +package com.comandante.creeper.room; -import com.comandante.creeper.Items.SpawnRule; -import com.comandante.creeper.Items.ItemSpawner; import com.comandante.creeper.Items.ItemType; -import com.comandante.creeper.managers.EntityManager; +import com.comandante.creeper.entity.EntityManager; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.BasicRoom; -import com.comandante.creeper.model.NpcSpawner; import com.comandante.creeper.npc.Derper; +import com.comandante.creeper.spawner.ItemSpawner; +import com.comandante.creeper.spawner.NpcSpawner; +import com.comandante.creeper.spawner.SpawnRule; import com.google.common.base.Optional; /** diff --git a/src/main/java/com/comandante/creeper/managers/RoomManager.java b/src/main/java/com/comandante/creeper/room/RoomManager.java similarity index 89% rename from src/main/java/com/comandante/creeper/managers/RoomManager.java rename to src/main/java/com/comandante/creeper/room/RoomManager.java index 62d0a8978fa42f10062192b9ea44afdab900296e..ebf3dd866258ba464c97c4c04f34a5921c714f14 100644 --- a/src/main/java/com/comandante/creeper/managers/RoomManager.java +++ b/src/main/java/com/comandante/creeper/room/RoomManager.java @@ -1,7 +1,6 @@ -package com.comandante.creeper.managers; +package com.comandante.creeper.room; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.Player; import com.google.common.base.Optional; import java.util.Iterator; diff --git a/src/main/java/com/comandante/creeper/server/ChannelUtils.java b/src/main/java/com/comandante/creeper/server/ChannelUtils.java index 359b586ad5b653f4390ef3cabdf209a58f0c72c4..a45f54fe20e4b39e644e9697f0a978d0db32addf 100644 --- a/src/main/java/com/comandante/creeper/server/ChannelUtils.java +++ b/src/main/java/com/comandante/creeper/server/ChannelUtils.java @@ -1,9 +1,9 @@ package com.comandante.creeper.server; -import com.comandante.creeper.managers.PlayerManager; -import com.comandante.creeper.managers.RoomManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.Room; +import com.comandante.creeper.player.PlayerManager; +import com.comandante.creeper.room.RoomManager; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.room.Room; import java.util.Set; diff --git a/src/main/java/com/comandante/creeper/model/Color.java b/src/main/java/com/comandante/creeper/server/Color.java similarity index 97% rename from src/main/java/com/comandante/creeper/model/Color.java rename to src/main/java/com/comandante/creeper/server/Color.java index b845ace7eb6c7a5445cb23dcf22130a47710830d..f538b27eea1ec8cd7b4e08c6a6f714f540b80c06 100644 --- a/src/main/java/com/comandante/creeper/model/Color.java +++ b/src/main/java/com/comandante/creeper/server/Color.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.server; import org.fusesource.jansi.Ansi; diff --git a/src/main/java/com/comandante/creeper/server/CreeperMapDBAuthenticator.java b/src/main/java/com/comandante/creeper/server/CreeperMapDBAuthenticator.java index 52b609f04216052ccbc6a513fb3e21191f1106f3..3235dc118e36ce84d96a63adc93bfcb61dc367e3 100644 --- a/src/main/java/com/comandante/creeper/server/CreeperMapDBAuthenticator.java +++ b/src/main/java/com/comandante/creeper/server/CreeperMapDBAuthenticator.java @@ -2,8 +2,8 @@ package com.comandante.creeper.server; import com.comandante.creeper.Main; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Player; -import com.comandante.creeper.model.PlayerMetadata; +import com.comandante.creeper.player.Player; +import com.comandante.creeper.player.PlayerMetadata; import org.jboss.netty.channel.Channel; public class CreeperMapDBAuthenticator implements CreeperAuthenticator { diff --git a/src/main/java/com/comandante/creeper/server/CreeperServerHandler.java b/src/main/java/com/comandante/creeper/server/CreeperServerHandler.java index d4f6d652faf3d3bfbfe5484d3e733b26b1020f41..dffe3e5750409c2517bff08bf6dbadb462502470 100644 --- a/src/main/java/com/comandante/creeper/server/CreeperServerHandler.java +++ b/src/main/java/com/comandante/creeper/server/CreeperServerHandler.java @@ -10,7 +10,7 @@ import org.jboss.netty.channel.ExceptionEvent; import org.jboss.netty.channel.MessageEvent; import org.jboss.netty.channel.SimpleChannelUpstreamHandler; -import static com.comandante.creeper.model.Color.RESET; +import static com.comandante.creeper.server.Color.RESET; public class CreeperServerHandler extends SimpleChannelUpstreamHandler { diff --git a/src/main/java/com/comandante/creeper/server/RandomMOTD.java b/src/main/java/com/comandante/creeper/server/RandomMOTD.java new file mode 100644 index 0000000000000000000000000000000000000000..e27178febaf2e1321ec2500b6238499716808297 --- /dev/null +++ b/src/main/java/com/comandante/creeper/server/RandomMOTD.java @@ -0,0 +1,7 @@ +package com.comandante.creeper.server; + + +public class RandomMOTD { + + +} diff --git a/src/main/java/com/comandante/creeper/Items/ItemSpawner.java b/src/main/java/com/comandante/creeper/spawner/ItemSpawner.java similarity index 93% rename from src/main/java/com/comandante/creeper/Items/ItemSpawner.java rename to src/main/java/com/comandante/creeper/spawner/ItemSpawner.java index 0ec4228697a8f551b7d47d9ac98932024a8822cf..90c03b4acf21ec0e10ab9b0e2f1ffaf3ecd2011b 100644 --- a/src/main/java/com/comandante/creeper/Items/ItemSpawner.java +++ b/src/main/java/com/comandante/creeper/spawner/ItemSpawner.java @@ -1,7 +1,9 @@ -package com.comandante.creeper.Items; +package com.comandante.creeper.spawner; +import com.comandante.creeper.Items.Item; +import com.comandante.creeper.Items.ItemType; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.CreeperEntity; +import com.comandante.creeper.entity.CreeperEntity; import java.util.Random; import java.util.Set; diff --git a/src/main/java/com/comandante/creeper/model/NpcSpawner.java b/src/main/java/com/comandante/creeper/spawner/NpcSpawner.java similarity index 96% rename from src/main/java/com/comandante/creeper/model/NpcSpawner.java rename to src/main/java/com/comandante/creeper/spawner/NpcSpawner.java index 1d9694e5c795bba54e5bdb7245c1c84a50b75e8a..651c2ae853399be73c636d7cc01aaa020ed69645 100644 --- a/src/main/java/com/comandante/creeper/model/NpcSpawner.java +++ b/src/main/java/com/comandante/creeper/spawner/NpcSpawner.java @@ -1,7 +1,7 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.spawner; -import com.comandante.creeper.Items.SpawnRule; +import com.comandante.creeper.entity.CreeperEntity; import com.comandante.creeper.managers.GameManager; import com.comandante.creeper.npc.Npc; diff --git a/src/main/java/com/comandante/creeper/Items/SpawnRule.java b/src/main/java/com/comandante/creeper/spawner/SpawnRule.java similarity index 95% rename from src/main/java/com/comandante/creeper/Items/SpawnRule.java rename to src/main/java/com/comandante/creeper/spawner/SpawnRule.java index 5ce18a490478aa4e8b9485fee94a1ed86377d20f..37d699b13a81220d56bcf8e4e4fb86659f0c711c 100644 --- a/src/main/java/com/comandante/creeper/Items/SpawnRule.java +++ b/src/main/java/com/comandante/creeper/spawner/SpawnRule.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.Items; +package com.comandante.creeper.spawner; import com.google.common.base.Optional; diff --git a/src/main/java/com/comandante/creeper/model/StatType.java b/src/main/java/com/comandante/creeper/stat/StatType.java similarity index 88% rename from src/main/java/com/comandante/creeper/model/StatType.java rename to src/main/java/com/comandante/creeper/stat/StatType.java index a9e64f4aefdf980468472c5ce9ac56844b9d6d47..341d498ee1919d4589e05fa0d876897a60dd91ba 100644 --- a/src/main/java/com/comandante/creeper/model/StatType.java +++ b/src/main/java/com/comandante/creeper/stat/StatType.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.stat; public enum StatType { STRENGTH(1), diff --git a/src/main/java/com/comandante/creeper/model/Stats.java b/src/main/java/com/comandante/creeper/stat/Stats.java similarity index 98% rename from src/main/java/com/comandante/creeper/model/Stats.java rename to src/main/java/com/comandante/creeper/stat/Stats.java index 48843191f78f256786ebeccfe1c909f4e2d0c37b..0db340c278eec32f38e2be7b327043f15dc497b6 100644 --- a/src/main/java/com/comandante/creeper/model/Stats.java +++ b/src/main/java/com/comandante/creeper/stat/Stats.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.stat; import java.io.Serializable; diff --git a/src/main/java/com/comandante/creeper/model/StatsBuilder.java b/src/main/java/com/comandante/creeper/stat/StatsBuilder.java similarity index 97% rename from src/main/java/com/comandante/creeper/model/StatsBuilder.java rename to src/main/java/com/comandante/creeper/stat/StatsBuilder.java index 8794d21515996a9240376663588b0f20d62f1cd0..e3330ab22dd9d5d8556be9ae23587a77acd61ca8 100644 --- a/src/main/java/com/comandante/creeper/model/StatsBuilder.java +++ b/src/main/java/com/comandante/creeper/stat/StatsBuilder.java @@ -1,4 +1,4 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.stat; public class StatsBuilder { private int strength; diff --git a/src/main/java/com/comandante/creeper/model/StatsTester.java b/src/main/java/com/comandante/creeper/stat/StatsTester.java similarity index 96% rename from src/main/java/com/comandante/creeper/model/StatsTester.java rename to src/main/java/com/comandante/creeper/stat/StatsTester.java index 7713d30fe338b8759993303a46f08bc81270c905..758804745d3ca5fdcba27b1cec53beafede85b00 100644 --- a/src/main/java/com/comandante/creeper/model/StatsTester.java +++ b/src/main/java/com/comandante/creeper/stat/StatsTester.java @@ -1,4 +1,7 @@ -package com.comandante.creeper.model; +package com.comandante.creeper.stat; + +import com.comandante.creeper.npc.NpcStats; +import com.comandante.creeper.player.PlayerStats; import java.util.Random;