Banning TNT

Discussion in 'Plugin Development' started by WolfMaster, Aug 20, 2012.

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

    WolfMaster

    i have made plugins before however i have never banned a block before,

    how would i go about this

    here is my code so far

    Code:
    package me.wolfmaster.stoppistons;
     
    import java.util.logging.Logger;
     
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.block.BlockPlaceEvent;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Main extends JavaPlugin{
       
        public final Logger logger = Logger.getLogger("Minecraft");
       
        public void onEnable(){
            logger.info("DisableTNT Has Been Enabled!");
           
        }
       
        public void onDisable(){
            logger.info("DisableTNT Has Been Disabled!");
           
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            Player player = (Player) sender;
           
            @EventHandler
            public void TNT (BlockPlaceEvent event)
             
            if(event.getBlockPlaced().getType() == Material.TNT && !event.getPlayer().hasPermission("TNT.Allow"));   
                {
                    event.setCancelled(true);
                }
            }
           
            
    I know it says stoppistons that because that was what i was going for originally
     
  2. Offline

    kyle1320

    It appears you're missing an open bracket in your listener, and your if statement shouldn't have a semicolon after it.

    EDIT: Also you didn't close your onCommand method.
     
  3. Offline

    mcgamer99

    Replace the method:
    Code:
            @EventHandler
            public void TNT (BlockPlaceEvent event)
         
            if(event.getBlockPlaced().getType() == Material.TNT && !event.getPlayer().hasPermission("TNT.Allow"));
                {
                    event.setCancelled(true);
                }
            }
    Under the method:
    Code:
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    }
    (A method can't be in another method)
     
  4. Offline

    WolfMaster

    thanks for you help :)
     
  5. Offline

    Jonchun

    I thought you were looking to ban TnT >.<
     
  6. Offline

    WolfMaster

    would you mind showing me what you mean
     
  7. Offline

    mcgamer99

    Like this:
    Code:
            public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
            }
     
            @EventHandler
            public void TNT (BlockPlaceEvent event)
     
            if(event.getBlockPlaced().getType() == Material.TNT && !event.getPlayer().hasPermission("TNT.Allow"));
                {
                    event.setCancelled(true);
                }
            }
     
  8. Offline

    WolfMaster

    so i dont need
    Code:
    Player player = (Player) sender;
     
  9. Offline

    mcgamer99

    You need it, if you want to make commands.
    If in your plugin you want not to create certains commands, the method onCommand() is useless:
    Code:
            public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
            }
     
  10. Offline

    WolfMaster

    Basically that top line including .... player is useless?
     
  11. Offline

    mcgamer99

    Yes, if in your plugin you don't want to do some commands, all the method onCommand() is useless, from
    Code:
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    to:
    Code:
    }
     
Thread Status:
Not open for further replies.

Share This Page