changes to commands

This commit is contained in:
aPunch 2012-01-25 14:40:01 -06:00
parent ed38ef822e
commit 0edd66c227
3 changed files with 18 additions and 22 deletions

View File

@ -168,14 +168,6 @@ public class Citizens extends JavaPlugin {
return saves; return saves;
} }
public CitizensNPCManager getNPCManager() {
return npcManager;
}
public InstanceFactory<Character> getCharacterManager() {
return characterManager;
}
private void saveNPCs() { private void saveNPCs() {
for (NPC npc : npcManager.getAllNPCs()) for (NPC npc : npcManager.getAllNPCs())
((CitizensNPC) npc).save(); ((CitizensNPC) npc).save();
@ -232,7 +224,7 @@ public class Citizens extends JavaPlugin {
} }
private void registerCommands() { private void registerCommands() {
cmdManager.setInjector(new Injector(this)); cmdManager.setInjector(new Injector(npcManager, characterManager));
cmdManager.register(NPCCommands.class); cmdManager.register(NPCCommands.class);
} }

View File

@ -3,21 +3,25 @@ package net.citizensnpcs.command.command;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import net.citizensnpcs.Citizens;
import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.npc.trait.Character;
import net.citizensnpcs.api.npc.trait.DefaultInstanceFactory;
import net.citizensnpcs.command.CommandContext; import net.citizensnpcs.command.CommandContext;
import net.citizensnpcs.command.annotation.Command; import net.citizensnpcs.command.annotation.Command;
import net.citizensnpcs.command.annotation.Permission; import net.citizensnpcs.command.annotation.Permission;
import net.citizensnpcs.npc.CitizensNPC; import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.CitizensNPCManager;
import net.citizensnpcs.util.Messaging; import net.citizensnpcs.util.Messaging;
import net.citizensnpcs.util.StringHelper; import net.citizensnpcs.util.StringHelper;
// TODO add requirements // TODO add requirements
public class NPCCommands { public class NPCCommands {
private final Citizens plugin; private final CitizensNPCManager npcManager;
private final DefaultInstanceFactory<Character> characterManager;
public NPCCommands(Citizens plugin) { public NPCCommands(CitizensNPCManager npcManager, DefaultInstanceFactory<Character> characterManager) {
this.plugin = plugin; this.npcManager = npcManager;
this.characterManager = characterManager;
} }
@Command( @Command(
@ -29,16 +33,16 @@ public class NPCCommands {
max = 3) max = 3)
@Permission("npc.create") @Permission("npc.create")
public void createNPC(CommandContext args, Player player, NPC npc) { public void createNPC(CommandContext args, Player player, NPC npc) {
CitizensNPC create = (CitizensNPC) plugin.getNPCManager().createNPC(args.getString(1)); CitizensNPC create = (CitizensNPC) npcManager.createNPC(args.getString(1));
String msg = ChatColor.GREEN + "You created " + StringHelper.wrap(create.getName()); String msg = ChatColor.GREEN + "You created " + StringHelper.wrap(create.getName());
if (args.argsLength() == 3 && plugin.getCharacterManager().getInstance(args.getString(2)) != null) { if (args.argsLength() == 3 && characterManager.getInstance(args.getString(2)) != null) {
create.setCharacter(plugin.getCharacterManager().getInstance(args.getString(2))); create.setCharacter(characterManager.getInstance(args.getString(2)));
msg += " with the character " + StringHelper.wrap(args.getString(2)); msg += " with the character " + StringHelper.wrap(args.getString(2));
} }
msg += " at your location."; msg += " at your location.";
create.spawn(player.getLocation()); create.spawn(player.getLocation());
plugin.getNPCManager().selectNPC(player, create); npcManager.selectNPC(player, create);
Messaging.send(player, msg); Messaging.send(player, msg);
} }
@ -51,14 +55,14 @@ public class NPCCommands {
max = 2) max = 2)
@Permission("npc.spawn") @Permission("npc.spawn")
public void spawnNPC(CommandContext args, Player player, NPC npc) { public void spawnNPC(CommandContext args, Player player, NPC npc) {
CitizensNPC respawn = (CitizensNPC) plugin.getNPCManager().getNPC(args.getInteger(1)); CitizensNPC respawn = (CitizensNPC) npcManager.getNPC(args.getInteger(1));
if (respawn == null) { if (respawn == null) {
Messaging.sendError(player, "No NPC with the ID '" + args.getInteger(1) + "' exists."); Messaging.sendError(player, "No NPC with the ID '" + args.getInteger(1) + "' exists.");
return; return;
} }
respawn.spawn(player.getLocation()); respawn.spawn(player.getLocation());
plugin.getNPCManager().selectNPC(player, respawn); npcManager.selectNPC(player, respawn);
Messaging.send(player, ChatColor.GREEN + "You respawned " + StringHelper.wrap(respawn.getName()) Messaging.send(player, ChatColor.GREEN + "You respawned " + StringHelper.wrap(respawn.getName())
+ " at your location."); + " at your location.");
} }
@ -72,9 +76,9 @@ public class NPCCommands {
max = 1) max = 1)
@Permission("npc.despawn") @Permission("npc.despawn")
public void despawnNPC(CommandContext args, Player player, NPC npc) { public void despawnNPC(CommandContext args, Player player, NPC npc) {
CitizensNPC despawn = (CitizensNPC) plugin.getNPCManager().getSelectedNPC(player); CitizensNPC despawn = (CitizensNPC) npcManager.getSelectedNPC(player);
despawn.despawn(); despawn.despawn();
plugin.getNPCManager().deselectNPC(player); npcManager.deselectNPC(player);
Messaging.send(player, ChatColor.GREEN + "You despawned " + StringHelper.wrap(despawn.getName()) + "."); Messaging.send(player, ChatColor.GREEN + "You despawned " + StringHelper.wrap(despawn.getName()) + ".");
} }
} }

View File

@ -96,7 +96,7 @@ public class CitizensNPC extends AbstractNPC {
@Override @Override
public void chat(String message) { public void chat(String message) {
String formatted = "<" + getFullName() + "> " + message; String formatted = "<" + getName() + "> " + message;
for (Player player : Bukkit.getOnlinePlayers()) for (Player player : Bukkit.getOnlinePlayers())
player.sendMessage(formatted); player.sendMessage(formatted);
if (Setting.PRINT_CHAT_TO_CONSOLE.getBoolean()) if (Setting.PRINT_CHAT_TO_CONSOLE.getBoolean())