При Shift+ПКМ должно открываться gui, но оно не открывается и выдает ошибку "Could not pass event PlayerInteractEntityEvent to BMArmorStand v0.1-BETA"
Можете также подсказать, почему со свинкой срабатывает действие, а с АрморСтендом нет?
А ещё нельзя перетаскивать предметы и в инвентаре
Можете также подсказать, почему со свинкой срабатывает действие, а с АрморСтендом нет?
А ещё нельзя перетаскивать предметы и в инвентаре
Java:
package org.bamboomine.mc.bmarmorstand;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class BMArmorStand extends JavaPlugin {
public Inventory gui;
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(new EventListener(), this);
gui = Bukkit.createInventory(null, 45, "Редактирование АрморСтенда");
ItemStack decoration = new ItemStack(Material.GRAY_STAINED_GLASS_PANE);
ItemMeta decorationItemMeta = decoration.getItemMeta();
decorationItemMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "#FF0000Привет"));
decoration.setItemMeta(decorationItemMeta);
gui.setItem(0, decoration);
gui.setItem(1, decoration);
gui.setItem(2, decoration);
gui.setItem(3, decoration);
gui.setItem(4, decoration);
gui.setItem(5, decoration);
Bukkit.getServer().getConsoleSender().sendMessage("[BMArmorStand] Активирован!");
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
Java:
package org.bamboomine.mc.bmarmorstand;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
public class EventListener implements Listener {
@EventHandler
public void ShiftRCArmorStand(PlayerInteractEntityEvent e) {
Player player = e.getPlayer();
Entity entity = e.getRightClicked();
if (player.isSneaking() && entity.getType() == EntityType.PIG) {
player.sendMessage("Ты кликнул!");
player.openInventory(new BMArmorStand().gui);
}
}
@EventHandler
public void onInvClick(InventoryClickEvent e) {
if (e.getInventory().getHolder() != null) {
e.setCancelled(true);
}
}
}
Последнее редактирование: