Plugin Error

Discussion in 'Plugin Development' started by Tster, Jul 11, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Tster

    [​IMG]

    Code:
    package me.tster.basic;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.logging.Logger;
    
    import org.bukkit.block.Block;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Basic extends JavaPlugin {
        public static Basic plugin;
        public final Logger logger = Logger.getLogger("Minecraft");
        private final BasicBlockListener blockListener = new BasicBlockListener(this);
        public final HashMap<Player, ArrayList<Block>> basicUsers = new HashMap<Player, ArrayList<Block>>();
        private final HashMap<Player, Boolean> debugees = new HashMap<Player, Boolean>();
      
    @Override
    public void onDisable(){
        this.logger.info("Basic disabled");
    }
    
    @Override
    public void onEnable(){
    PluginManager pm = getServer().getPluginManager();
    pm.registerEvent(Event.Type.BLOCK_PLACE, this.blockListener, Event.Priority.Normal, this);
    PluginDescriptionFile pdfFile = this.getDescription();
    this.logger.info(pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
    }
    
    public boolean onCommands(CommandSender sender, Command cmd, String commandLabel, String[] args) {
            if (commandLabel.equalsIgnoreCase("basic")
                    || commandLabel.equalsIgnoreCase("b")){
                toggleVision((Player) sender);
            }
            return false;
        }
     
    public boolean isDebugging(final Player player) {
        if (debugees.containsKey(player)) {
            return debugees.get(player);
        } else {
            return false;
        }
    }
    
    public void setDebugging(final Player player, final boolean value) {
        debugees.put(player, value);
    }
    //The method enabled which checks to see if the player is in the hash map
    
    public boolean enabled(Player player) {
        return this.basicUsers.containsKey(player);
    }
      
        public void toggleVision(Player player) {
            if (enabled(player)) {
                this.basicUsers.remove(player);
                player.sendMessage("Basic Disabled");
            } else {
                this.basicUsers.put(player, null);
                player.sendMessage("Basic Enabled");
            }
        }
    }
    
    Code:
    package me.tster.basic;
    
    import org.bukkit.Material;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Player;
    import org.bukkit.event.block.BlockListener;
    import org.bukkit.event.block.BlockPlaceEvent;
      
    public class BasicBlockListener extends BlockListener {
        public static Basic plugin;
        public BasicBlockListener(Basic instance) {
            plugin = instance;
        }
    
        public void onBlockPlace(BlockPlaceEvent event) {
            Player player = event.getPlayer();
            Block block = event.getBlockPlaced();
            if ((block.getType() == Material.TORCH) && (plugin.enabled(player))) {
                player.sendMessage("You have placed a torch");
                }
        }
    
    }
    
    Thanks very much in advance

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  2. Offline

    ItsHarry

    What's the error?
     
  3. Offline

    Tster

  4. Offline

    Hretsam

    Did you build it correct?
    Its saying it can find your main class file (Basic.java)
     
  5. Offline

    ItsHarry

    Did you export your JAR file correctly?
     
  6. Offline

    Tster

    Thanks guys, fixed it
     
  7. Offline

    ItsHarry

Thread Status:
Not open for further replies.

Share This Page