我如何在地面上做一个可以交互的物品?

问题描述 投票:0回答:1

因此,我一直在尝试,尝试和努力弄清楚如何使项目变得可互作用,我知道一个项目具有hitbox,所以我的一部分想知道我是否可以使用它,但是我偶然发现了两个问题,一个问题,一个问题,您不能使用订阅互动事件时使用诸如命中的命中率,并且可以使用命中bock的方式。并将这些VSLUE设置为它,我认为我有代码可以使用,但我不知道,我尝试了我能想到的一切,供参考,这是我到目前为止的代码:

player eye postition

一旦游戏启动,我就会遇到的错误:

    

1

您看到
java minecraft-forge
1个回答
0
投票

NoClassDefFoundError

,因为
PlayerInteractEvent
属于
福格(forge)事件总线,而不是mod巴士。对于删除项目的交互,您可以使用PlayerInteractEvent.EntityInteract(或
.EntityInteractSpecific
),并检查目标是否为
ItemEntity
例如:

@Mod.EventBusSubscriber(modid = MagicalCraft.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE) public class ModEventBusEvents { @SubscribeEvent public static void onItemEntityInteract(PlayerInteractEvent.EntityInteract event) { if (event.getTarget() instanceof ItemEntity item) { // Replace the item or run custom logic here } } }

    开关bus
  1. bus = Mod.EventBusSubscriber.Bus.FORGE.

    puse正确的事件

    PlayerInteractEvent.EntityInteract
  2. .
  3. 检查您的Forge版本
    :如果不支持事件类,您将获得

    NoClassDefFoundError
  4. 当播放器右键单击丢弃的项目时,您的代码将在启动时不会崩溃。

    
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.