Minecraft Java БуккитJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Minecraft Java Буккит

Сообщение Anonymous »

Я хочу сделать так, чтобы работал мой плагин bukkit-paper для 1.20.1, где вы можете добыть рамку конечного портала с помощью Silk Touch, и он добывает, и вы получаете предмет:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»