MinetraceListener.java 文件源码

java
阅读 18 收藏 0 点赞 0 评论 0

项目:Minetrace 作者:
@EventHandler
    public void onCraftItem(CraftItemEvent event) {
        Entity player = event.getWhoClicked();
        if(!(player instanceof Player)) {
            return;
        }
        Player p = (Player) player;
        String playerName = p.getName();
        Location location = p.getLocation();
        CraftingInventory inventory = event.getInventory();
        ItemStack stack = inventory.getRecipe().getResult();

        ItemStack[] ingredients = inventory.getMatrix();
//      StringBuilder sb = new StringBuilder();
//      for(ItemStack i : ingredients)
//      {
//          if(i == null)
//              sb.append("null");
//          else
//              sb.append(i.getType() + ":" + i.getData().getData());
//          sb.append("-");
//      }
//      System.out.println(sb);


        int craftAmount = Utils.getCraftAmount(event);
        int nbCrafts = craftAmount/stack.getAmount();

        ArrayList<JSONableItem> items = new ArrayList<>();
        for(ItemStack is : ingredients)
        {
            if(is != null && is.getType() != Material.AIR)
                items.add(new JSONableItem(is.getType().toString(), is.getData().getData()));
        }

        CraftObsel craftObsel = new CraftObsel(
                new Date().getTime(),
                location.getBlockX(),
                location.getBlockY(),
                location.getBlockZ(),
                location.getWorld().getName(),
                playerName,
                stack.getType().toString(),
                stack.getData().getData(),
                stack.getAmount(),
                items,
                nbCrafts);
//      PickupItemObsel obsel = new PickupItemObsel(
//              new Date().getTime(),
//              stack.getType().toString(),
//              craftAmount,
//              stack.getData().getData(),
//              location.getBlockX(),
//              location.getBlockY(),
//              location.getBlockZ(),
//              location.getWorld().getName(),
//              playerName);
        JSONObselManager.getInstance().addObsel(craftObsel);
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号