mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-09-29 15:47:40 +02:00
fix metrics bug
This commit is contained in:
parent
29a8728829
commit
4956690096
@ -64,7 +64,6 @@ public class Citizens extends JavaPlugin {
|
|||||||
private final CommandManager commands = new CommandManager();
|
private final CommandManager commands = new CommandManager();
|
||||||
private Settings config;
|
private Settings config;
|
||||||
private Storage saves;
|
private Storage saves;
|
||||||
private Storage templates;
|
|
||||||
private boolean compatible;
|
private boolean compatible;
|
||||||
|
|
||||||
private boolean suggestClosestModifier(CommandSender sender, String command, String modifier) {
|
private boolean suggestClosestModifier(CommandSender sender, String command, String modifier) {
|
||||||
@ -170,33 +169,6 @@ public class Citizens extends JavaPlugin {
|
|||||||
saves = new YamlStorage(getDataFolder() + File.separator + "saves.yml", "Citizens NPC Storage");
|
saves = new YamlStorage(getDataFolder() + File.separator + "saves.yml", "Citizens NPC Storage");
|
||||||
}
|
}
|
||||||
|
|
||||||
new Thread() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
Metrics metrics = new Metrics();
|
|
||||||
metrics.addCustomData(Citizens.this, new Metrics.Plotter() {
|
|
||||||
@Override
|
|
||||||
public int getValue() {
|
|
||||||
return Iterators.size(npcManager.iterator());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getColumnName() {
|
|
||||||
return "Total NPCs";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
metrics.beginMeasuringPlugin(Citizens.this);
|
|
||||||
} catch (IOException ex) {
|
|
||||||
Messaging.log("Unable to load metrics");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.start();
|
|
||||||
|
|
||||||
// Templates
|
|
||||||
templates = new YamlStorage(getDataFolder() + File.separator + "templates.yml", "NPC Templates");
|
|
||||||
templates.load();
|
|
||||||
|
|
||||||
// Register API managers
|
// Register API managers
|
||||||
npcManager = new CitizensNPCManager(saves);
|
npcManager = new CitizensNPCManager(saves);
|
||||||
CitizensAPI.setNPCManager(npcManager);
|
CitizensAPI.setNPCManager(npcManager);
|
||||||
@ -231,6 +203,30 @@ public class Citizens extends JavaPlugin {
|
|||||||
Messaging.log(Level.SEVERE, "Issue enabling plugin. Disabling.");
|
Messaging.log(Level.SEVERE, "Issue enabling plugin. Disabling.");
|
||||||
getServer().getPluginManager().disablePlugin(this);
|
getServer().getPluginManager().disablePlugin(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Run metrics last
|
||||||
|
new Thread() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
Metrics metrics = new Metrics();
|
||||||
|
metrics.addCustomData(Citizens.this, new Metrics.Plotter() {
|
||||||
|
@Override
|
||||||
|
public int getValue() {
|
||||||
|
return Iterators.size(npcManager.iterator());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getColumnName() {
|
||||||
|
return "Total NPCs";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
metrics.beginMeasuringPlugin(Citizens.this);
|
||||||
|
} catch (IOException ex) {
|
||||||
|
Messaging.log("Unable to load metrics");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public CitizensNPCManager getNPCManager() {
|
public CitizensNPCManager getNPCManager() {
|
||||||
@ -249,10 +245,6 @@ public class Citizens extends JavaPlugin {
|
|||||||
return saves;
|
return saves;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Storage getTemplates() {
|
|
||||||
return templates;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void registerCommands() {
|
private void registerCommands() {
|
||||||
commands.setInjector(new Injector(this));
|
commands.setInjector(new Injector(this));
|
||||||
|
|
||||||
@ -276,8 +268,7 @@ public class Citizens extends JavaPlugin {
|
|||||||
throw new NPCLoadException("Could not find a name for the NPC with ID '" + id + "'.");
|
throw new NPCLoadException("Could not find a name for the NPC with ID '" + id + "'.");
|
||||||
|
|
||||||
String type = key.getString("traits.type").toUpperCase();
|
String type = key.getString("traits.type").toUpperCase();
|
||||||
NPC npc = npcManager.createNPC(
|
NPC npc = npcManager.createNPC(type.equalsIgnoreCase("DEFAULT") ? null : CreatureType.valueOf(type), id,
|
||||||
type.equalsIgnoreCase("DEFAULT") ? CreatureType.MONSTER : CreatureType.valueOf(type), id,
|
|
||||||
key.getString("name"), null);
|
key.getString("name"), null);
|
||||||
try {
|
try {
|
||||||
npc.load(key);
|
npc.load(key);
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
package net.citizensnpcs;
|
|
||||||
|
|
||||||
import net.citizensnpcs.api.util.DataKey;
|
|
||||||
|
|
||||||
public class Template {
|
|
||||||
private final DataKey template;
|
|
||||||
|
|
||||||
public Template(DataKey template) {
|
|
||||||
this.template = template;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void apply(DataKey to) {
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
}
|
|
@ -2,7 +2,6 @@ package net.citizensnpcs.command.command;
|
|||||||
|
|
||||||
import net.citizensnpcs.Citizens;
|
import net.citizensnpcs.Citizens;
|
||||||
import net.citizensnpcs.Settings.Setting;
|
import net.citizensnpcs.Settings.Setting;
|
||||||
import net.citizensnpcs.Template;
|
|
||||||
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.Character;
|
||||||
import net.citizensnpcs.api.npc.trait.DefaultInstanceFactory;
|
import net.citizensnpcs.api.npc.trait.DefaultInstanceFactory;
|
||||||
@ -26,12 +25,10 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
|||||||
|
|
||||||
@Requirements(selected = true, ownership = true)
|
@Requirements(selected = true, ownership = true)
|
||||||
public class NPCCommands {
|
public class NPCCommands {
|
||||||
private final Citizens plugin;
|
|
||||||
private final CitizensNPCManager npcManager;
|
private final CitizensNPCManager npcManager;
|
||||||
private final DefaultInstanceFactory<Character> characterManager;
|
private final DefaultInstanceFactory<Character> characterManager;
|
||||||
|
|
||||||
public NPCCommands(Citizens plugin) {
|
public NPCCommands(Citizens plugin) {
|
||||||
this.plugin = plugin;
|
|
||||||
npcManager = plugin.getNPCManager();
|
npcManager = plugin.getNPCManager();
|
||||||
characterManager = plugin.getCharacterManager();
|
characterManager = plugin.getCharacterManager();
|
||||||
}
|
}
|
||||||
@ -51,7 +48,7 @@ public class NPCCommands {
|
|||||||
Messaging.sendError(player, "NPC names cannot be longer than 16 characters. The name has been shortened.");
|
Messaging.sendError(player, "NPC names cannot be longer than 16 characters. The name has been shortened.");
|
||||||
name = name.substring(0, 15);
|
name = name.substring(0, 15);
|
||||||
}
|
}
|
||||||
CreatureType type = CreatureType.MONSTER; // Default NPC type
|
CreatureType type = null;
|
||||||
if (args.hasValueFlag("type"))
|
if (args.hasValueFlag("type"))
|
||||||
try {
|
try {
|
||||||
type = CreatureType.valueOf(args.getFlag("type").toUpperCase().replace('-', '_'));
|
type = CreatureType.valueOf(args.getFlag("type").toUpperCase().replace('-', '_'));
|
||||||
@ -73,16 +70,6 @@ public class NPCCommands {
|
|||||||
successMsg += " with the character " + StringHelper.wrap(args.getFlag("char"));
|
successMsg += " with the character " + StringHelper.wrap(args.getFlag("char"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (args.hasValueFlag("temp")) {
|
|
||||||
String template = args.getFlag("temp");
|
|
||||||
if (!plugin.getTemplates().getKey("templates").keyExists(template)) {
|
|
||||||
Messaging.sendError(player, "The template '" + template
|
|
||||||
+ "' does not exist. Did you type the name incorrectly?");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
new Template(plugin.getTemplates().getKey("templates." + template)).apply(plugin.getStorage().getKey(
|
|
||||||
"npc." + npc.getId()));
|
|
||||||
}
|
|
||||||
successMsg += " at your location.";
|
successMsg += " at your location.";
|
||||||
|
|
||||||
// Set the owner
|
// Set the owner
|
||||||
|
@ -46,7 +46,6 @@ public class NPCBuilder {
|
|||||||
types.put(CreatureType.GHAST, CitizensGhastNPC.class);
|
types.put(CreatureType.GHAST, CitizensGhastNPC.class);
|
||||||
types.put(CreatureType.GIANT, CitizensGiantNPC.class);
|
types.put(CreatureType.GIANT, CitizensGiantNPC.class);
|
||||||
types.put(CreatureType.MAGMA_CUBE, CitizensMagmaCubeNPC.class);
|
types.put(CreatureType.MAGMA_CUBE, CitizensMagmaCubeNPC.class);
|
||||||
types.put(CreatureType.MONSTER, CitizensHumanNPC.class);
|
|
||||||
types.put(CreatureType.MUSHROOM_COW, CitizensMushroomCowNPC.class);
|
types.put(CreatureType.MUSHROOM_COW, CitizensMushroomCowNPC.class);
|
||||||
types.put(CreatureType.PIG, CitizensPigNPC.class);
|
types.put(CreatureType.PIG, CitizensPigNPC.class);
|
||||||
types.put(CreatureType.PIG_ZOMBIE, CitizensPigZombieNPC.class);
|
types.put(CreatureType.PIG_ZOMBIE, CitizensPigZombieNPC.class);
|
||||||
@ -64,6 +63,8 @@ public class NPCBuilder {
|
|||||||
|
|
||||||
public CitizensNPC getByType(CreatureType type, CitizensNPCManager npcManager, int id, String name) {
|
public CitizensNPC getByType(CreatureType type, CitizensNPCManager npcManager, int id, String name) {
|
||||||
Class<? extends CitizensNPC> npcClass = types.get(type);
|
Class<? extends CitizensNPC> npcClass = types.get(type);
|
||||||
|
if (npcClass == null)
|
||||||
|
npcClass = CitizensHumanNPC.class;
|
||||||
try {
|
try {
|
||||||
return npcClass.getConstructor(CitizensNPCManager.class, int.class, String.class).newInstance(npcManager,
|
return npcClass.getConstructor(CitizensNPCManager.class, int.class, String.class).newInstance(npcManager,
|
||||||
id, name);
|
id, name);
|
||||||
|
Loading…
Reference in New Issue
Block a user