Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse插件Bukkit_Java_Bukkit - Fatal编程技术网

Java Eclipse插件Bukkit

Java Eclipse插件Bukkit,java,bukkit,Java,Bukkit,我对编码非常陌生,我似乎无法找出为什么我的工作中会出现语法错误。它说:语法错误,插入“}”以完成类主体。这是我的密码: package me.koda; 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

我对编码非常陌生,我似乎无法找出为什么我的工作中会出现语法错误。它说:语法错误,插入“}”以完成类主体。这是我的密码:

package me.koda;

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.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;

public class BlockListener implements Listener {

    public BlockListener(AntiBlock plugin) {
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
    }

    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
        Player player = e.getPlayer();

        if (!player.hasPermission("playerAbilities.allowed")) {
            player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD + player.getName() + ChatColor.RED + " Cant Place Blocks!");
            e.setCancelled(true);
        }
    }

    @EventHandler
    public void onBlockBreak(BlockBreakEvent e) {

        Player player = e.getPlayer();

        if (!player.hasPermission("playerAbilities.allowed")) {

        }

        {
            player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD     + player.getName() + ChatColor.RED + " Cant Break Blocks!");
            e.setCancelled(true);
        }
    }  // <-- this one



    @EventHandler
    public void onBedrockPlace(BlockPlaceEvent e) {

        Player player = e.getPlayer();

        if(e.getBlock().getType() == Material.BEDROCK) {
           if (!player.hasPermission("playerAbilities.allowed")) {
               player.sendMessage(ChatColor.RED + "You Cannot Place " +         e.getBlock().getType().toString() + " Down!");
               e.setCancelled(true);
               } else player.sendMessage(ChatColor.GREEN + "You May Place " +         e.getBlock().getType().toString() + " Down!");

            player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD         + player.getName() + ChatColor.RED + " Cant Place Blocks!");

            e.setCancelled(true);

        }   // <--- this one
package me.koda;
导入org.bukkit.ChatColor;
导入org.bukkit.Material;
导入org.bukkit.entity.Player;
导入org.bukkit.event.EventHandler;
导入org.bukkit.event.Listener;
导入org.bukkit.event.block.BlockBreakEvent;
导入org.bukkit.event.block.BlockPlaceEvent;
公共类BlockListener实现侦听器{
公共块侦听器(反块插件){
plugin.getServer().getPluginManager().registerEvents(此插件);
}
@事件处理程序
BlockPlace上的公共作废(BlockPlace事件e){
Player=e.getPlayer();
如果(!player.hasPermission(“playerAbilities.allowed”)){
发送消息(ChatColor.RED+“你,”+ChatColor.GOLD+player.getName()+ChatColor.RED+“不能放置块!”);
e、 setCancelled(真);
}
}
@事件处理程序
BlockBreak上的公共无效(BlockBreak事件e){
Player=e.getPlayer();
如果(!player.hasPermission(“playerAbilities.allowed”)){
}
{
发送消息(ChatColor.RED+“你,”+ChatColor.GOLD+player.getName()+ChatColor.RED+“不能断块!”);
e、 setCancelled(真);
}

}//大括号有几个问题,所以我修复了代码:

package me.koda;

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.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;

public class BlockListener implements Listener {

    public BlockListener(AntiBlock plugin) {
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
    }

    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
        Player player = e.getPlayer();

        if (!player.hasPermission("playerAbilities.allowed")) {
            player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD + player.getName() + ChatColor.RED + " Cant Place Blocks!");
            e.setCancelled(true);
        }
    }

    @EventHandler
    public void onBlockBreak(BlockBreakEvent e) {

        Player player = e.getPlayer();

        if (!player.hasPermission("playerAbilities.allowed")) {

        }
        player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD     + player.getName() + ChatColor.RED + " Cant Break Blocks!");
        e.setCancelled(true);
    }



    @EventHandler
    public void onBedrockPlace(BlockPlaceEvent e) {

        Player player = e.getPlayer();

        if(e.getBlock().getType() == Material.BEDROCK) {
            if (!player.hasPermission("playerAbilities.allowed")) {
                player.sendMessage(ChatColor.RED + "You Cannot Place " +         e.getBlock().getType().toString() + " Down!");
                e.setCancelled(true);
            } else {
                player.sendMessage(ChatColor.GREEN + "You May Place " +         e.getBlock().getType().toString() + " Down!");
            }

            player.sendMessage(ChatColor.RED + "You, " + ChatColor.GOLD         + player.getName() + ChatColor.RED + " Cant Place Blocks!");

            e.setCancelled(true);

        }
    }
}

将您的代码与此进行比较,您会发现问题所在。

每个开始大括号都需要一个结束大括号。只要数一数,您就会发现缺少两个大括号。(顺便说一句,这就是为什么人们对编码样式很挑剔的原因;如果您知道大括号应该放在哪里,那么判断大括号是否缺少就容易多了。)在学习第三方API之前先学习java