Помогите Печка срёт ошЫбками

Статус
Закрыто для дальнейших ответов.

XjCyan1de

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
XjCyan1de
Собсна проблема в том что мне надо разрешить эвент когда есть слизь с названием "Каучук", а если обычная слизь или другая то запретить. Мой код прекрасно справляется с задачей но проблема в том что если запихнуть обычную слизь то в консоль начинает срать печка с ошЫбками с интенсивностью около 20 ошЫбок в секунду... Но зато эвент запрещает и это радует :good:

Лог ошЫбок (повторяется постоянно когда обычная слизь в печке):
Код:
[10:12:12 ERROR]: Could not pass event FurnaceBurnEvent to CyanTech v16.12.27 Snapshot
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.TileEntityFurnace.F_(TileEntityFurnace.java:195) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.World.tickEntities(World.java:1501) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.WorldServer.tickEntities(WorldServer.java:617) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:806) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:675) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:574) [spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_112]
Caused by: java.lang.NullPointerException
        at me.xjcyan1de.cyantech.events.DisableSmelt.CTRubberSmelt(DisableSmelt.java:20) ~[?:?]
        at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_112]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_112]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-50acb44]
        ... 11 more

Код (20 строчка : "if (smelting.getItemMeta().getDisplayName().equals("§eКаучук")) {")
Java:
public class DisableSmelt implements Listener {

@EventHandlerpublic void CTRubberSmelt(FurnaceBurnEvent event) {
Furnace f = (Furnace) event.getBlock().getState();
FurnaceInventory inv = f.getInventory();
ItemStack smelting = inv.getSmelting();
if (smelting.getType().equals(Material.SLIME_BALL)) {
event.setCancelled(true);
if (smelting.getItemMeta().getDisplayName().equals("§eКаучук")) {
event.setCancelled(false);
}
}
}
}
 
Последнее редактирование:
hasItemMeta() && getItemMeta().hasDisplayName()
Спасибо! для тех кому интересно:
Java:
@EventHandlerpublic void CTRubberSmelt(FurnaceBurnEvent event) {
Furnace f = (Furnace) event.getBlock().getState();
FurnaceInventory inv = f.getInventory();
ItemStack smelting = inv.getSmelting();
if (smelting.getType().equals(Material.SLIME_BALL)) {event.setCancelled(true);
if (smelting.hasItemMeta() && smelting.getItemMeta().getDisplayName().equals("§eКаучук")) {
event.setCancelled(false);
}}}
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх