mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2025-02-26 09:11:30 +01:00
changes to commands
This commit is contained in:
parent
ed38ef822e
commit
0edd66c227
@ -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);
|
||||
}
|
||||
|
@ -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()) + ".");
|
||||
}
|
||||
}
|
@ -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())
|
||||
|
Loading…
Reference in New Issue
Block a user