changes to commands

This commit is contained in:
aPunch 2012-01-25 14:40:01 -06:00
parent 4e7b2efc4f
commit 8c4aa23461
3 changed files with 18 additions and 22 deletions

View File

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

View File

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

View File

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