2015-01-14 3 views
-1

Я делаю плагин для Minecraft, но это не важно в этом посте. Мой код, похоже, имеет достаточно скобок, но работает только, если я удаляю скобки, а затем код всегда будет работать, который я не хочу. Вот мой код -Ошибка скобки при попытке сделать оператор if?

package me.impatheimpaler.soundpickup; 

import org.bukkit.Bukkit; 
import org.bukkit.ChatColor; 
import org.bukkit.Material; 
import org.bukkit.Sound; 
import org.bukkit.event.EventHandler; 
import org.bukkit.event.EventPriority; 
import org.bukkit.event.Listener; 
import org.bukkit.event.player.PlayerPickupItemEvent; 
import org.bukkit.plugin.java.JavaPlugin; 

public class SoundPickups extends JavaPlugin implements Listener{ 


public void onEnable() { 
    Bukkit.getServer().getPluginManager().registerEvents(this, this); 
} 

public void onDisable() { 

} 

@EventHandler(priority=EventPriority.LOWEST) 
    public void MoneyPickUp(PlayerPickupItemEvent event) { 
    if { 
     (event.getItem().getItemStack().getType() == Material.GOLD_INGOT); 
     event.getPlayer().sendMessage(ChatColor.GOLD + "+" + ChatColor.GOLD +  event.getItem().getItemStack().getAmount() + ChatColor.GOLD + "" + ChatColor.BOLD + "G"); 
     event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ORB_PICKUP, 1, 1); 

} 

} 
} 

ответ

2

Ваша ошибка в

@EventHandler(priority=EventPriority.LOWEST) 
public void MoneyPickUp(PlayerPickupItemEvent event) { 
if { 
    (event.getItem().getItemStack().getType() == Material.GOLD_INGOT); 
    event.getPlayer().sendMessage(ChatColor.GOLD + "+" + ChatColor.GOLD + event.getItem().getItemStack().getAmount() + ChatColor.GOLD + "" + ChatColor.BOLD + "G"); 
    event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ORB_PICKUP, 1, 1); 
    } 
} 

Вы открываете кронштейн сразу после if заявления, если вы собираетесь использовать кронштейн с, если должен быть как это:

if(conditional) { 
//My code here 
} 

Если убрать скобки это работает, но ваш код не выполняется должным образом, потому что вы кладете точку с запятой ; сразу после условного

Измените код следующим образом:

@EventHandler(priority=EventPriority.LOWEST) 
public void MoneyPickUp(PlayerPickupItemEvent event) { 
    if (event.getItem().getItemStack().getType() == Material.GOLD_INGOT) { 
    event.getPlayer().sendMessage(ChatColor.GOLD + "+" + ChatColor.GOLD + event.getItem().getItemStack().getAmount() + ChatColor.GOLD + "" + ChatColor.BOLD + "G"); 
    event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ORB_PICKUP, 1, 1); 
    } 
} 
Смежные вопросы