Esempio n. 1
0
  // Spawns a new NPC and registers it.
  public static void register(int UID, String owner, NPCCreateReason reason) {
    Location loc = PropertyManager.getBasic().getLocation(UID);

    ChatColor colour = PropertyManager.getBasic().getColour(UID);
    String name = PropertyManager.getBasic().getName(UID);
    name = ChatColor.stripColor(name);
    if (!Settings.getString("SpaceChar").isEmpty()) {
      name = name.replace(Settings.getString("SpaceChar"), " ");
    }
    String npcName = name;
    if (colour != null && colour != ChatColor.WHITE) {
      npcName = colour + name;
    }
    HumanNPC npc = NPCSpawner.spawnNPC(UID, npcName, loc);

    NPCCreateEvent event = new NPCCreateEvent(npc, reason, loc);
    Bukkit.getServer().getPluginManager().callEvent(event);

    npc.setNPCData(
        new NPCData(
            npcName,
            UID,
            loc,
            colour,
            PropertyManager.getBasic().getItems(UID),
            NPCDataManager.NPCTexts.get(UID),
            PropertyManager.getBasic().isTalk(UID),
            PropertyManager.getBasic().isLookWhenClose(UID),
            PropertyManager.getBasic().isTalkWhenClose(UID),
            owner));
    PropertyManager.getBasic().saveOwner(UID, owner);
    PropertyManager.load(npc);

    registerUID(UID, npcName);
    list.put(UID, npc);
    PropertyManager.save(npc);

    npc.getPlayer().setSleepingIgnored(true); // Fix beds.
  }
Esempio n. 2
0
 public static void removeNPCFromPlayerList(HumanNPC npc) {
   getWorldServer(npc.getPlayer().getWorld()).players.remove(npc.getHandle());
 }