Hi zusammen,
ich schreibe gerade an einem Plugin, bei dem man unter anderem Kisten per Command beschriften lassen kann. Per
/boxsign Holz
und einem Klick auf eine Kiste soll an dessen Vorderseite ein Schild mit dem entsprechenden Text (z.B. "Holz") angebracht werden. Klappt auch schon soweit.
Beim Abbau der Kiste werden Schilder ja dann normalerweise auch einfach abgebaut und der Spieler kann sie in sein Inventar holen. Das will ich aber in meinem Fall vermeiden, damit man sich nicht unendlich viele Schilder generieren lassen kann.
Ist es irgendwie möglich, dass ich das Schild beim Abbau der Kiste lösche, bevor der Spieler es aufsammelt?
Mein bisheriger Ansatz sieht so aus:
Der Code bei // TODO ist das, was mir fehlt.
Grüße
Proxx
ich schreibe gerade an einem Plugin, bei dem man unter anderem Kisten per Command beschriften lassen kann. Per
/boxsign Holz
und einem Klick auf eine Kiste soll an dessen Vorderseite ein Schild mit dem entsprechenden Text (z.B. "Holz") angebracht werden. Klappt auch schon soweit.
Beim Abbau der Kiste werden Schilder ja dann normalerweise auch einfach abgebaut und der Spieler kann sie in sein Inventar holen. Das will ich aber in meinem Fall vermeiden, damit man sich nicht unendlich viele Schilder generieren lassen kann.
Ist es irgendwie möglich, dass ich das Schild beim Abbau der Kiste lösche, bevor der Spieler es aufsammelt?
Mein bisheriger Ansatz sieht so aus:
Code:
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
Block block = event.getBlock();
// check if a chest was broken, return otherwise
Material blockType = block.getType();
if(blockType != Material.CHEST) {
return;
}
// check if the chest is a box in the database, return otherwise
if(!isChestRegistered(block)) {
return;
}
// delete the chest in the database
unregisterChest(block);
// TODO: delete all adjacent signs and their drops
}
Der Code bei // TODO ist das, was mir fehlt.
Grüße
Proxx
Zuletzt bearbeitet: