So Iv'e made a thread before asking about arenas and I have made some progress, but still not there. All I want is a simple minigame plugin that's basically only PVP. The only part i'm having trouble in is arenas. I have made the method for an arena containing a string as the name and a location for the spawn. I also have made an arenamanager to get the arena but I don't think it's working right. Whenever I try to set a spawn or join an existing arena the console gives me this error Code: at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav a:52) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:127) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:328) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:251) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.ja va:364) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.<init>(CraftServer.java:32 6) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerList.<init>(PlayerList.java:68) ~[ craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedPlayerList.<init>(SourceFile:14 ) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav a:133) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] any help would be awesome! also here's my getArena method and my Arena methods Code: public Arena getArena(String arenaName) { for(Arena arena : arenas) { if(arena.getName().equalsIgnoreCase(arenaName)) return arena; } return null; } Code: private String name; private Location loc; ArrayList<String> players; public Arena(String name, Location loc) { this.players = new ArrayList<String>(); this.name = name; this.loc = loc; } public void setName(String name) { this.name = name; } public void setSpawn(Location spawn) { this.loc = spawn; } public String getName() { return this.name; } public Location getLocation() { return this.loc; } public void teleportToSpawn(Player player) { player.teleport(this.loc); } public void addToArena(Player player) { this.players.add(player.getName()); this.teleportToSpawn(player); } EDIT by Timtower: merged posts
@hopstar , @mythbusterma Arena class: Code: package me.AcePilot10.BoneBasher; import java.util.ArrayList; import org.bukkit.Location; import org.bukkit.entity.Player; public class Arena { public static Arena getArena; private String name; private Location loc; ArrayList<String> players; public Arena(String name, Location loc) { this.players = new ArrayList<String>(); this.name = name; this.loc = loc; } public void setName(String name) { this.name = name; } public void setSpawn(Location spawn) { this.loc = spawn; } public String getName() { return this.name; } public Location getLocation() { return this.loc; } public void teleportToSpawn(Player player) { player.teleport(this.loc); } public void addToArena(Player player) { this.players.add(player.getName()); this.teleportToSpawn(player); } } ArenaManager: Code: package me.AcePilot10.BoneBasher; import java.util.ArrayList; import java.util.List; public class ArenaManager { public static ArenaManager getManager = new ArenaManager(); private List<Arena> arenas; public ArenaManager() { this.arenas = new ArrayList<Arena>(); } public Arena getArena(String arenaName) { for(Arena arena : arenas) { if(arena.getName().equalsIgnoreCase(arenaName)) return arena; } return null; } } And here's my whole console: Code: C:\Users\Cody\Desktop\Minecraft stuffs\Bukkit Server>java -Xmx1024M -jar craftbu kkit.jar -o true Loading libraries, please wait... [18:27:08 INFO]: Starting minecraft server version 1.7.10 [18:27:08 INFO]: Loading properties [18:27:08 INFO]: Default game type: CREATIVE [18:27:08 INFO]: Generating keypair [18:27:08 INFO]: Starting Minecraft server on *:25565 [18:27:08 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.9-R0. 2-20-g0b2ed13-b3108jnks (MC: 1.7.10) (Implementing API version 1.7.10-R0.1-SNAPS HOT) [18:27:08 ERROR]: Ambiguous plugin name `BoneBasher' for files `plugins\ItemChan ger.jar' and `plugins\BoneBasher.jar' in `plugins' [18:27:08 INFO]: [Ace] Loading Ace v1.0 [18:27:08 INFO]: [SpoofJoin] Loading SpoofJoin v1.0 [18:27:08 INFO]: [AirPearl] Loading AirPearl v1.0 [18:27:08 INFO]: [AceCommandSign] Loading AceCommandSign v1.0 [18:27:08 INFO]: [AceKits] Loading AceKits v1.0 [18:27:08 INFO]: [BoneBasher] Loading BoneBasher v1.0 [18:27:08 INFO]: [AceAntiSwear] Loading AceAntiSwear v1.0 [18:27:08 WARN]: Failed to load white-list: net.minecraft.util.com.google.gson.JsonSyntaxException: net.minecraft.util.com.g oogle.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to acc ept malformed JSON at line 2 column 2 at net.minecraft.util.com.google.gson.Gson.assertFullConsumption(Gson.ja va:779) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.util.com.google.gson.Gson.fromJson(Gson.java:769) ~[cra ftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.JsonList.load(JsonList.java:148) ~[craft bukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedPlayerList.B(SourceFile:123) [c raftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedPlayerList.<init>(SourceFile:30 ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav a:133) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java :436) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] Caused by: net.minecraft.util.com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 at net.minecraft.util.com.google.gson.stream.JsonReader.syntaxError(Json Reader.java:1505) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.util.com.google.gson.stream.JsonReader.checkLenient(Jso nReader.java:1386) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks ] at net.minecraft.util.com.google.gson.stream.JsonReader.doPeek(JsonReade r.java:531) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.util.com.google.gson.stream.JsonReader.peek(JsonReader. java:414) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.util.com.google.gson.Gson.assertFullConsumption(Gson.ja va:775) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] ... 7 more [18:27:08 INFO]: Preparing level "world" [18:27:08 INFO]: Preparing start region for level 0 (Seed: 4814793408543894102) [18:27:09 WARN]: Could not get information about this CraftBukkit version; perha ps you are running a custom one?: FileNotFoundException [18:27:09 WARN]: Could not get latest artifact information: FileNotFoundExceptio n [18:27:09 INFO]: Preparing start region for level 1 (Seed: -7466572603548790881) [18:27:09 INFO]: Preparing start region for level 2 (Seed: -7466572603548790881) [18:27:09 INFO]: [Ace] Enabling Ace v1.0 [18:27:09 INFO]: [Ace] Ace has succesfully been enabled! [18:27:09 INFO]: [SpoofJoin] Enabling SpoofJoin v1.0 [18:27:09 INFO]: [SpoofJoin] SpoofJoin has been enabled! [18:27:09 INFO]: [AirPearl] Enabling AirPearl v1.0 [18:27:09 INFO]: [AirPearl] AirPearl has been enabled! [18:27:09 INFO]: [AceWarp] Enabling AceWarp v1.0 [18:27:09 INFO]: [AceWarp] AceWarp has been enabled succesfully! java.lang.IllegalArgumentException: Plugin already initialized! at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader .java:98) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[craftb ukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at me.AcePilot10.Poop.Main.<init>(Main.java:11) ~[?:?] at me.AcePilot10.Poop.Main.onEnable(Main.java:16) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[c raftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:324) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:404) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.jav a:455) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer. java:389) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:3 52) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:3 26) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:2 82) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav a:189) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java :436) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] Caused by: java.lang.IllegalStateException: Initial initialization at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader .java:101) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[craftb ukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at me.AcePilot10.Poop.Main.<init>(Main.java:11) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou rce) ~[?:1.8.0_25] at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_2 5] at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav a:52) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:127) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:328) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:251) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.ja va:364) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.<init>(CraftServer.java:32 6) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerList.<init>(PlayerList.java:68) ~[ craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedPlayerList.<init>(SourceFile:14 ) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav a:133) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] ... 2 more [18:27:09 INFO]: [AceCommandSign] Enabling AceCommandSign v1.0 [18:27:09 INFO]: [AceCommandSign] AceCommandSign has been enabled! [18:27:09 INFO]: [AceKits] Enabling AceKits v1.0 [18:27:09 INFO]: [AceKits] AceKits has been enabled! [18:27:09 INFO]: [BoneBasher] Enabling BoneBasher v1.0 [18:27:09 INFO]: [BoneBasher] BoneBasher has been enabled! [18:27:09 INFO]: [AceAntiSwear] Enabling AceAntiSwear v1.0 [18:27:09 INFO]: Server permissions file permissions.yml is empty, ignoring it [18:27:10 INFO]: Done (1.130s)! For help, type "help" or "?" [18:27:32 INFO]: UUID of player AcePilot10 is 76727ba7-b701-40a0-9c19-f59e31917d 80 [18:27:32 INFO]: AcePilot10[/127.0.0.1:58412] logged in with entity id 171 at ([ world] 139.7749672618762, 67.0, 998.4179374320065) [18:27:52 INFO]: AcePilot10 issued server command: /bb [18:27:55 INFO]: AcePilot10 issued server command: /bb create [18:28:06 INFO]: AcePilot10 issued server command: /bb create Ace [18:28:22 INFO]: AcePilot10 issued server command: /bb setspawn Arena [18:28:22 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'bb' in plugin BoneBasher v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[cra ftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18 0) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServe r.java:740) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerCon nection.java:957) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java :818) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java :28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat .java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157 ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craf tbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:6 67) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] Caused by: java.lang.NullPointerException at me.AcePilot10.BoneBasher.Commands.onCommand(Commands.java:36) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[cra ftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] ... 13 more [18:28:24 INFO]: AcePilot10 issued server command: /bb setspawn Ace [18:28:24 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'bb' in plugin BoneBasher v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[cra ftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18 0) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServe r.java:740) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerCon nection.java:957) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java :818) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java :28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat .java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157 ) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craf tbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:6 67) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:2 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:5 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] Caused by: java.lang.NullPointerException at me.AcePilot10.BoneBasher.Commands.onCommand(Commands.java:36) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[cra ftbukkit.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks] ... 13 more >
Code: Caused by: java.lang.NullPointerException at me.AcePilot10.BoneBasher.Commands.onCommand(Commands.java:36) There is your error, what is at line 36 of your commands class? Please can you post that whole class too.
@Abstract97 here ya go Code: package me.AcePilot10.BoneBasher; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commands implements CommandExecutor { public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(sender instanceof Player) { Player player = (Player) sender; if(cmd.getName().equalsIgnoreCase("bb")) { if(args.length == 0) { player.performCommand("help BoneBasher"); } } if(args.length == 2) { if(args[0].equalsIgnoreCase("join")) { ArenaManager.getManager.getArena(args[1]).addToArena(player); ItemManager.addItems(player); } } if(args.length == 2) { if(args[0].equalsIgnoreCase("create")) { ArenaManager.getManager.getArena(args[1]); player.sendMessage(ChatColor.YELLOW + "Arena (" + args[1] + ")" + " has been created!"); } } if(args.length == 2) { if(args[0].equalsIgnoreCase("setspawn")) { ArenaManager.getManager.getArena(args[1]).setSpawn(player.getLocation()); player.sendMessage(ChatColor.YELLOW + "The spawn for arena " + args[1] + " has been created!"); } } } return false; } }
so is my code correct? I put in the command "/bb create test" then "/bb setspawn test" and it gives me the error. I'm guessing i'm not creating the createArena method correctly. Could I have an example of how an createArena method would look? EDIT by Timtower: merged posts
Code not tested : Code:java public class Arena { public static List<Arena> arenas = new ArrayList<>(); String name; public Arena(String name) { this.name = name; arenas.add(this);} public String getName() { return this.name; }} public class ArenaManager { public Arena getArena(String name) {if(Arena.arenas.isEmpty()) { return null; }for(Arena arena : Arena.arenas) { if(arena.getName().equals(name))) { return arena; } } return null; }}
@MaTaMoR_ Difference of what? Using Maps takes full advantage of what is being done here. Code: Map<String, Arena> arenas = new HashMap<>(); Code: arenas.get("arenaName");
Alright I just made the Map and played around with the examples you guys gave and this is the code I came out with Code: public Arena getArena(String name) { Arena.arenas.get(arenas); Arena arena = (Arena) Arena.arenas; if(arena.getName().equals(name)) { return arena; } return null;
@teej107 ok thanks @teej107 Ok this is pretty confusing to me, but if I set the String to my argument after /bb create it will save it as that name right? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
.containsKey return map.get(name); efficiency EDIT by Moderator: merged posts, please use the edit button instead of double posting.
This is so confusing im literally pulling my hair out Can I have an example of how my arena/arenamanager should look. Like a final one that works because I am so confused about half of you are using ArrayList's and the other are using maps and stuff. And to be clear, I do know Java (at least fairly well) I just don't have much experience with ArrayLists/HashMaps EDIT by Moderator: merged posts, please use the edit button instead of double posting.
@AcePilot10 Nobody is going to write your code for you here. If you want a plugin done you can request one in the 'Plugin Requests' section. There are a lot of Map examples on the internet considering they have nothing to do with Bukkit.
No need to check to see if the value is in the Map. The get method should return null if there isn't a key with the specified value. @AcePilot10 Show us your most recent code.
@teej107 Code: static Map<String, Arena> arenas = new HashMap<String, Arena>(); public static void createArena(String name) { arenas = new HashMap<String, Arena>(); arenas.put(name, new Arena(name)); } public void getArena(String name) { arenas.get(name); }
@AcePilot10 You are using static wrong. Because you are creating a new Map every time you add an Arena, you can only have 1 Arena ever. Your getArena(String) method does absolutely no good since it's not returning anything.
@teej107 ok I am gonna remove the static, I am playing around with the code to fix the map error, and I will make my getArena return the Arena class,. Thanks so much for the help! @teej107 i just finished the getArena method, heres what i got: Code: public Arena getArena(String name) { arenas.get(name); Arena arena = (Arena) arenas.values(); return arena; } <posts merged. The edit button is your friend ~eya>
@AcePilot10 You still don't understand how Maps work. Read the documentation for Map, especially the get method.
@teej107 I read up and I came out with this code: Code: public Arena getArena(String name) { if(name.equals(arenas.get(arenas.keySet()))) { for(Arena arena : arenas.values()) { return arena; } It makes sence to me because the value of the map (in our case the Arena) will be returned... I hope @teej107 also thanks for having the patience to help me through this
I REALLY apreciate all the help you guys have been giving me, but i'm just gonna give up on this project for now.
@AcePilot10 Stop double posting That still won't work. You should read the documentation more thoroughly. You are comparing a String to an Arena. You are trying to get an Arena with a Set as the key and I doubt that it what you setup your Map as. Your for loop will return the first value in the iteration. You are over complicating things. I'll give you a hint: You only need to call one method from the Map. You clearly don't understand how Maps work still so I would suggest reading more tutorials on it and the documentation.