发电机工作不正常

时间:2015-08-19 09:38:34

标签: java bukkit

我试图创建一个每隔几秒钟喷出矿石的发电机。

问题是标志变为发电机,但它不会吐出矿石。

   @EventHandler
   public void onSignChange(SignChangeEvent e) {
           if (e.getLine(0).equalsIgnoreCase("DGEN")) {
                   e.setLine(0, "§0§lGENERATOR");
                   e.setLine(1, "§bDiamond");
                   e.setLine(2, "§0Level 1");
           }
   }

   @EventHandler
   public void onPlayerInteract(PlayerInteractEvent e) {
           if (!(e.getAction() == Action.RIGHT_CLICK_BLOCK)) return;
           if((e.getClickedBlock().getType() == Material.SIGN_POST) || (e.getClickedBlock().getType() == Material.WALL_SIGN)){
                Sign s = (Sign) e.getClickedBlock().getState();
                   if (s.getLine(1).equalsIgnoreCase("§0§lGENERATOR")) {
                       e.getPlayer().getWorld().dropItemNaturally(e.getPlayer().getLocation(), new ItemStack(Material.DIAMOND_ORE, 1));
                           e.getPlayer().sendMessage(ChatColor.GREEN + "Diamond Gen works!");
                   }
           }
   }

1 个答案:

答案 0 :(得分:2)

您将第1行(第二行)设为"§bDiamond"

e.setLine(1, "§bDiamond");

所以这句话:

if (s.getLine(1).equalsIgnoreCase("§0§lGENERATOR")) { [...] }

永远不会是true,因为第1行的值为"§bDiamond"