- Баллы
- 76
- Имя в Minecraft
- DragOn4ik
Здравствуйте. Получаю NPE в плагине.
Код плагина ниже. Версия 1.12.2
NPE на 55 строке TrapSet.java
P.S. Еще одна проблема: при активации эвента ничего не происходит(Клик ПКМ с палкой в руке, у который DisplayName "Ловушка".
Код плагина ниже. Версия 1.12.2
NPE на 55 строке TrapSet.java
P.S. Еще одна проблема: при активации эвента ничего не происходит(Клик ПКМ с палкой в руке, у который DisplayName "Ловушка".
Код:
package net.darkmine.trap;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;
public class Trap extends JavaPlugin{
FileConfiguration config = null;
public void onEnable() {
getCommand("trapset").setExecutor(new TrapSet());
Bukkit.getPluginManager().registerEvents(new TrapSet(), this);
config = getConfig();
saveDefaultConfig();
config.options().copyDefaults(true);
}
public void onDisable() {
saveConfig();
}
}
Код:
package net.darkmine.trap;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.ItemMeta;
public class TrapSet implements Listener, CommandExecutor{
Trap plugin;
public void rightClickTrap(PlayerInteractEvent e) {
if(!e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) return;
if(!e.getAction().equals(Action.RIGHT_CLICK_AIR)) return;
if(!e.getItem().hasItemMeta()) return;
if(!e.getPlayer().hasPermission("trap.set")) return;
ItemStack trapItem = new ItemStack(Material.STICK);
ItemMeta trapMeta = trapItem.getItemMeta();
trapMeta.setDisplayName(ChatColor.RED + "Ловушка");
trapItem.setItemMeta(trapMeta);
if(!e.getItem().isSimilar(trapItem));
Player p = e.getPlayer();
Location ploc = p.getLocation();
Location loc = ploc.subtract(0, 1, 0);
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".active", true);
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".player", p.getName());
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".level", 1);
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "particle cloud " + loc.getBlockX() + " " + loc.getBlockY() + " " + loc.getBlockZ() + " 1 1 1 1 300");
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "title " + p.getName() + " subtitle [\"\",{\"text\":\"Ловушка установлена\",\"color\":\"aqua\"}]");
p.sendMessage(ChatColor.AQUA + "Вы установили ловушку [" + loc.getBlockX() + ", " + loc.getBlockY() + ", " + loc.getBlockZ() + "]");
}
public String locationToDLF(Location loc) {
return loc.getBlockX() + "_" + loc.getBlockY() + "_" + loc.getBlockZ();
}
@SuppressWarnings("deprecation")
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player)sender;
if(!p.hasPermission("trap.set.command")) {
p.sendMessage(ChatColor.RED + "Недостаточно прав!");
return true;
}
Location ploc = p.getLocation();
Location loc = ploc.subtract(0, 1, 0);
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".active", true);
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".player", p.getName());
plugin.getConfig().set("blocks." + locationToDLF(loc) + ".level", 1);
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "particle cloud " + loc.getBlockX() + " " + loc.getBlockY() + " " + loc.getBlockZ() + " 1 1 1 1 300");
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), "title " + p.getName() + " subtitle [\"\",{\"text\":\"Ловушка установлена\",\"color\":\"aqua\"}]");
p.sendMessage(ChatColor.AQUA + "Вы установили ловушку [" + loc.getBlockX() + ", " + loc.getBlockY() + ", " + loc.getBlockZ() + "]");
return true;
}
}
Код:
main: net.darkmine.trap.Trap
name: Trap
version: '1.0'
description: Trap
author: DragOn4ik
commands:
trapset:
description: Set a trap
permission: trap.set
usage: /<command>
*в этом файле ничего нет*
Код:
[17:45:35 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'trapset' in plugin Trap v1.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_172]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_172]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_172] Caused by: java.lang.NullPointerException
at net.darkmine.trap.TrapSet.onCommand(TrapSet.java:55) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-eb3d921-2b93d83]
... 15 more