Search in sources :

Example 81 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class Denizen method onCommand.

@Override
public boolean onCommand(CommandSender sender, Command cmd, String cmdName, String[] args) {
    if (cmdName.equalsIgnoreCase("ex")) {
        List<Object> entries = new ArrayList<Object>();
        String entry = "";
        for (String arg : args) {
            entry = entry + arg + " ";
        }
        if (entry.length() < 2) {
            sender.sendMessage("/ex <dCommand> (arguments)");
            return true;
        }
        if (Settings.showExHelp()) {
            if (dB.showDebug) {
                sender.sendMessage(ChatColor.YELLOW + "Executing dCommand... check the console for debug output!");
            } else {
                sender.sendMessage(ChatColor.YELLOW + "Executing dCommand... to see debug, use /denizen debug");
            }
        }
        entries.add(entry);
        InstantQueue queue = InstantQueue.getQueue(ScriptQueue.getNextId("EXCOMMAND"));
        dNPC npc = null;
        if (Depends.citizens != null && Depends.citizens.getNPCSelector().getSelected(sender) != null) {
            npc = new dNPC(Depends.citizens.getNPCSelector().getSelected(sender));
        }
        List<ScriptEntry> scriptEntries = ScriptBuilder.buildScriptEntries(entries, null, new BukkitScriptEntryData(sender instanceof Player ? new dPlayer((Player) sender) : null, npc));
        queue.addEntries(scriptEntries);
        queue.start();
        return true;
    }
    String modifier = args.length > 0 ? args[0] : "";
    if (!commandManager.hasCommand(cmd, modifier) && !modifier.isEmpty()) {
        return suggestClosestModifier(sender, cmd.getName(), modifier);
    }
    Object[] methodArgs = { sender };
    return commandManager.executeSafe(cmd, args, sender, methodArgs);
}
Also used : OfflinePlayer(org.bukkit.OfflinePlayer) Player(org.bukkit.entity.Player) FakePlayer(net.aufdemrand.denizen.nms.interfaces.FakePlayer) ArrayList(java.util.ArrayList) net.aufdemrand.denizencore.objects.dObject(net.aufdemrand.denizencore.objects.dObject) InstantQueue(net.aufdemrand.denizencore.scripts.queues.core.InstantQueue) ScriptEntry(net.aufdemrand.denizencore.scripts.ScriptEntry)

Example 82 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class Denizen method onDisable.

/*
     * Unloads Denizen on shutdown of the craftbukkit server.
     */
@Override
public void onDisable() {
    if (!startedSuccessful) {
        return;
    }
    // <--[event]
    // @Events
    // shutdown
    //
    // @Warning not all plugins will be loaded and delayed scripts will be dropped.
    //
    // @Triggers when the server is shutting down.
    //
    // @Context
    // None.
    //
    // -->
    HashMap<String, dObject> context = new HashMap<String, dObject>();
    OldEventManager.doEvents(Arrays.asList("shutdown"), new BukkitScriptEntryData(null, null), context);
    // Disable the log interceptor... otherwise bad things on /reload
    logInterceptor.standardOutput();
    // Save notables
    notableManager.saveNotables();
    // Save scoreboards
    ScoreboardHelper._saveScoreboards();
    // Save entities
    EntityScriptHelper.saveEntities();
    // Save offline player inventories
    InventoryScriptHelper._savePlayerInventories();
    // Deconstruct listeners (server shutdown seems not to be triggering a PlayerQuitEvent)
    for (Player player : this.getServer().getOnlinePlayers()) {
        getListenerRegistry().deconstructPlayer(dPlayer.mirrorBukkitPlayer(player));
    }
    for (OfflinePlayer player : this.getServer().getOfflinePlayers()) {
        try {
            getListenerRegistry().deconstructPlayer(dPlayer.mirrorBukkitPlayer(player));
        } catch (Exception e) {
            if (player == null) {
                dB.echoError("Tell the Denizen team ASAP about this error! ERR: OPN: " + e.toString());
            } else {
                dB.echoError("'" + player.getName() + "' is having trouble deconstructing! " + "You might have a corrupt player file!");
            }
        }
    }
    // Unload loaded dExternals
    for (dExternal external : RuntimeCompiler.loadedExternals) {
        external.unload();
    }
    RuntimeCompiler.loadedExternals.clear();
    //Disable core members
    getCommandRegistry().disableCoreMembers();
    getLogger().log(Level.INFO, " v" + getDescription().getVersion() + " disabled.");
    Bukkit.getServer().getScheduler().cancelTasks(this);
    HandlerList.unregisterAll(this);
    for (World world : getServer().getWorlds()) {
        EntityScriptHelper.unlinkWorld(world);
    }
    saveSaves();
}
Also used : net.aufdemrand.denizencore.interfaces.dExternal(net.aufdemrand.denizencore.interfaces.dExternal) OfflinePlayer(org.bukkit.OfflinePlayer) Player(org.bukkit.entity.Player) FakePlayer(net.aufdemrand.denizen.nms.interfaces.FakePlayer) HashMap(java.util.HashMap) net.aufdemrand.denizencore.objects.dObject(net.aufdemrand.denizencore.objects.dObject) OfflinePlayer(org.bukkit.OfflinePlayer) World(org.bukkit.World) IOException(java.io.IOException)

Example 83 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class DenizenCommandHandler method reload.

/*
     * DENIZEN RELOAD
     */
@Command(aliases = { "denizen" }, usage = "reload (saves|notables|config|scripts|externals) (-a)", desc = "Reloads various Denizen files from disk to memory.", modifiers = { "reload" }, min = 1, max = 3, permission = "denizen.basic", flags = "a")
public void reload(CommandContext args, CommandSender sender) throws CommandException {
    // Get reload type
    if (args.hasFlag('a')) {
        denizen.reloadConfig();
        denizen.runtimeCompiler.reload();
        DenizenCore.reloadScripts();
        denizen.notableManager().reloadNotables();
        denizen.reloadSaves();
        Messaging.send(sender, "Denizen/saves.yml, Denizen/notables.yml, Denizen/config.yml, Denizen/scripts/..., and Denizen/externals/... reloaded from disk to memory.");
        if (ScriptHelper.hadError()) {
            Messaging.sendError(sender, "There was an error loading your scripts, check the console for details!");
        }
        // TODO: Properly handle player vs. npc?
        ReloadScriptsScriptEvent.instance.reset();
        ReloadScriptsScriptEvent.instance.all = true;
        ReloadScriptsScriptEvent.instance.hadError = ScriptHelper.hadError();
        ReloadScriptsScriptEvent.instance.sender = sender.getName();
        ReloadScriptsScriptEvent.instance.data = new BukkitScriptEntryData(sender instanceof Player ? new dPlayer((Player) sender) : null, null);
        ReloadScriptsScriptEvent.instance.fire();
        return;
    }
    // Reload a specific item
    if (args.length() > 2) {
        if (args.getString(1).equalsIgnoreCase("saves")) {
            denizen.reloadSaves();
            Messaging.send(sender, "Denizen/saves.yml reloaded from disk to memory.");
            return;
        } else if (args.getString(1).equalsIgnoreCase("notables")) {
            denizen.notableManager().reloadNotables();
            Messaging.send(sender, "Denizen/notables.yml reloaded from disk to memory.");
            return;
        } else if (args.getString(1).equalsIgnoreCase("config")) {
            denizen.reloadConfig();
            Messaging.send(sender, "Denizen/config.yml reloaded from disk to memory.");
            return;
        } else if (args.getString(1).equalsIgnoreCase("scripts")) {
            DenizenCore.reloadScripts();
            Messaging.send(sender, "Denizen/scripts/... reloaded from disk to memory.");
            if (ScriptHelper.hadError()) {
                Messaging.sendError(sender, "There was an error loading your scripts, check the console for details!");
            }
            // TODO: Properly handle player vs. npc?
            ReloadScriptsScriptEvent.instance.reset();
            ReloadScriptsScriptEvent.instance.all = false;
            ReloadScriptsScriptEvent.instance.hadError = ScriptHelper.hadError();
            ReloadScriptsScriptEvent.instance.sender = sender.getName();
            ReloadScriptsScriptEvent.instance.data = new BukkitScriptEntryData(sender instanceof Player ? new dPlayer((Player) sender) : null, null);
            ReloadScriptsScriptEvent.instance.fire();
            return;
        } else if (args.getString(1).equalsIgnoreCase("externals")) {
            denizen.runtimeCompiler.reload();
            Messaging.send(sender, "Denizen/externals/... reloaded from disk to memory.");
            return;
        }
    }
    Messaging.send(sender, "");
    Messaging.send(sender, "<f>Specify which parts to reload. Valid options are: SAVES, NOTABLES, CONFIG, SCRIPTS, EXTERNALS");
    Messaging.send(sender, "<b>Example: /denizen reload scripts");
    Messaging.send(sender, "<f>Use '-a' to reload all parts.");
    Messaging.send(sender, "");
}
Also used : Player(org.bukkit.entity.Player) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) Command(net.aufdemrand.denizen.utilities.command.Command)

Example 84 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class DenizenCommandHandler method addnotable.

@Command(aliases = { "notable" }, usage = "add", desc = "Adds a new notable to your current location", modifiers = { "add", "save" }, // before that, so it needs to be high
min = 2, max = 20, permission = "denizen.notable.basic")
public void addnotable(CommandContext args, CommandSender sender) throws CommandException {
    NotableManager.saveAs(new dLocation(((Player) sender).getLocation()), args.getString(1));
    Messaging.send(sender, "Created new notable called " + (args.getString(1)));
}
Also used : Player(org.bukkit.entity.Player) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) net.aufdemrand.denizen.objects.dLocation(net.aufdemrand.denizen.objects.dLocation) Command(net.aufdemrand.denizen.utilities.command.Command)

Example 85 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class ProfileEditor_v1_9_R2 method updatePlayer.

@Override
protected void updatePlayer(Player player, final boolean isSkinChanging) {
    final EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle();
    final UUID uuid = player.getUniqueId();
    PacketPlayOutEntityDestroy destroyPacket = new PacketPlayOutEntityDestroy(entityPlayer.getId());
    for (Player p : Bukkit.getServer().getOnlinePlayers()) {
        if (!p.getUniqueId().equals(uuid)) {
            PacketHelper_v1_9_R2.sendPacket(p, destroyPacket);
        }
    }
    new BukkitRunnable() {

        @Override
        public void run() {
            PacketPlayOutPlayerInfo playerInfo = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, entityPlayer);
            PacketPlayOutNamedEntitySpawn spawnPacket = new PacketPlayOutNamedEntitySpawn(entityPlayer);
            for (Player player : Bukkit.getServer().getOnlinePlayers()) {
                PacketHelper_v1_9_R2.sendPacket(player, playerInfo);
                if (!player.getUniqueId().equals(uuid)) {
                    PacketHelper_v1_9_R2.sendPacket(player, spawnPacket);
                } else {
                    if (isSkinChanging) {
                        boolean isFlying = player.isFlying();
                        PacketHelper_v1_9_R2.sendPacket(player, new PacketPlayOutRespawn(player.getWorld().getEnvironment().getId(), entityPlayer.getWorld().getDifficulty(), entityPlayer.getWorld().worldData.getType(), entityPlayer.playerInteractManager.getGameMode()));
                        player.teleport(player.getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN);
                        player.setFlying(isFlying);
                    }
                    player.updateInventory();
                }
            }
        }
    }.runTaskLater(NMSHandler.getJavaPlugin(), 5);
}
Also used : Player(org.bukkit.entity.Player) EntityPlayer(net.minecraft.server.v1_9_R2.EntityPlayer) CraftPlayer(org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer) PacketPlayOutNamedEntitySpawn(net.minecraft.server.v1_9_R2.PacketPlayOutNamedEntitySpawn) PacketPlayOutEntityDestroy(net.minecraft.server.v1_9_R2.PacketPlayOutEntityDestroy) EntityPlayer(net.minecraft.server.v1_9_R2.EntityPlayer) BukkitRunnable(org.bukkit.scheduler.BukkitRunnable) CraftPlayer(org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer) PacketPlayOutPlayerInfo(net.minecraft.server.v1_9_R2.PacketPlayOutPlayerInfo) PacketPlayOutRespawn(net.minecraft.server.v1_9_R2.PacketPlayOutRespawn) UUID(java.util.UUID)

Aggregations

Player (org.bukkit.entity.Player)2896 EventHandler (org.bukkit.event.EventHandler)795 Location (org.bukkit.Location)374 Test (org.junit.Test)318 ItemStack (org.bukkit.inventory.ItemStack)311 Entity (org.bukkit.entity.Entity)264 ArrayList (java.util.ArrayList)224 LivingEntity (org.bukkit.entity.LivingEntity)176 UUID (java.util.UUID)146 Block (org.bukkit.block.Block)146 OfflinePlayer (org.bukkit.OfflinePlayer)123 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)117 World (org.bukkit.World)115 MyPetPlayer (de.Keyle.MyPet.api.player.MyPetPlayer)106 CommandSender (org.bukkit.command.CommandSender)100 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)88 Inventory (org.bukkit.inventory.Inventory)81 List (java.util.List)80 ISoliniaPlayer (com.solinia.solinia.Interfaces.ISoliniaPlayer)79 Region (br.net.fabiozumbi12.RedProtect.Bukkit.Region)68