Plugin Help

Discussion in 'Bukkit Help' started by Septango, Feb 11, 2012.

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

    Septango

    Hi I have been learning to make plugins and right now I'm trying to make one that if tnt or bedrock is placed by a non op player it disappears. I have my code for it but cannot figure out why it isn't working. Can someone please help please?



    Code:
    package me.Septango.firstplugin;
     
    import java.util.logging.Logger;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Firstplugin extends JavaPlugin {
     
        public final Logger logger = Logger.getLogger("Minecraft");
        public static Firstplugin plugin;
        public final MyBlockListener bl = new MyBlockListener();
        public final MyPlayerListener pl = new MyPlayerListener();
     
        @Override
        public void onDisable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " Has been disabled!");
        }
     
        @Override
        public void onEnable() {
            PluginDescriptionFile pdfFile = this.getDescription();
            this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Has been enabled!");
            PluginManager pm = getServer().getPluginManager();
            pm.registerEvents(this.bl, this);
            pm.registerEvents(this.pl, this);
        }
     
        public boolean onCommand(CommandSender sender, Command cmd,
                String commandLabel, String[] args) {
            Player player = (Player) sender;
            if (commandLabel.equalsIgnoreCase("heal")
                    || commandLabel.equalsIgnoreCase("h")) {
                if (args.length == 0) {
                    // heal = 0 args (/heal)
                    player.setHealth(20);
                    player.setFireTicks(0);
                    player.setFoodLevel(20);
                    player.sendMessage(ChatColor.GREEN + "Healed!");
                } else if (args.length == 1) {
                    if (player.getServer().getPlayer(args[0]) != null) {
                        Player targetPlayer = player.getServer().getPlayer(args[0]);
                        targetPlayer.setHealth(20);
                        targetPlayer.setFireTicks(0);
                        targetPlayer.setFoodLevel(20);
                        player.sendMessage(ChatColor.GREEN + "Healed!");
                    } else {
                        player.sendMessage(ChatColor.RED + "That player is not currently online.");
                    }
                }
            } else if (commandLabel.equalsIgnoreCase("starve")) {
                if (args.length == 0) {
                    player.sendMessage(ChatColor.YELLOW + "Please use the format /starve [player]");
                } else if (args.length == 1) {
                    if (player.getServer().getPlayer(args[0]) != null) {
                        Player targetPlayer = player.getServer().getPlayer(args[0]);
                        targetPlayer.setFoodLevel(0);
                    } else {
                        player.sendMessage(ChatColor.RED + "That player is not currently online.");
                    }
                }
            } else if (commandLabel.equalsIgnoreCase("sp")) {
                if (args.length == 0) {
                    player.sendMessage(ChatColor.DARK_RED + "Not enough arguements please provide a person.");
                } else if (args.length == 1) {
                    Player targetPlayer = player.getServer().getPlayer(args[0]);
                    Location targetPlayerLocation = targetPlayer.getLocation();
                    player.teleport(targetPlayerLocation);
                } else if (args.length == 1) {
                    Player targetPlayer = player.getServer().getPlayer(args[0]);
                    Player targetPlayer1 = player.getServer().getPlayer(args[1]);
                    Location targetPlayer1Location = targetPlayer1.getLocation();
                    targetPlayer.teleport(targetPlayer1Location);
                    targetPlayer.sendMessage("You have been teleported to " + player.getDisplayName());
                }
            }
            return false;
        }
    }
    


    and here is the block editor class

    Code:
    package me.Septango.firstplugin;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.BlockPlaceEvent;
     
     
    public class MyBlockListener implements Listener {
     
        public static Firstplugin plugin;
        public static Material[] blacklist = { Material.TNT, Material.BEDROCK };
     
        @EventHandler
        public void onBlockPlace(BlockPlaceEvent event) {
            Material block = event.getBlock().getType();
            Player player = event.getPlayer();
     
            for (Material blocked : blacklist) {
                if (blocked == block) {
                    if (player.isOp()) {
     
                    } else {
                        event.getBlock().setType(Material.AIR);
                        player.chat("I just placed " + ChatColor.DARK_RED + blocked);
                    }
                }
            }
        }
    }
    
     
Thread Status:
Not open for further replies.

Share This Page