修复不正确的实体注册类型

This commit is contained in:
17146 2024-11-02 22:20:46 +08:00
parent cb1756f6b1
commit 7d484f46a1
11 changed files with 56 additions and 48 deletions

View file

@ -14,6 +14,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class ClaymoreRenderer extends GeoEntityRenderer<ClaymoreEntity> {
public ClaymoreRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new ClaymoreModel());
this.shadowRadius = 0f;

View file

@ -16,6 +16,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class Mk42Renderer extends GeoEntityRenderer<Mk42Entity> {
public Mk42Renderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new Mk42Model());
this.shadowRadius = 3f;

View file

@ -15,6 +15,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class MortarRenderer extends GeoEntityRenderer<MortarEntity> {
public MortarRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new MortarModel());
this.shadowRadius = 0f;

View file

@ -14,7 +14,8 @@ import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class Mk42DamageLayer extends GeoRenderLayer<Mk42Entity> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/sherman_damage.png");
private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/sherman_damage.png");
public Mk42DamageLayer(GeoRenderer<Mk42Entity> entityRenderer) {
super(entityRenderer);

View file

@ -16,7 +16,8 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
public class Mk42Layer extends GeoRenderLayer<Mk42Entity> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/sherman_e.png");
private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/sherman_e.png");
public Mk42Layer(GeoRenderer<Mk42Entity> entityRenderer) {
super(entityRenderer);

View file

@ -13,7 +13,8 @@ import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class MortarLayer extends GeoRenderLayer<MortarEntity> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/mortar_e.png");
private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/mortar_e.png");
public MortarLayer(GeoRenderer<MortarEntity> entityRenderer) {
super(entityRenderer);

View file

@ -14,9 +14,10 @@ import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.model.data.EntityModelData;
public class Mk42Model extends GeoModel<Mk42Entity> {
@Override
public ResourceLocation getAnimationResource(Mk42Entity entity) {
return new ResourceLocation(ModUtils.MODID, "animations/mk_42.animation.json");
return ModUtils.loc("animations/mk_42.animation.json");
}
@Override
@ -30,23 +31,23 @@ public class Mk42Model extends GeoModel<Mk42Entity> {
}
if (distance < 32) {
return new ResourceLocation(ModUtils.MODID, "geo/sherman.geo.json");
return ModUtils.loc("geo/sherman.geo.json");
} else if (distance < 64) {
return new ResourceLocation(ModUtils.MODID, "geo/sherman_lod1.geo.json");
return ModUtils.loc("geo/sherman_lod1.geo.json");
} else {
return new ResourceLocation(ModUtils.MODID, "geo/sherman_lod2.geo.json");
return ModUtils.loc("geo/sherman_lod2.geo.json");
}
}
@Override
public ResourceLocation getTextureResource(Mk42Entity entity) {
return new ResourceLocation(ModUtils.MODID, "textures/entity/sherman.png");
return ModUtils.loc("textures/entity/sherman.png");
}
@Override
public void setCustomAnimations(Mk42Entity animatable, long instanceId, AnimationState animationState) {
public void setCustomAnimations(Mk42Entity animatable, long instanceId, AnimationState<Mk42Entity> animationState) {
CoreGeoBone bone = getAnimationProcessor().getBone("maingun");
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA);
bone.setRotX((entityData.headPitch()) * Mth.DEG_TO_RAD);
CoreGeoBone camera = getAnimationProcessor().getBone("camera");

View file

@ -11,30 +11,30 @@ import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.model.data.EntityModelData;
public class MortarModel extends GeoModel<MortarEntity> {
@Override
public ResourceLocation getAnimationResource(MortarEntity entity) {
return new ResourceLocation(ModUtils.MODID, "animations/mortar.animation.json");
return ModUtils.loc("animations/mortar.animation.json");
}
@Override
public ResourceLocation getModelResource(MortarEntity entity) {
return new ResourceLocation(ModUtils.MODID, "geo/mortar.geo.json");
return ModUtils.loc("geo/mortar.geo.json");
}
@Override
public ResourceLocation getTextureResource(MortarEntity entity) {
return new ResourceLocation(ModUtils.MODID, "textures/entity/mortar.png");
return ModUtils.loc("textures/entity/mortar.png");
}
@Override
public void setCustomAnimations(MortarEntity animatable, long instanceId, AnimationState animationState) {
public void setCustomAnimations(MortarEntity animatable, long instanceId, AnimationState<MortarEntity> animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("paoguan");
CoreGeoBone jiaojia = getAnimationProcessor().getBone("jiaojia");
if (head != null) {
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
EntityModelData entityData = animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX((entityData.headPitch()) * Mth.DEG_TO_RAD);
jiaojia.setRotX(-2 * ((entityData.headPitch() - (10 - entityData.headPitch() * 0.1f)) * Mth.DEG_TO_RAD));
}
}
}

View file

@ -8,17 +8,17 @@ import software.bernie.geckolib.model.GeoModel;
public class SenpaiModel extends GeoModel<SenpaiEntity> {
@Override
public ResourceLocation getAnimationResource(SenpaiEntity entity) {
return new ResourceLocation(ModUtils.MODID, "animations/senpai.animation.json");
return ModUtils.loc("animations/senpai.animation.json");
}
@Override
public ResourceLocation getModelResource(SenpaiEntity entity) {
return new ResourceLocation(ModUtils.MODID, "geo/senpai.geo.json");
return ModUtils.loc("geo/senpai.geo.json");
}
@Override
public ResourceLocation getTextureResource(SenpaiEntity entity) {
return new ResourceLocation(ModUtils.MODID, "textures/entity/senpai.png");
return ModUtils.loc("textures/entity/senpai.png");
}
}

View file

@ -24,16 +24,16 @@ public class ModEntities {
public static final RegistryObject<EntityType<TargetEntity>> TARGET = register("target",
EntityType.Builder.<TargetEntity>of(TargetEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<MortarEntity>> MORTAR = register("mortar",
EntityType.Builder.<MortarEntity>of(MortarEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f));
EntityType.Builder.<MortarEntity>of(MortarEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f));
public static final RegistryObject<EntityType<SenpaiEntity>> SENPAI = register("senpai",
EntityType.Builder.<SenpaiEntity>of(SenpaiEntity::new, MobCategory.MONSTER).setShouldReceiveVelocityUpdates(true).setTrackingRange(1024).setUpdateInterval(3).setCustomClientFactory(SenpaiEntity::new)
.sized(0.6f, 2f));
public static final RegistryObject<EntityType<ClaymoreEntity>> CLAYMORE = register("claymore",
EntityType.Builder.<ClaymoreEntity>of(ClaymoreEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<Mk42Entity>> MK_42 = register("mk_42",
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(5124).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f));
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(5124).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f));
public static final RegistryObject<EntityType<Mle1934Entity>> MLE_1934 = register("mle_1934",
EntityType.Builder.<Mle1934Entity>of(Mle1934Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(4.5f, 2.8f));
EntityType.Builder.<Mle1934Entity>of(Mle1934Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(4.5f, 2.8f));
public static final RegistryObject<EntityType<DroneEntity>> DRONE = register("drone",
EntityType.Builder.<DroneEntity>of(DroneEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.7f, 0.175f));

View file

@ -8,6 +8,7 @@ import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class ModEntityRenderers {
@SubscribeEvent
public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerEntityRenderer(ModEntities.MORTAR.get(), MortarRenderer::new);