修复不正确的实体注册类型
This commit is contained in:
parent
cb1756f6b1
commit
7d484f46a1
11 changed files with 56 additions and 48 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
@ -23,7 +24,7 @@ public class Mk42DamageLayer extends GeoRenderLayer<Mk42Entity> {
|
|||
@Override
|
||||
public void render(PoseStack poseStack, Mk42Entity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
||||
RenderType glowRenderType = RenderType.entityTranslucent(LAYER);
|
||||
float heal = Mth.clamp((300 - animatable.getEntityData().get(Mk42Entity.HEALTH)) * 0.0033f,0.1f,1);
|
||||
float heal = Mth.clamp((300 - animatable.getEntityData().get(Mk42Entity.HEALTH)) * 0.0033f, 0.1f, 1);
|
||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,28 +31,28 @@ 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");
|
||||
|
||||
if (animatable.getFirstPassenger() == null) return;
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue