@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);
}
MinetraceListener.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:Minetrace
作者:
评论列表
文章目录