I Forgot How To Add Perms. Help

Discussion in 'Plugin Development' started by MCPlaysMC Productions, Jan 11, 2015.

Thread Status:
Not open for further replies.
  1. I Forgot How To Add Perms. Umm Can Someone Look At This And Tell Me How?

    Code:
    package com.markcraft.prisonplugins;
    
    import java.util.logging.Logger;
    
    import org.bukkit.ChatColor;
    import org.bukkit.GameMode;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class ChangeGameMode extends JavaPlugin {
        public static ChangeGameMode plugin;
        public final Logger logger = Logger.getLogger("Minecraft");
    
        @Override
        public void onEnable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + "version" + pdfFile.getVersion()
                    + "is enabled.");
        }
    
        @Override
        public void onDisable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + "version" + pdfFile.getVersion()
                    + "is disabled.");
        }
    
        public boolean onCommand(CommandSender sender, Command cmd, String label,
                String[] args) {
            readCommand((Player) sender, label);
            return false;
        }
    
        public void readCommand(Player player, String command) {
            if (command.equalsIgnoreCase("creative")) {
                player.setGameMode(GameMode.CREATIVE);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Creative Mode");
            } else if (command.equalsIgnoreCase("survival")) {
                player.setGameMode(GameMode.SURVIVAL);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Survival Mode");
            } else if (command.equalsIgnoreCase("adventure")) {
                player.setGameMode(GameMode.ADVENTURE);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Adventure Mode");
            } else if (command.equalsIgnoreCase("gma")) {
                player.setGameMode(GameMode.ADVENTURE);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Adventure Mode");
            } else if (command.equalsIgnoreCase("gms")) {
                player.setGameMode(GameMode.SURVIVAL);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Survival Mode");
            } else if (command.equalsIgnoreCase("gmc")) {
                player.setGameMode(GameMode.CREATIVE);
                player.sendMessage(ChatColor.RED
                        + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
                        + ChatColor.BOLD + "Adventure Mode");
            }
        }
    }
     
  2. Code issues:
    1. No need for logger
    2. Check if sender is an instanceof Player
    3. Don't use label use cmd.getName()
    4. Why oh why have you got a method? It is just more text, I don't get why you have done it.

    Answer to your question:
    player#hasPermission(String)
     
    nverdier likes this.
  3. Offline

    Ganga

    For example:
    Code:java
    1. else if (command.equalsIgnoreCase("gma") && player.hasPermission("pluginname.gma") {
    2. player.setGameMode(GameMode.ADVENTURE);
    3. player.sendMessage(ChatColor.RED
    4. + "Your Gamemode Has Been Changed To " + ChatColor.GOLD
    5. + ChatColor.BOLD + "Adventure Mode");
    6. }

    Therefore you need to add your persmission to your plugin.yml under your command gma.
    For example:
    Code:
    author:..
    version...
       gma:
           usage: /gma
           permission: yourplugin.gma
           permission-message: You dont have permissions for gma
    The spaces arent correct, but I hust wanted to show you where you have to add it ;)
     
Thread Status:
Not open for further replies.

Share This Page