Search in sources :

Example 16 with NPC

use of net.citizensnpcs.api.npc.NPC in project Denizen-For-Bukkit by DenizenScript.

the class VulnerableCommand method execute.

@Override
public void execute(ScriptEntry scriptEntry) throws CommandExecutionException {
    // Fetch objects
    Element action = scriptEntry.getElement("action");
    BukkitScriptEntryData entryData = (BukkitScriptEntryData) scriptEntry.entryData;
    // Report to dB
    dB.report(scriptEntry, getName(), entryData.getNPC().debug() + action.debug());
    NPC npc = entryData.getNPC().getCitizen();
    Toggle toggle = Toggle.valueOf(action.asString().toUpperCase());
    npc.setProtected(!(toggle == Toggle.TOGGLE ? npc.isProtected() : action.asBoolean()));
}
Also used : NPC(net.citizensnpcs.api.npc.NPC) BukkitScriptEntryData(net.aufdemrand.denizen.BukkitScriptEntryData) Element(net.aufdemrand.denizencore.objects.Element)

Example 17 with NPC

use of net.citizensnpcs.api.npc.NPC in project Denizen-For-Bukkit by DenizenScript.

the class dNPC method matches.

public static boolean matches(String string) {
    // If using object notation, assume it's valid
    if (CoreUtilities.toLowerCase(string).startsWith("n@")) {
        return true;
    }
    // Otherwise, let's do checks
    string = string.toUpperCase().replace("N@", "");
    NPC npc;
    if (aH.matchesInteger(string)) {
        npc = CitizensAPI.getNPCRegistry().getById(aH.getIntegerFrom(string));
        if (npc != null) {
            return true;
        }
    } else {
        for (NPC test : CitizensAPI.getNPCRegistry()) {
            if (test.getName().equalsIgnoreCase(string)) {
                return true;
            }
        }
    }
    return false;
}
Also used : NPC(net.citizensnpcs.api.npc.NPC)

Example 18 with NPC

use of net.citizensnpcs.api.npc.NPC in project Denizen-For-Bukkit by DenizenScript.

the class dNPCRegistry method onRemove.

// <--[action]
// @Actions
// remove
// @Triggers when the NPC is removed.
//
// @Context
// None
// -->
/**
     * Removes an NPC from the Registry when removed from Citizens.
     *
     * @param event NPCRemoveEvent
     */
@EventHandler
public void onRemove(NPCRemoveEvent event) {
    NPC npc = event.getNPC();
    getDenizen(npc).action("remove", null);
    if (_isRegistered(npc)) {
        denizenNPCs.remove(npc.getId());
        npcInventories.remove(npc.getId());
    }
    FlagManager.clearNPCFlags(npc.getId());
}
Also used : NPC(net.citizensnpcs.api.npc.NPC) net.aufdemrand.denizen.objects.dNPC(net.aufdemrand.denizen.objects.dNPC) EventHandler(org.bukkit.event.EventHandler)

Aggregations

NPC (net.citizensnpcs.api.npc.NPC)18 net.aufdemrand.denizen.objects.dNPC (net.aufdemrand.denizen.objects.dNPC)5 Element (net.aufdemrand.denizencore.objects.Element)5 Player (org.bukkit.entity.Player)4 net.aufdemrand.denizen.objects.dPlayer (net.aufdemrand.denizen.objects.dPlayer)3 BukkitTagContext (net.aufdemrand.denizen.tags.BukkitTagContext)3 Location (org.bukkit.Location)3 Zombie (org.bukkit.entity.Zombie)3 HashMap (java.util.HashMap)2 Pattern (java.util.regex.Pattern)2 FlagManager (net.aufdemrand.denizen.flags.FlagManager)2 net.aufdemrand.denizen.objects.dEntity (net.aufdemrand.denizen.objects.dEntity)2 Attribute (net.aufdemrand.denizencore.tags.Attribute)2 Age (net.citizensnpcs.trait.Age)2 File (java.io.File)1 Connection (java.sql.Connection)1 SQLException (java.sql.SQLException)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 UUID (java.util.UUID)1