本帖最后由 2399757776 于 2020-2-1 20:13 编辑
获取当前左击的物品类型并且进行判断是否是钻石镐
stable_39
forge2836
mc1.12.2
获取当前左击的物品类型并且进行判断是否是钻石镐
stable_39
forge2836
mc1.12.2
- @SubscribeEvent
- public static void leftClick(PlayerInteractEvent.LeftClickBlock event) {
- if (!event.getWorld().isRemote) {
- // 触发左击方块事件时玩家使用的物品。
- final ItemStack current = event.getItemStack();
- // 触发左击方块事件时玩家使用的那只手上的物品。
- // 若直接指定 EnumHand.MAIN_HAND 则会拿到主手上的物品。
- // 也可以直接 event.getEntityPlayer().getHeldItemMainhand() 拿到主手上的物品。
- // 副手上的物品是 event.getEntityPlayer().getHeldItemOffhand(),或者 event.getEntityPlayer().getHeldItem(EnumHand.OFF_HAND)。
- // 优先使用 event.getItemStack() 或者 event.getEntityPlayer().getHeldItem(event.getHand()),
- // 因为左击方块不一定是主手,也有可能是副手。除非你希望只有主手触发效果。
- final ItemStack held = event.getEntityPlayer().getHeldItem(event.getHand());
- if (held.getItem() == Items.DIAMOND_PICKAXE) {
- // ……
- }
- }
- }
字号能不能小一点?看着有点吓人的。
3TUSK 发表于 2020-2-1 04:14
字号能不能小一点?看着有点吓人的。
大佬,那么如果是右击的话应该改什么地方呢?
微与笑 发表于 2020-2-10 11:27
大佬,那么如果是右击的话应该改什么地方呢?
把事件改成右击事件就可以了
微与笑 发表于 2020-2-10 11:27
大佬,那么如果是右击的话应该改什么地方呢?
PlayerInteractEvent.RightClickBlock,其他不变。
3543345387575237865463