版本1.12.2forge
我想渲染一个生物时根据该生物的nbt来渲染不同的东西
但是渲染一个生物时是客户端,获取不到nbt请问有没有办法可以获取?
或者有没有可以曲线救国的方法能够实现同样的效果?
我想渲染一个生物时根据该生物的nbt来渲染不同的东西
但是渲染一个生物时是客户端,获取不到nbt请问有没有办法可以获取?
或者有没有可以曲线救国的方法能够实现同样的效果?
客户端不是什么都知道,也不是什么都需要知道
比如客户端会在带鞍的猪上渲染鞍,会在带箱子的驴上渲染箱子,但客户端还是不知道实体的nbt,只知道这一小部分与渲染有关的,由EntityDataManager告知的信息
比如兔子有个EntityDataManager
private static final DataParameter<Integer> RABBIT_TYPE = EntityDataManager.<Integer>createKey(EntityRabbit.class, DataSerializers.VARINT);
传递的是Integer类型的信息,先在entityInit()里注册这个EntityDataManager,服务端再在有需要的时候set一下复制代码客户端就能get到对应的内容复制代码
NBTTagCompound类型的信息也可以传,就看你觉得有没有必要了
比如客户端会在带鞍的猪上渲染鞍,会在带箱子的驴上渲染箱子,但客户端还是不知道实体的nbt,只知道这一小部分与渲染有关的,由EntityDataManager告知的信息
比如兔子有个EntityDataManager
private static final DataParameter<Integer> RABBIT_TYPE = EntityDataManager.<Integer>createKey(EntityRabbit.class, DataSerializers.VARINT);
传递的是Integer类型的信息,先在entityInit()里注册这个EntityDataManager,服务端再在有需要的时候set一下
- dataManager.set(RABBIT_TYPE, Integer.valueOf(rabbitTypeId));
- public int getRabbitType()
- {
- return ((Integer)this.dataManager.get(RABBIT_TYPE)).intValue();
- }
NBTTagCompound类型的信息也可以传,就看你觉得有没有必要了