2012-01-15 00:51:37 +01:00
|
|
|
package net.citizensnpcs;
|
|
|
|
|
|
|
|
import net.citizensnpcs.api.CitizensAPI;
|
2012-01-18 05:04:08 +01:00
|
|
|
import net.citizensnpcs.api.npc.NPC;
|
|
|
|
import net.citizensnpcs.api.npc.trait.trait.LocationTrait;
|
2012-01-15 00:51:37 +01:00
|
|
|
import net.citizensnpcs.npc.CitizensNPCManager;
|
2012-01-16 04:15:32 +01:00
|
|
|
import net.citizensnpcs.util.Messaging;
|
2012-01-15 00:51:37 +01:00
|
|
|
|
2012-01-18 05:04:08 +01:00
|
|
|
import org.bukkit.Bukkit;
|
2012-01-15 00:51:37 +01:00
|
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
|
2012-01-15 06:09:31 +01:00
|
|
|
public class Citizens extends JavaPlugin {
|
2012-01-18 05:04:08 +01:00
|
|
|
private CitizensNPCManager npcManager;
|
2012-01-15 00:51:37 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onDisable() {
|
2012-01-16 04:15:32 +01:00
|
|
|
Messaging.log("v" + getDescription().getVersion() + " disabled.");
|
2012-01-15 00:51:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onEnable() {
|
2012-01-18 05:04:08 +01:00
|
|
|
npcManager = new CitizensNPCManager();
|
|
|
|
CitizensAPI.setNPCManager(npcManager);
|
|
|
|
|
2012-01-19 08:38:40 +01:00
|
|
|
// Register events
|
|
|
|
new EventListen(this);
|
2012-01-16 04:15:32 +01:00
|
|
|
|
|
|
|
Messaging.log("v" + getDescription().getVersion() + " enabled.");
|
2012-01-18 05:04:08 +01:00
|
|
|
|
|
|
|
// Setup NPCs after all plugins have been enabled (allows for multiworld
|
|
|
|
// support and for NPCs to properly register external settings)
|
|
|
|
if (Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
setupNPCs();
|
|
|
|
}
|
2012-01-18 11:37:09 +01:00
|
|
|
}, 100) == -1) {
|
2012-01-18 05:04:08 +01:00
|
|
|
Messaging.log("Issue enabling plugin. Disabling.");
|
2012-01-18 11:37:09 +01:00
|
|
|
getServer().getPluginManager().disablePlugin(this);
|
|
|
|
}
|
2012-01-18 05:04:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
private void setupNPCs() {
|
|
|
|
// TODO set up saving
|
|
|
|
for (NPC npc : npcManager.getNPCs()) {
|
|
|
|
npc.spawn(((LocationTrait) npc.getTrait("location")).getLocation());
|
|
|
|
}
|
|
|
|
Messaging.log("Loaded " + npcManager.getNPCs().size() + " NPCs.");
|
|
|
|
}
|
2012-01-15 00:51:37 +01:00
|
|
|
}
|