• 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 Probleme beim Plugin

D

deleted201903

Guest
java:
package me.EndportalBreaker.main;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockDamageEvent;
import org.bukkit.inventory.ItemStack;

public class Breaker implements Listener {

    @EventHandler
    public void onBreak(BlockDamageEvent e) {
        Block b = e.getBlock();
        Location bl = b.getLocation();
        Player p = e.getPlayer();

        if (b.getType() == Material.ENDER_PORTAL_FRAME) {
            Location bloc = new Location(b.getWorld(), bl.getBlockX(), bl.getBlockY(), bl.getBlockZ());
            if (p.getItemInHand().getType().equals(Material.DIAMOND_PICKAXE)) {
                if (p.getItemInHand().getItemMeta().getDisplayName().contains("Endportal Breaker")) {
                    if (p.getWorld().getName().equals("Claim")) {
                        b.getWorld().dropItemNaturally(e.getBlock().getLocation(),
                                new ItemStack(Material.ENDER_PORTAL_FRAME));
                        b.breakNaturally();
                        p.sendMessage("Debug | 3");

                    }
                }
            }
        }

    }

}

Das Problem ist dabei das man trotz keine Rechte hat das Ding abbauen kann von anderen grundstücken weil es kein BlockBreakEvent ist.
Habe versucht es in BlockBreakEvent gemacht, aber leider weiß ich wie ich bestimmen kann das man den Unzerstörbaren Block
im BlockBreak Event bestimmen um es damit abbauen zu lassen, sollte jemand Ahnung haben, bitte einfach mal schreiben wie ich
es umsetzen kann.

Mit freundlichen Grüßen,

Pyario
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Ich vermute mal, dass "Endportal Breaker" von einem Fremdplugin kommt. Zunächst solltest du schauen, ob dieses Plugin eine API anbietet, also z.B. ein Event wirft.
Falls nicht, kannst du zumindest ein paar Sachen ausprobieren. Das Plugin wird das PlayerInteractEvent abfangen. Dieses solltest du auch tun mit Priority=EventPriority.LOWEST und das Event gegebenenfalls abbrechen. Und dann musst du hoffen, dass das Fremdplugin prüft, ob das Event abgebrochen wurde.
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Dann musst du schon das PlayerInteractEvent behandeln?
Dann würde es vielleicht Sinn machen, wenn du eine eigene Instanz eines BlockBreakEvent erzeugst, das aufrufst und dann schaust, ob andere Plugins es abgebrochen haben.
 
Oben