Wenn müsstest du DataPacks benutzen um Items in eine frühere version zu übertragen. Es wäre praktisch wie als würdest du ein neues Item zum Spiel hinzufügen
Antwort
Antwort
- du fragst ab ob der abgebaute Block ein Spawner ist mit event.getBlock.getType().equals(Material.SPAWNER)
2.du fragst ab ob der Spieler eine Spitzhacke in der Hand hält mit event.getPlayer().getItemInHand().equals(new ItemStack(Material.DIAMOND_PICKAXE))
(Das musst du für jede Spitzhacke machen mit der das möglich sein soll, d.h. Diamond, Iron, etc.)
3. du fragst ab ob die Spitzhacke mit Silktouch verzaubert ist. Ich weis leider nicht ganz genau wie das geht aber da gibt es bestimmt andere Leute die die selbe Frage schon beantwortet haben ;D
4.Falls alle vorherigen Abfragen true sind droppst du einen Spawner mit event.getBlock().getWorld().dropItemNaturally(event.getBlock().getLocation(), new ItemStack((ItemStack)material))
material ist hier eine Variable:
BlockData material = Material.SPAWNER.createBlockData(String.valueOf(event.getBlock().getBlockData()));
ich kann gerade leider nicht testen ob das mit dem Spawner typ so funktioniert, aber falls es erstmal reicht einen normalen Spawner zu droppen um alles zu testen kannst du auch event.getBlock().getWorld().dropItemNaturally(event.getBlock().getLocation(), new ItemStack(Material.SPAWNER)) nutzen
ich hoff des funktioniert so alles, hab wie gesagt noch nichts testen können, aber ich denke es sollte so funktionieren
LG
Antwort
Hi,
du kannst in einem BlockBreakEvent abfragen, ob der Spieler OP ist und dann falls der Spieler kein OP hat das Event canceln
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
public class BlockBreak implements Listener {
@EventHandler
public void onBreak(BlockBreakEvent event){
if(!event.getPlayer().isOp()){
event.setCancelled(true);
}
}
}