Код: Выделить всё
package me.grubbauer.endcrafter;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.plugin.java.JavaPlugin;
public final class EndCrafter extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
Block block = event.getBlock();
if (block.getType() == Material.END_PORTAL) {
// Check if the player has silk touch
if (event.getPlayer().getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH)) {
// Drop end portal blocks
dropEndPortalBlocks(block);
// Cancel the event so the original block doesn't drop anything
event.setCancelled(true);
}
}
}
private void dropEndPortalBlocks(Block block) {
// Drop end portal blocks
for (BlockFace face : BlockFace.values()) {
Block adjacentBlock = block.getRelative(face);
if (adjacentBlock.getType() == Material.END_PORTAL_FRAME) {
adjacentBlock.breakNaturally();
}
}
}
}
Блок разрушается и блок выпадает при добыче с помощью Silk Touch.
Результат:
Не мой< /п>
Подробнее здесь: https://stackoverflow.com/questions/782 ... ava-bukkit