2399757776
本帖最后由 2399757776 于 2020-2-1 20:13 编辑

获取当前左击的物品类型并且进行判断是否是钻石镐

stable_39


forge2836


mc1.12.2

3TUSK
  1. @SubscribeEvent
  2. public static void leftClick(PlayerInteractEvent.LeftClickBlock event) {
  3.   if (!event.getWorld().isRemote) {
  4.     // 触发左击方块事件时玩家使用的物品。
  5.     final ItemStack current = event.getItemStack();
  6.     // 触发左击方块事件时玩家使用的那只手上的物品。
  7.     // 若直接指定 EnumHand.MAIN_HAND 则会拿到主手上的物品。
  8.     // 也可以直接 event.getEntityPlayer().getHeldItemMainhand() 拿到主手上的物品。
  9.     // 副手上的物品是 event.getEntityPlayer().getHeldItemOffhand(),或者 event.getEntityPlayer().getHeldItem(EnumHand.OFF_HAND)。
  10.     // 优先使用 event.getItemStack() 或者 event.getEntityPlayer().getHeldItem(event.getHand()),
  11.     // 因为左击方块不一定是主手,也有可能是副手。除非你希望只有主手触发效果。
  12.     final ItemStack held = event.getEntityPlayer().getHeldItem(event.getHand());
  13.     if (held.getItem() == Items.DIAMOND_PICKAXE) {
  14.       // ……
  15.     }
  16.   }
  17. }
复制代码





字号能不能小一点?看着有点吓人的。

微与笑
3TUSK 发表于 2020-2-1 04:14



字号能不能小一点?看着有点吓人的。

大佬,那么如果是右击的话应该改什么地方呢?

飞翔之歌
微与笑 发表于 2020-2-10 11:27
大佬,那么如果是右击的话应该改什么地方呢?

把事件改成右击事件就可以了

3TUSK
微与笑 发表于 2020-2-10 11:27
大佬,那么如果是右击的话应该改什么地方呢?

PlayerInteractEvent.RightClickBlock,其他不变。

1818688
3543345387575237865463

第一页 上一页 下一页 最后一页