• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~

已解决 【1.18.2Forge】自己添加的RenderLivingEvent事件中调用getEntity()方法无法获取自制Mod的生物

Deran_Lin

【Lv:1】

注册
2024/10/13
消息
4
金粒
921金粒
pAYOONq.md.png
代码如图,我想定义一个事件,给我自己做的模组的生物(class叫LoneShadowTest)渲染一个攻击判定框,用的是RenderLivingEvent,但是经过测试发现LivingEntity entity = event.getEntity();只能获取原版的生物,而无法获取自制模组的生物(如果去掉if判断则游戏中除了自制模组的生物以外,其他生物都能渲染出下面代码定义的线框)。
另外,使用LivingEvent时调用getEntityLiving可以获取模组生物,但是这种event没有posestack,定义新的PoseStack会出现“RenderSystem called from wrong thread”的错误。
有大佬知道该怎么解决这个问题吗?能换其他思路也行,十分感谢。(本人第一次做模组,很多东西都不懂,还望详解)
 
内容版权许可
作者保留一切权利,禁止转载
已解决,虽然还是不太懂,但应该是因为模组的生物用了Geckolib模型,模型渲染和原版生物有出入导致RenderLivingEvent的getEntity方法获取不到模组生物。只需要自己定义一个事件,然后在模组生物的renderer.java文件中的getEntityType方法里面发布自定义事件,然后再注册这个事件就行了。
 

在线管理成员

在线会员

  • MapleSugar365
  • 小李子plum
  • dycfish
  • 张 恩熙
  • Evixtin
  • 悲伤豆沙包
  • Jack avery
  • pzz
  • 星陨_果酱君
  • Leaking
  • nullflux
  • with
  • 我来诠释手法
  • fufufu
  • shumengya666
  • YYT
  • Cu_huang
  • Proees
  • Mores
  • luohua161
...和 51 更多。
后退
顶部 底部