Solved My plugin not showing up in /pl

Discussion in 'Plugin Development' started by StBro, Jun 12, 2016.

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

    StBro

    So I made this plugin a few months back and I quit right after, im now back to playing and I realized its not there anymore, Here are the code and plugin.yml

    HCSponge
    Code:
    package me.richie1.HCSponge;
    
    import java.io.File;
    import org.bukkit.ChatColor;
    import org.bukkit.Server;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class HCSponge
      extends JavaPlugin
    {
      public void onEnable()
      {
        EventListener listener = new EventListener(this);
        getServer().getPluginManager().registerEvents(listener, this);
        initializeConfig();
      }
     
      public void onDisable()
      {
        saveConfig();
      }
     
      void initializeConfig()
      {
        if (!new File(getDataFolder().toString()).exists())
        {
          saveConfig();
          FileConfiguration config = getConfig();
          config.set("SpongeBreakMessage", ChatColor.RED + "You must have Creeper or higher rank to break this block!");
          saveConfig();
        }
      }
    }
    
    EventListener
    Code:
    package me.richie1.HCSponge;
    
    import org.bukkit.Bukkit;
    import org.bukkit.GameMode;
    import org.bukkit.Material;
    import org.bukkit.Server;
    import org.bukkit.block.Block;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockBreakEvent;
    
    public class EventListener
      implements Listener
    {
      HCSponge plugin;
     
      public EventListener(HCSponge plugin)
      {
        this.plugin = plugin;
      }
     
      @EventHandler
      public void PlayerBreakEvent(BlockBreakEvent event)
      {
        if ((event.getBlock().getType() == Material.SPONGE) && (event.getPlayer().getGameMode() != GameMode.CREATIVE))
        {
          String msg = this.plugin.getConfig().getString("SpongeBreakMessage");
          event.getPlayer().sendMessage(msg);
          event.setCancelled(true);
          for (Player player : Bukkit.getServer().getOnlinePlayers()) {
            player.hasPermission("hcrebirth.spongebreak");
          }
        }
      }
    }
    
    Plugin.yml
    Code:
    main: me.richie1.HCSponge.HCSponge
    name: HCSponge
    version: 1.2
    author: richie1
    description: Sponge is Kappa. Made by richie1
    permissions:
       hcrebirth.spongebreak
    Please help me!!
     
  2. Offline

    Fhbgsdhkfbl

    @StBro
    Do you have any errors in console when you start up the server?
     
  3. Offline

    Zombie_Striker

    @StBro
    Is this your problem? the method Player#hasPermission is a boolean, so this for loop should do nothing but create lag. Are you sure this is what you wanted?
     
    cococow123 likes this.
  4. Offline

    cococow123

    I think it is because you are missing the colon in plugin.yml for the permission. I would fix that and if it is not the solution, I would use a YAML parser to check it.


    Magikal Coconess
     
  5. Offline

    StBro

    Where should I put the missing colon?

    What should I change it to? I want my plugin to only allow people with permission to break/place sponge.

    No.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
  6. Offline

    cococow123

    1) Add the colon after the permission. Like you have 1 after commands.
    Code:
    permissions:
       permission_node:
    2 To block placement and breaking of a certain block type, you will need 2 events: BlockBreakEvent and BlockPlaceEvent First, check if the block is sponge, and check if the player has permission. [ player.hasPermission("permission_node") ]

    If player has permission, don't set cancelled. If player doesn't have perms, set cancelled


    Magikal Coconess
     
Thread Status:
Not open for further replies.

Share This Page