• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot PlotSqured 1.13.2 "/rand" Command

B

BrutalVerzockt

Guest
Hallo Minecraft-Server-Programmier-Forum,
ich habe heute ein Problem, womit ich versuche mich mit zubefasen, habe versucht die API zu versteht von "PlotSqured-Bukkit-4.301",
es gibt leider keine Fehler weder in der IDE noch in der Konsole, bitte um eure Hilfe :-D.

Es liegt nicht an der ausführung, es liegt am Code, aber es gibt keine Fehler..:
package net.brutalverzockt.citybuild.cmds;

import com.github.intellectualsites.plotsquared.api.PlotAPI;
import com.github.intellectualsites.plotsquared.plot.config.Configuration;
import com.github.intellectualsites.plotsquared.plot.object.*;
import net.brutalverzockt.citybuild.main.ItemBuilder;
import net.brutalverzockt.citybuild.main.Main;
import net.brutalverzockt.citybuild.main.Strings;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;

public class Rand_cmd implements CommandExecutor, Listener {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        PlotAPI api = new PlotAPI();
        if (sender instanceof Player) {
            Player p = (Player) sender;
            if (args.length == 0) {
                Inventory inv = Bukkit.createInventory(null, 27, "§8» §fWähle deinen Rand");
                setInventoryItems(inv);
                p.openInventory(inv);
            } else
                p.sendMessage(Strings.usage + "/rand");
        } else
            sender.sendMessage(Strings.noplayer);
        return false;
    }

    @EventHandler
    public void onInteract(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();

        if(e.getClickedInventory() != null && e.getClickedInventory().getTitle().equals("§8» §fWähle deinen Rand")) {
            if (e.getCurrentItem() != null) {
                e.setCancelled(true);
                PlotAPI api = new PlotAPI();
                Plot plot = api.getPlotSquared().getPlot(api.getPlotSquared().getFirstPlotArea(), new PlotId(p.getLocation().getBlockX(), p.getLocation().getBlockY()));
                
                BlockBucket block = Configuration.BLOCK_BUCKET.parseString(e.getCurrentItem().getType().toString());
                if (plot.getConnectedPlots().size() > 1) {
                    for (Plot plots : plot.getConnectedPlots()) {
                        api.getPlotSquared().getPlotManager(plots).setComponent(plots.getId(), "border", block);
                    }
                    p.sendMessage(Strings.prefix + "Der Rand wurde zu §a" + block.toString() + " §7geändert");
                } else {
                    api.getPlotSquared().getPlotManager(plot).setComponent(plot.getId(), "border", block);
                    p.sendMessage(Strings.prefix + "Der Rand wurde zu §a" + block.toString() + " §7geändert");
                }

                Bukkit.getScheduler().scheduleAsyncDelayedTask(Main.getInstance(), new Runnable() {
                    @Override
                    public void run() {
                        plot.setSign();
                    }
                });
            } else
                e.setCancelled(true);
        }
    }

        public void setInventoryItems (Inventory inv) {
            inv.setItem(0, new ItemBuilder(Material.MELON).setDisplayName("§aMelonen").create());
            inv.setItem(1, new ItemBuilder(Material.RED_MUSHROOM_BLOCK).setDisplayName("§cRote Pilze").create());
            inv.setItem(2, new ItemBuilder(Material.LEGACY_REDSTONE_LAMP_ON).setDisplayName("§eLeuchtende Lampen").create());
            inv.setItem(3, new ItemBuilder(Material.GOLD_BLOCK).setDisplayName("§eGoldblöcke").create());
            inv.setItem(4, new ItemBuilder(Material.RED_NETHER_BRICKS).setDisplayName("§cRote Nether Ziegel").create());
            inv.setItem(5, new ItemBuilder(Material.PURPUR_BLOCK).setDisplayName("§dLila Endblöcke").create());
            inv.setItem(6, new ItemBuilder(Material.SMOOTH_STONE).setDisplayName("§7Glatte Steine").create());
            inv.setItem(7, new ItemBuilder(Material.STONE_BRICK_SLAB).setDisplayName("§8Steinziegelplatten").create());
            inv.setItem(8, new ItemBuilder(Material.COBBLESTONE_SLAB).setDisplayName("§8Bruchsteinplatten").create()); //9
            inv.setItem(9, new ItemBuilder(Material.PUMPKIN).setDisplayName("§6Kürbise").create());
            inv.setItem(10, new ItemBuilder(Material.NOTE_BLOCK).setDisplayName("§4Notenblöcke").create());
            inv.setItem(11, new ItemBuilder(Material.SEA_LANTERN).setDisplayName("§bSeelaternen").create());
            inv.setItem(12, new ItemBuilder(Material.EMERALD_BLOCK).setDisplayName("§aEmeraldblöcke").create());
            inv.setItem(13, new ItemBuilder(Material.NETHER_WART_BLOCK).setDisplayName("§4Netherwarzenblöcke").create());
            inv.setItem(14, new ItemBuilder(Material.END_STONE_BRICKS).setDisplayName("§fEndsteinziegelblöcke").create());
            inv.setItem(15, new ItemBuilder(Material.GRASS_BLOCK).setDisplayName("§aGrassblöcke").create());
            inv.setItem(16, new ItemBuilder(Material.SPRUCE_SLAB).setDisplayName("§6Fichtenplatten").create());
            inv.setItem(17, new ItemBuilder(Material.OAK_SLAB).setDisplayName("§6Holzplatten").create());
            inv.setItem(18, new ItemBuilder(Material.BIRCH_WOOD).setDisplayName("§eFichtenholzblöcke").create());
            inv.setItem(19, new ItemBuilder(Material.OAK_WOOD).setDisplayName("§eEichenholzblöcke").create());
            inv.setItem(20, new ItemBuilder(Material.DARK_OAK_WOOD).setDisplayName("§eDunkle Eichenholzblöcke").create());
            inv.setItem(21, new ItemBuilder(Material.DIAMOND_BLOCK).setDisplayName("§bDiamantblöcke").create());
            inv.setItem(22, new ItemBuilder(Material.QUARTZ_BLOCK).setDisplayName("§fQuartzblöcke").create());
            inv.setItem(23, new ItemBuilder(Material.END_STONE).setDisplayName("§eEndsteinblöcke").create());
            inv.setItem(24, new ItemBuilder(Material.BOOKSHELF).setDisplayName("§6Bücherregalblöcke").create());
            inv.setItem(25, new ItemBuilder(Material.NETHER_BRICK_SLAB).setDisplayName("§4Netherziegelplatten").create());
            inv.setItem(26, new ItemBuilder(Material.DARK_OAK_SLAB).setDisplayName("§4Dunkle Eichenholzplatten").create());
    }
}

Vielen Dank schonmal im voraus.
 
B

BrutalVerzockt

Guest
Okay, das ganze hat sich erledigt, hier war die Lösung:

Es lag am Code....:
import com.github.intellectualsites.plotsquared.api.PlotAPI;
import com.github.intellectualsites.plotsquared.plot.config.Configuration;
import com.github.intellectualsites.plotsquared.plot.object.*;
import net.brutalverzockt.citybuild.main.ItemBuilder;
import net.brutalverzockt.citybuild.main.Main;
import net.brutalverzockt.citybuild.main.Strings;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;

public class Rand_cmd implements CommandExecutor, Listener {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        PlotAPI api = new PlotAPI();
        if (sender instanceof Player) {
            Player p = (Player) sender;
            if (args.length == 0) {
                Inventory inv = Bukkit.createInventory(null, 27, "§8» §fWähle deinen Rand");
                setInventoryItems(inv);
                p.openInventory(inv);
            } else
                p.sendMessage(Strings.usage + "/rand");
        } else
            sender.sendMessage(Strings.noplayer);
        return false;
    }

    @EventHandler
    public void onInteract(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();

        if(e.getClickedInventory() != null && e.getClickedInventory().getTitle().equals("§8» §fWähle deinen Rand")) {
            if (e.getCurrentItem() != null) {
                e.setCancelled(true);
                PlotAPI api = new PlotAPI();
                Plot plot = Plot.getPlot(new Location(p.getWorld().getName(), p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()));
                
                BlockBucket block = Configuration.BLOCK_BUCKET.parseString(e.getCurrentItem().getType().toString());
                if (plot.getConnectedPlots().size() > 1) {
                    for (Plot plots : plot.getConnectedPlots()) {
                        api.getPlotSquared().getPlotManager(plots).setComponent(plots.getId(), "border", block);
                    }
                    p.sendMessage(Strings.prefix + "Der Rand wurde zu §a" + block.toString() + " §7geändert");
                } else {
                    api.getPlotSquared().getPlotManager(plot).setComponent(plot.getId(), "border", block);
                    p.sendMessage(Strings.prefix + "Der Rand wurde zu §a" + block.toString() + " §7geändert");
                }

                Bukkit.getScheduler().scheduleAsyncDelayedTask(Main.getInstance(), new Runnable() {
                    @Override
                    public void run() {
                        plot.setSign();
                    }
                });
            } else
                e.setCancelled(true);
        }
    }

        public void setInventoryItems (Inventory inv) {
            inv.setItem(0, new ItemBuilder(Material.MELON).setDisplayName("§aMelonen").create());
            inv.setItem(1, new ItemBuilder(Material.RED_MUSHROOM_BLOCK).setDisplayName("§cRote Pilze").create());
            inv.setItem(2, new ItemBuilder(Material.LEGACY_REDSTONE_LAMP_ON).setDisplayName("§eLeuchtende Lampen").create());
            inv.setItem(3, new ItemBuilder(Material.GOLD_BLOCK).setDisplayName("§eGoldblöcke").create());
            inv.setItem(4, new ItemBuilder(Material.RED_NETHER_BRICKS).setDisplayName("§cRote Nether Ziegel").create());
            inv.setItem(5, new ItemBuilder(Material.PURPUR_BLOCK).setDisplayName("§dLila Endblöcke").create());
            inv.setItem(6, new ItemBuilder(Material.SMOOTH_STONE).setDisplayName("§7Glatte Steine").create());
            inv.setItem(7, new ItemBuilder(Material.STONE_BRICK_SLAB).setDisplayName("§8Steinziegelplatten").create());
            inv.setItem(8, new ItemBuilder(Material.COBBLESTONE_SLAB).setDisplayName("§8Bruchsteinplatten").create()); //9
            inv.setItem(9, new ItemBuilder(Material.PUMPKIN).setDisplayName("§6Kürbise").create());
            inv.setItem(10, new ItemBuilder(Material.NOTE_BLOCK).setDisplayName("§4Notenblöcke").create());
            inv.setItem(11, new ItemBuilder(Material.SEA_LANTERN).setDisplayName("§bSeelaternen").create());
            inv.setItem(12, new ItemBuilder(Material.EMERALD_BLOCK).setDisplayName("§aEmeraldblöcke").create());
            inv.setItem(13, new ItemBuilder(Material.NETHER_WART_BLOCK).setDisplayName("§4Netherwarzenblöcke").create());
            inv.setItem(14, new ItemBuilder(Material.END_STONE_BRICKS).setDisplayName("§fEndsteinziegelblöcke").create());
            inv.setItem(15, new ItemBuilder(Material.GRASS_BLOCK).setDisplayName("§aGrassblöcke").create());
            inv.setItem(16, new ItemBuilder(Material.SPRUCE_SLAB).setDisplayName("§6Fichtenplatten").create());
            inv.setItem(17, new ItemBuilder(Material.OAK_SLAB).setDisplayName("§6Holzplatten").create());
            inv.setItem(18, new ItemBuilder(Material.BIRCH_WOOD).setDisplayName("§eFichtenholzblöcke").create());
            inv.setItem(19, new ItemBuilder(Material.OAK_WOOD).setDisplayName("§eEichenholzblöcke").create());
            inv.setItem(20, new ItemBuilder(Material.DARK_OAK_WOOD).setDisplayName("§eDunkle Eichenholzblöcke").create());
            inv.setItem(21, new ItemBuilder(Material.DIAMOND_BLOCK).setDisplayName("§bDiamantblöcke").create());
            inv.setItem(22, new ItemBuilder(Material.QUARTZ_BLOCK).setDisplayName("§fQuartzblöcke").create());
            inv.setItem(23, new ItemBuilder(Material.END_STONE).setDisplayName("§eEndsteinblöcke").create());
            inv.setItem(24, new ItemBuilder(Material.BOOKSHELF).setDisplayName("§6Bücherregalblöcke").create());
            inv.setItem(25, new ItemBuilder(Material.NETHER_BRICK_SLAB).setDisplayName("§4Netherziegelplatten").create());
            inv.setItem(26, new ItemBuilder(Material.DARK_OAK_SLAB).setDisplayName("§4Dunkle Eichenholzplatten").create());
    }
}
 
Oben