Help! Plugin spitting out errors!

Status
This thread has been locked.

Ammar T

Programming Teacher
Supreme
Feedback score
7
Posts
820
Reactions
394
Resources
0
Idk what this means help:

[22:21:26] [Server thread/INFO]: [RedstoneControl] Enabling RedstoneControl v2.0
[22:21:26] [Server thread/ERROR]: Error occurred while enabling RedstoneControl v2.0 (Is it up to date?)
java.lang.IllegalArgumentException: Plugin already initialized!
at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:122) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[Spigot.jar:git-Spigot-1649]
at com.darkbyte.plugins.redstonecontrol.RedstoneControl.<init>(RedstoneControl.java:6) ~[?:?]
at com.darkbyte.plugins.redstonecontrol.BlockPlaceListener.<init>(BlockPlaceListener.java:15) ~[?:?]
at com.darkbyte.plugins.redstonecontrol.RedstoneControl.onEnable(RedstoneControl.java:12) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417) [Spigot.jar:git-Spigot-1649]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [Spigot.jar:git-Spigot-1649]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [Spigot.jar:git-Spigot-1649]
Caused by: java.lang.IllegalStateException: Initial initialization
at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:125) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[Spigot.jar:git-Spigot-1649]
at com.darkbyte.plugins.redstonecontrol.RedstoneControl.<init>(RedstoneControl.java:6) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_51]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_51]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_51]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_51]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:341) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:263) ~[Spigot.jar:git-Spigot-1649]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) ~[Spigot.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) ~[Spigot.jar:git-Spigot-1649]
... 2 more

EDIT:

Source to classes:

package com.darkbyte.plugins.redstonecontrol;

import org.bukkit.permissions.Permission;
import org.bukkit.plugin.java.JavaPlugin;

public class RedstoneControl extends JavaPlugin {

public Permission useRedstone = new Permission("redstonecontrol.use");

@Override
public void onEnable() {
new BlockPlaceListener(this);
getServer().getPluginManager().addPermission(useRedstone);

getConfig().options().copyDefaults(true);
saveConfig();
}

@Override
public void onDisable() {
saveConfig();
}
}

package com.darkbyte.plugins.redstonecontrol;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;

public class BlockPlaceListener implements Listener {
public BlockPlaceListener(RedstoneControl pluginClass) {
pluginClass.getServer().getPluginManager()
.registerEvents(this, pluginClass);
}

private RedstoneControl plugin = new RedstoneControl();

@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
if (e.getBlock().getType() == Material.REDSTONE
|| e.getBlock().getType() == Material.REDSTONE_BLOCK
|| e.getBlock().getType() == Material.WOOD_BUTTON
|| e.getBlock().getType() == Material.STONE_BUTTON
|| e.getBlock().getType() == Material.DAYLIGHT_DETECTOR
|| e.getBlock().getType() == Material.DAYLIGHT_DETECTOR_INVERTED
|| e.getBlock().getType() == Material.DETECTOR_RAIL
|| e.getBlock().getType() == Material.LEVER
|| e.getBlock().getType() == Material.WOOD_PLATE
|| e.getBlock().getType() == Material.STONE_PLATE
|| e.getBlock().getType() == Material.REDSTONE_TORCH_ON
|| e.getBlock().getType() == Material.REDSTONE_TORCH_OFF
|| e.getBlock().getType() == Material.TRIPWIRE_HOOK
|| e.getBlock().getType() == Material.IRON_PLATE
|| e.getBlock().getType() == Material.GOLD_PLATE
|| e.getBlock().getType() == Material.REDSTONE_COMPARATOR_OFF
|| e.getBlock().getType() == Material.REDSTONE_COMPARATOR_ON
|| e.getBlock().getType() == Material.REDSTONE_WIRE
|| e.getBlock().getType() == Material.REDSTONE_COMPARATOR
|| e.getBlock().getType() == Material.DIODE
|| e.getBlock().getType() == Material.DIODE_BLOCK_ON
|| e.getBlock().getType() == Material.DIODE_BLOCK_OFF
|| e.getBlock().getType() == Material.ACTIVATOR_RAIL
|| e.getBlock().getType() == Material.DISPENSER
|| e.getBlock().getType() == Material.DROPPER
|| e.getBlock().getType() == Material.HOPPER
|| e.getBlock().getType() == Material.NOTE_BLOCK
|| e.getBlock().getType() == Material.PISTON_BASE
|| e.getBlock().getType() == Material.PISTON_STICKY_BASE
|| e.getBlock().getType() == Material.POWERED_RAIL
|| e.getBlock().getType() == Material.REDSTONE_LAMP_OFF
|| e.getBlock().getType() == Material.REDSTONE_LAMP_ON
|| e.getBlock().getType() == Material.TNT
|| e.getBlock().getType() == Material.TRAP_DOOR) {

if(!e.getPlayer().hasPermission("redstonecontrol.use")) {
String noPermsMessage = ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("noPermsMessage"));
e.getPlayer().sendMessage(noPermsMessage);
e.setCancelled(true);
}
}
}
}
 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Skionz

ogminecraft.com
Premium
Feedback score
1
Posts
1,544
Reactions
1,527
Resources
0
private RedstoneControl plugin = new RedstoneControl();
It's because your creating a new instance of your main class. Bukkit instantiates your class for you and only one instance can exist so it throws this exception. This also means that you cannot create a subclass of your main class so it should be final.
 

Ammar T

Programming Teacher
Supreme
Feedback score
7
Posts
820
Reactions
394
Resources
0
It's because your creating a new instance of your main class. Bukkit instantiates your class for you and only one instance can exist so it throws this exception. This also means that you cannot create a subclass of your main class so it should be final.
So how would I fix this? I could combine the classes?
 

Ammar T

Programming Teacher
Supreme
Feedback score
7
Posts
820
Reactions
394
Resources
0
Don't instantiate your main class and pass the instance that Bukkit creates through your other classes constructors.
Thanks, that helped!
 
Status
This thread has been locked.
Top