
看教程上说添加上生命值属性就可以了,但还是报错了。
public class TestEntity extends CreatureEntity implements GeoEntity {
private final AnimatableInstanceCache cache = AzureLibUtil.createInstanceCache(this);
public TestEntity(EntityType p_i48580_1_, World p_i48580_2_) {
super(p_i48580_1_, p_i48580_2_);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar controllers) {
controllers.add(new AnimationController
{
return event.setAndContinue(
// If moving, play the walking animation
event.isMoving() ? RawAnimation.begin().thenLoop("walking"):
// If not moving, play the idle animation
RawAnimation.begin().thenLoop("idle"));
}));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return cache;
}
@Override
protected void defineSynchedData() {
}
@Override
public void readAdditionalSaveData(CompoundNBT p_70037_1_) {
}
@Override
public void addAdditionalSaveData(CompoundNBT p_213281_1_) {
}
@Override
public IPacket getAddEntityPacket() {
return super.getAddEntityPacket();
}
}复制代码
java.lang.NullPointerException: null
at net.minecraft.network.datasync.EntityDataManager.set(EntityDataManager.java:122) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.LivingEntity.setHealth(LivingEntity.java:924) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.LivingEntity.(LivingEntity.java:207) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.MobEntity.(MobEntity.java:108) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.CreatureEntity.(CreatureEntity.java:13) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at com.example.examplemod.TestEntity.(TestEntity.java:25) ~[main/:?] {re:classloading}
at net.minecraft.entity.EntityType.create(EntityType.java:445) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.EntityType.lambda$create$1(EntityType.java:456) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_261] {}
at net.minecraft.entity.EntityType.create(EntityType.java:455) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.EntityType.loadStaticEntity(EntityType.java:513) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.entity.EntityType.loadEntityRecursive(EntityType.java:495) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.command.impl.SummonCommand.spawnEntity(SummonCommand.java:50) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at net.minecraft.command.impl.SummonCommand.lambda$register$1(SummonCommand.java:34) ~[forge-1.16.5-36.2.39_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:262) ~[brigadier-1.0.17.jar:?] {re:classloading}
at net.minecraft.command.Commands.performCommand(Commands.java:217) ~[forge:?] {re:classloading}
at net.minecraft.network.play.ServerPlayNetHandler.handleCommand(ServerPlayNetHandler.java:1119) ~[forge:?] {re:classloading}
at net.minecraft.network.play.ServerPlayNetHandler.handleChat(ServerPlayNetHandler.java:1102) ~[forge:?] {re:classloading}
at net.minecraft.network.play.ServerPlayNetHandler.handleChat(ServerPlayNetHandler.java:1081) ~[forge:?] {re:classloading}
at net.minecraft.network.play.client.CChatMessagePacket.handle(CChatMessagePacket.java:31) ~[forge:?] {re:classloading}
at net.minecraft.network.play.client.CChatMessagePacket.handle(CChatMessagePacket.java:8) ~[forge:?] {re:classloading}
at net.minecraft.network.PacketThreadUtil.lambda$ensureRunningOnSameThread$0(PacketThreadUtil.java:19) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:17) ~[forge:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.doRunTask(ThreadTaskExecutor.java:136) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.doRunTask(RecursiveEventLoop.java:22) ~[forge:?] {re:classloading}
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:734) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:159) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.pollTask(ThreadTaskExecutor.java:109) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:717) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:711) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.managedBlock(ThreadTaskExecutor.java:119) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:697) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:646) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B}
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_261] {}复制代码