From 7d484f46a13ef99fa46d120633ba673833eecfd4 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sat, 2 Nov 2024 22:20:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E4=BD=93=E6=B3=A8=E5=86=8C=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../renderer/entity/ClaymoreRenderer.java | 1 + .../client/renderer/entity/Mk42Renderer.java | 1 + .../renderer/entity/MortarRenderer.java | 1 + .../entity/layer/Mk42DamageLayer.java | 21 ++++++++++--------- .../superbwarfare/entity/layer/Mk42Layer.java | 19 +++++++++-------- .../entity/layer/MortarLayer.java | 19 +++++++++-------- .../superbwarfare/entity/model/Mk42Model.java | 17 ++++++++------- .../entity/model/MortarModel.java | 12 +++++------ .../entity/model/SenpaiModel.java | 6 +++--- .../superbwarfare/init/ModEntities.java | 6 +++--- .../init/ModEntityRenderers.java | 1 + 11 files changed, 56 insertions(+), 48 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java index 6082ff177..b2194e8ae 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/ClaymoreRenderer.java @@ -14,6 +14,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; public class ClaymoreRenderer extends GeoEntityRenderer { + public ClaymoreRenderer(EntityRendererProvider.Context renderManager) { super(renderManager, new ClaymoreModel()); this.shadowRadius = 0f; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java index 42c2242ba..148a9453a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/Mk42Renderer.java @@ -16,6 +16,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; public class Mk42Renderer extends GeoEntityRenderer { + public Mk42Renderer(EntityRendererProvider.Context renderManager) { super(renderManager, new Mk42Model()); this.shadowRadius = 3f; diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/MortarRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/MortarRenderer.java index e5d2a0589..737eaf2d1 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/MortarRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/entity/MortarRenderer.java @@ -15,6 +15,7 @@ import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; public class MortarRenderer extends GeoEntityRenderer { + public MortarRenderer(EntityRendererProvider.Context renderManager) { super(renderManager, new MortarModel()); this.shadowRadius = 0f; diff --git a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java index e3766b9fb..cc5909c3e 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42DamageLayer.java @@ -14,16 +14,17 @@ import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class Mk42DamageLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/sherman_damage.png"); - public Mk42DamageLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } + private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/sherman_damage.png"); - @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); - getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal); - } + public Mk42DamageLayer(GeoRenderer entityRenderer) { + super(entityRenderer); + } + + @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); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, heal); + } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42Layer.java b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42Layer.java index ac9e9428c..f395d6d32 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42Layer.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/layer/Mk42Layer.java @@ -16,15 +16,16 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.PoseStack; public class Mk42Layer extends GeoRenderLayer { - private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/sherman_e.png"); - public Mk42Layer(GeoRenderer entityRenderer) { - super(entityRenderer); - } + private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/sherman_e.png"); - @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.eyes(LAYER); - getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); - } + public Mk42Layer(GeoRenderer entityRenderer) { + super(entityRenderer); + } + + @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.eyes(LAYER); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); + } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/layer/MortarLayer.java b/src/main/java/net/mcreator/superbwarfare/entity/layer/MortarLayer.java index d3129b39f..d70d49b6a 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/layer/MortarLayer.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/layer/MortarLayer.java @@ -13,15 +13,16 @@ import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class MortarLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/mortar_e.png"); - public MortarLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } + private static final ResourceLocation LAYER = ModUtils.loc("textures/entity/mortar_e.png"); - @Override - public void render(PoseStack poseStack, MortarEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { - RenderType glowRenderType = RenderType.eyes(LAYER); - getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); - } + public MortarLayer(GeoRenderer entityRenderer) { + super(entityRenderer); + } + + @Override + public void render(PoseStack poseStack, MortarEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + RenderType glowRenderType = RenderType.eyes(LAYER); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); + } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/model/Mk42Model.java b/src/main/java/net/mcreator/superbwarfare/entity/model/Mk42Model.java index 9afc0c72c..8d5a93f20 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/model/Mk42Model.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/model/Mk42Model.java @@ -14,9 +14,10 @@ import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.data.EntityModelData; public class Mk42Model extends GeoModel { + @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 { } 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 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()); } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/model/MortarModel.java b/src/main/java/net/mcreator/superbwarfare/entity/model/MortarModel.java index d1daa29d6..cb238f654 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/model/MortarModel.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/model/MortarModel.java @@ -11,30 +11,30 @@ import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.data.EntityModelData; public class MortarModel extends GeoModel { + @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 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)); } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/entity/model/SenpaiModel.java b/src/main/java/net/mcreator/superbwarfare/entity/model/SenpaiModel.java index a5828b954..d82eaf544 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/model/SenpaiModel.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/model/SenpaiModel.java @@ -8,17 +8,17 @@ import software.bernie.geckolib.model.GeoModel; public class SenpaiModel extends GeoModel { @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"); } } diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java b/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java index 334919374..38bd2c819 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModEntities.java @@ -24,16 +24,16 @@ public class ModEntities { public static final RegistryObject> TARGET = register("target", EntityType.Builder.of(TargetEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f)); public static final RegistryObject> MORTAR = register("mortar", - EntityType.Builder.of(MortarEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f)); + EntityType.Builder.of(MortarEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f)); public static final RegistryObject> SENPAI = register("senpai", EntityType.Builder.of(SenpaiEntity::new, MobCategory.MONSTER).setShouldReceiveVelocityUpdates(true).setTrackingRange(1024).setUpdateInterval(3).setCustomClientFactory(SenpaiEntity::new) .sized(0.6f, 2f)); public static final RegistryObject> CLAYMORE = register("claymore", EntityType.Builder.of(ClaymoreEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).sized(0.5f, 0.5f)); public static final RegistryObject> MK_42 = register("mk_42", - EntityType.Builder.of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(5124).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f)); + EntityType.Builder.of(Mk42Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(5124).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f)); public static final RegistryObject> MLE_1934 = register("mle_1934", - EntityType.Builder.of(Mle1934Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(4.5f, 2.8f)); + EntityType.Builder.of(Mle1934Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(4.5f, 2.8f)); public static final RegistryObject> DRONE = register("drone", EntityType.Builder.of(DroneEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.7f, 0.175f)); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModEntityRenderers.java b/src/main/java/net/mcreator/superbwarfare/init/ModEntityRenderers.java index e51f87a1c..667c8d23a 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModEntityRenderers.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModEntityRenderers.java @@ -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);