Minecraft Plugin, Mineable Spawner?
Hey, ich soll für ein Kumpel plugins programmieren. Ich programmiere auch schon seit 3 Jahren. Aber jetzt bin ic auf ein Problem gestoßen.
Wer will das man Spawner abbauen kann. Mit einer Spitzhacke die Silktouch hat. Das ist mein erstes problem. Mein zweites ist, wie ich den type des Spawners speichern kann. Also Zombie, Creeper, usw.
Wie kann man das programmieren.
Minecraft: 1.16.5, Spigot
2 Antworten
- 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
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java, Minecraft, Spigot
1. Du brauchst das BlockBreakEvent und testest, ob p.getInventory().getItemInMainHand() eine Spitzhacke ist und sie das Enchantment Silk Touch hat und spawnst dann das Item
2. Das geht glaube ich mit SpawnerMeta spawnerMeta = spawner.getItemMeta() oder so
Woher ich das weiß:Hobby – Habe ich in 2015-2022 gezockt aber ark ist besser