diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/AnimalPoser.java b/src/main/java/com/minelittlepony/unicopia/client/render/AnimalPoser.java index 5fc00c9f..0f11a4ff 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/AnimalPoser.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/AnimalPoser.java @@ -22,7 +22,7 @@ public class AnimalPoser { .filter(eq -> eq instanceof Creature) .map(Creature.class::cast) .ifPresent(creature -> { - float tickDelta = MinecraftClient.getInstance().getTickDelta(); + float tickDelta = MinecraftClient.getInstance().getRenderTickCounter().getTickDelta(false); float headAngle = creature.getHeadAngle(tickDelta); float neckAngle = 12; diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/DisguisedArmsFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/DisguisedArmsFeatureRenderer.java index 2a9a0377..64eab453 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/DisguisedArmsFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/DisguisedArmsFeatureRenderer.java @@ -153,7 +153,7 @@ public class DisguisedArmsFeatureRenderer implements Acc } model.animateModel(entity, 0, 0, 0); - model.setAngles(entity, 0, 0, 0, 0, client.getTickDelta()); + model.setAngles(entity, 0, 0, 0, 0, client.getRenderTickCounter().getTickDelta(false)); float signum = right ? 1 : -1; float srtSwingProgress = MathHelper.sqrt(swingProgress); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java index 28957cf7..e0615833 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/HeldEntityFeatureRenderer.java @@ -55,7 +55,7 @@ public class HeldEntityFeatureRenderer implements Access @Override public boolean beforeRenderArms(ArmRenderer sender, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, E entity, int light) { return Pony.of(entity).flatMap(Pony::getEntityInArms).filter(passenger -> { - float swingProgress = entity.getHandSwingProgress(MinecraftClient.getInstance().getTickDelta()); + float swingProgress = entity.getHandSwingProgress(MinecraftClient.getInstance().getRenderTickCounter().getTickDelta(false)); float f = -0.4f * MathHelper.sin(MathHelper.sqrt(swingProgress) * (float)Math.PI); float g = 0.2f * MathHelper.sin(MathHelper.sqrt(swingProgress) * ((float)Math.PI * 2)); float h = -0.2f * MathHelper.sin(swingProgress * (float)Math.PI); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/HornFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/HornFeatureRenderer.java index 7a96004f..f5038a09 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/HornFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/HornFeatureRenderer.java @@ -49,7 +49,7 @@ public class HornFeatureRenderer implements AccessoryFea if (canRender(entity)) { model.setAngles(context.getModel()); model.setState(false); - model.render(stack, ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayer.getArmorCutoutNoCull(TEXTURE), false), lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(stack, ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayer.getArmorCutoutNoCull(TEXTURE), false), lightUv, OverlayTexture.DEFAULT_UV, Colors.WHITE); Pony.of(entity).flatMap(pony -> { return pony.getAbilities().getActiveStat() @@ -60,7 +60,7 @@ public class HornFeatureRenderer implements AccessoryFea .map(spell -> spell.getTypeAndTraits().type().getColor())); }).ifPresent(color -> { model.setState(true); - model.render(stack, ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayers.getMagicColored((0x99 << 24) | color), false), lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(stack, ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayers.getMagicColored((0x99 << 24) | color), false), lightUv, OverlayTexture.DEFAULT_UV, Colors.WHITE); }); } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/LeavesAdditionsModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/LeavesAdditionsModel.java index 8fb9735d..c0a69d71 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/LeavesAdditionsModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/LeavesAdditionsModel.java @@ -23,7 +23,7 @@ public final class LeavesAdditionsModel extends ForwardingBakedModel { public static void bootstrap() { ModelLoadingPlugin.register(ctx -> { ctx.modifyModelAfterBake().register(ModelModifier.WRAP_PHASE, (model, context) -> { - Identifier id = context.id(); + Identifier id = context.resourceId(); if (!id.getPath().endsWith("_flowering") || !(Registries.BLOCK.get(id.withPath(p -> p.replace("block/", "").replace("_flowering", ""))) instanceof FruitBearingBlock)) { return model; } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java index f6d05714..9d876127 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/PolearmRenderer.java @@ -22,7 +22,6 @@ import net.minecraft.util.math.RotationAxis; import net.minecraft.registry.Registries; public class PolearmRenderer implements DynamicItemRenderer, ClampedModelPredicateProvider { - private static final PolearmRenderer INSTANCE = new PolearmRenderer(); private static final Identifier THROWING = Identifier.ofVanilla("throwing"); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayerUtil.java b/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayerUtil.java index bceaabc2..3074da37 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayerUtil.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/RenderLayerUtil.java @@ -1,6 +1,5 @@ package com.minelittlepony.unicopia.client.render; -import java.util.Optional; import java.util.function.Consumer; import java.util.function.Function; @@ -16,7 +15,7 @@ public interface RenderLayerUtil { static void createUnionBuffer(Consumer action, VertexConsumerProvider vertices, Function overlayFunction) { Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEffectVertexConsumers(); action.accept(layer -> { - Identifier texture = RenderLayerUtil.getTexture(layer).orElse(null); + Identifier texture = com.minelittlepony.common.util.render.RenderLayerUtil.getTexture(layer).orElse(null); if (texture == null || texture.equals(SHADOW_TEXTURE) || texture.equals(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE)) { return vertices.getBuffer(layer); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/SmittenEyesRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/SmittenEyesRenderer.java index 9fa33446..53f2f469 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/SmittenEyesRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/SmittenEyesRenderer.java @@ -16,6 +16,7 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.WorldRenderer; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; import net.minecraft.util.math.Box; import net.minecraft.util.math.MathHelper; @@ -43,7 +44,7 @@ public class SmittenEyesRenderer { float scale = 1F + (1.3F + MathHelper.sin(pony.asEntity().age / 3F) * 0.06F); matrices.scale(scale, scale, scale); matrices.translate(0, 0.05F, 0); - model.render(matrices, buffer, light, overlay, 1, 1, 1, 1); + model.render(matrices, buffer, light, overlay, Colors.WHITE); if (client.getEntityRenderDispatcher().shouldRenderHitboxes()) { VertexConsumer lines = vertices.getBuffer(RenderLayer.getLines()); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/WingsFeatureRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/WingsFeatureRenderer.java index 16e0f343..24ad67e9 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/WingsFeatureRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/WingsFeatureRenderer.java @@ -24,6 +24,7 @@ import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; public class WingsFeatureRenderer implements AccessoryFeatureRenderer.Feature { @@ -48,7 +49,7 @@ public class WingsFeatureRenderer implements AccessoryFe VertexConsumer consumer = ItemRenderer.getArmorGlintConsumer(renderContext, RenderLayer.getEntityTranslucent(texture), false); model.setAngles(entity, context.getModel()); - model.render(matrices, consumer, lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(matrices, consumer, lightUv, OverlayTexture.DEFAULT_UV, Colors.WHITE); } } @@ -106,8 +107,8 @@ public class WingsFeatureRenderer implements AccessoryFe } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int i, int j, float f, float g, float h, float k) { - root.render(matrices, vertexConsumer, i, j, f, g, h, k); + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { + root.render(matrices, vertexConsumer, light, overlay, color); } static class Wing { diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityModel.java index 1a543310..e2580e66 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityModel.java @@ -134,7 +134,7 @@ public class AirBalloonEntityModel extends EntityModel { @Override public void setAngles(AirBalloonEntity entity, float limbDistance, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { - float tickDelta = MinecraftClient.getInstance().getTickDelta(); + float tickDelta = MinecraftClient.getInstance().getRenderTickCounter().getTickDelta(false); inflation = entity.getInflation(tickDelta); root.yaw = MathHelper.PI; @@ -230,15 +230,15 @@ public class AirBalloonEntityModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float r, float g, float b, float a) { + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { if (isBalloon) { matrices.push(); matrices.translate(0, 1 * (1 - inflation), 0); matrices.scale(1, MathHelper.lerp(inflation, -0.05F, 1), 1); - root.render(matrices, vertexConsumer, light, overlay, r, g, b, a); + root.render(matrices, vertexConsumer, light, overlay, color); matrices.pop(); } else { - root.render(matrices, vertexConsumer, light, overlay, r, g, b, a); + root.render(matrices, vertexConsumer, light, overlay, color); } } } \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java index ad31e128..8bd99835 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/AirBalloonEntityRenderer.java @@ -17,6 +17,7 @@ import net.minecraft.client.render.entity.feature.FeatureRenderer; import net.minecraft.client.render.entity.feature.FeatureRendererContext; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.Items; +import net.minecraft.util.Colors; import net.minecraft.util.Hand; import net.minecraft.util.Identifier; @@ -89,7 +90,7 @@ public class AirBalloonEntityRenderer extends MobEntityRenderer { @@ -96,8 +96,8 @@ public class ButterflyEntityRenderer extends MobEntityRenderer { @@ -71,10 +71,6 @@ public class CastSpellEntityRenderer extends EntityRenderer { int color = spell == null ? 0 : spell.getTypeAndTraits().type().getColor(); - float red = Color.r(color); - float green = Color.g(color); - float blue = Color.b(color); - @Nullable SpellRenderer renderer = spell == null ? null : SpellEffectsRenderDispatcher.INSTANCE.getRenderer(spell); @@ -91,7 +87,7 @@ public class CastSpellEntityRenderer extends EntityRenderer { matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(angle * ringSpeed)); matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(angle * ringSpeed * dim)); matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(angle * ringSpeed * dim)); - PlaneModel.INSTANCE.render(matrices, buffer, light, 0, 1, red, green, blue, scale / ((float)(dim * 3) + 1)); + PlaneModel.INSTANCE.render(matrices, buffer, light, 0, 1, Argb.withAlpha(color, (int)(255 * (scale / ((float)(dim * 3) + 1))))); matrices.pop(); } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityModel.java index 38798d64..559d7f2a 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityModel.java @@ -57,7 +57,7 @@ public class CrystalShardsEntityModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { - part.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { + part.render(matrices, vertexConsumer, light, overlay, color); } } \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityRenderer.java index 94bae2a7..7fbf45e8 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/CrystalShardsEntityRenderer.java @@ -10,6 +10,7 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderer; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; import net.minecraft.util.math.RotationAxis; @@ -39,7 +40,7 @@ public class CrystalShardsEntityRenderer extends EntityRenderer { public FairyEntityRenderer(EntityRendererFactory.Context context) { @@ -31,14 +33,15 @@ public class FairyEntityRenderer extends MobEntityRenderer layer.hasCrumbling() ? VertexConsumers.union(destructionOverlay, vertices.getBuffer(layer)) : vertices.getBuffer(layer); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/IgnominiousBulbEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/IgnominiousBulbEntityModel.java index b8bb4c20..ffc5bbc2 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/IgnominiousBulbEntityModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/IgnominiousBulbEntityModel.java @@ -79,7 +79,7 @@ public class IgnominiousBulbEntityModel extends EntityModel { @@ -27,7 +28,7 @@ public class IgnominiousBulbEntityRenderer extends EntityRenderer 0), Colors.WHITE); matrices.pop(); super.render(entity, yaw, tickDelta, matrices, vertices, light); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/MagicBeamEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/MagicBeamEntityRenderer.java index 3310d883..b87fcffe 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/MagicBeamEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/MagicBeamEntityRenderer.java @@ -18,6 +18,7 @@ import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.screen.PlayerScreenHandler; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; @@ -61,7 +62,7 @@ public class MagicBeamEntityRenderer extends EntityRenderer { .map(RenderLayers::getMagicColored) .orElseGet(RenderLayers::getMagicColored); - model.render(matrices, vertexConsumers.getBuffer(layer), light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(matrices, vertexConsumers.getBuffer(layer), light, OverlayTexture.DEFAULT_UV, Colors.WHITE); matrices.pop(); super.render(entity, yaw, tickDelta, matrices, vertexConsumers, light); @@ -94,8 +95,8 @@ public class MagicBeamEntityRenderer extends EntityRenderer { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { - part.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { + part.render(matrices, vertexConsumer, light, overlay, color); } } } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/MimicEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/MimicEntityRenderer.java index fcd7d979..af47e454 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/MimicEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/MimicEntityRenderer.java @@ -169,8 +169,8 @@ public class MimicEntityRenderer extends MobEntityRenderer { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { - part.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { + part.render(matrices, vertexConsumer, light, overlay, color); } } \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpecterEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpecterEntityRenderer.java index 763fd887..636ec583 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpecterEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/SpecterEntityRenderer.java @@ -34,7 +34,7 @@ public class SpecterEntityRenderer extends BipedEntityRenderer { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { - book.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { + book.render(matrices, vertexConsumer, light, overlay, color); } @Override diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityModel.java index f42afca6..db593277 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityModel.java @@ -116,11 +116,11 @@ public class StormCloudEntityModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { + public void render(MatrixStack matrices, VertexConsumer vertexConsumer, int light, int overlay, int color) { matrices.push(); part.rotate(matrices); - smallPuffs.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); - anvilHeads.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + smallPuffs.render(matrices, vertexConsumer, light, overlay, color); + anvilHeads.render(matrices, vertexConsumer, light, overlay, color); int puffCount = rng.nextInt(7); @@ -131,7 +131,7 @@ public class StormCloudEntityModel extends EntityModel { rng.nextGaussian(), rng.nextGaussian() ).mul(16)); - puff.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + puff.render(matrices, vertexConsumer, light, overlay, color); } matrices.pop(); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityRenderer.java index c0e6447b..2ef30279 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/StormCloudEntityRenderer.java @@ -9,11 +9,14 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderer; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; +import net.minecraft.util.math.ColorHelper.Argb; import net.minecraft.util.math.RotationAxis; public class StormCloudEntityRenderer extends EntityRenderer { private static final Identifier TEXTURE = Unicopia.id("textures/entity/storm_cloud.png"); + private static final int DEFAULT_COLOR = Argb.withAlpha(Colors.WHITE, (int)(255 * 0.9F)); private final StormCloudEntityModel model; @@ -33,10 +36,11 @@ public class StormCloudEntityRenderer extends EntityRenderer { matrices.scale(scale, scale, scale); matrices.translate(0, -1.45F, 0); + model.setAngles(entity, 0, 0, 0, 0, 0); model.render(matrices, vertices.getBuffer(model.getLayer(getTexture(entity))), entity.isStormy() ? 0 : light, - OverlayTexture.DEFAULT_UV, 1, 1, 1, 0.9F); + OverlayTexture.DEFAULT_UV, DEFAULT_COLOR); matrices.pop(); super.render(entity, yaw, tickDelta, matrices, vertices, light); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java index 05b3da1b..d6d2546e 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityModel.java @@ -141,7 +141,7 @@ public class TentacleEntityModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { - part.render(matrices, vertices, light, overlay); + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + part.render(matrices, vertices, light, overlay, color); } } \ No newline at end of file diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java index 7aa694b5..54e7d6a9 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/entity/TentacleEntityRenderer.java @@ -8,6 +8,7 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderer; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; @@ -32,7 +33,7 @@ public class TentacleEntityRenderer extends EntityRenderer { matrices.scale(scale, scale, scale); model.setAngles(entity, 0, 0, tickDelta, entity.getYaw(tickDelta), entity.getPitch(tickDelta)); - model.render(matrices, vertices.getBuffer(model.getLayer(getTexture(entity))), light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(matrices, vertices.getBuffer(model.getLayer(getTexture(entity))), light, OverlayTexture.getUv(0, entity.hurtTime > 0), Colors.WHITE); matrices.pop(); super.render(entity, yaw, tickDelta, matrices, vertices, light); } diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/model/BakedModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/model/BakedModel.java index 58e65456..07b8a9e2 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/model/BakedModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/model/BakedModel.java @@ -32,7 +32,7 @@ public class BakedModel { vertices.add(new RenderUtil.Vertex(x, y, z, u, v)); } - public final void render(MatrixStack matrices, VertexConsumer buffer, int light, int overlay, float scale, float r, float g, float b, float a) { + public final void render(MatrixStack matrices, VertexConsumer buffer, int light, int overlay, float scale, int color) { scale = Math.abs(scale); if (scale < 0.001F) { return; @@ -44,13 +44,13 @@ public class BakedModel { for (RenderUtil.Vertex vertex : vertices) { Vector4f pos = vertex.position(positionmatrix); Vector4f tex = vertex.texture(textureMatrix); - buffer.vertex(pos.x, pos.y, pos.z, r, g, b, a, tex.x, tex.y, overlay, light, 0, 0, 0); + buffer.vertex(pos.x, pos.y, pos.z, color, tex.x, tex.y, overlay, light, 0, 0, 0); } matrices.pop(); textureMatrix.identity(); } - public final void render(MatrixStack matrices, VertexConsumer buffer, int light, float scale, float r, float g, float b, float a) { + public final void render(MatrixStack matrices, VertexConsumer buffer, int light, float scale, int color) { scale = Math.abs(scale); if (scale < 0.001F) { return; @@ -62,7 +62,7 @@ public class BakedModel { for (RenderUtil.Vertex vertex : vertices) { Vector4f pos = vertex.position(positionmatrix); Vector4f tex = vertex.texture(textureMatrix); - buffer.vertex(pos.x, pos.y, pos.z).texture(tex.x, tex.y).color(r, g, b, a).light(getLightAt(pos, light)).next(); + buffer.vertex(pos.x, pos.y, pos.z).texture(tex.x, tex.y).color(color).light(getLightAt(pos, light)); } matrices.pop(); textureMatrix.identity(); diff --git a/src/main/java/com/minelittlepony/unicopia/client/render/model/CubeModel.java b/src/main/java/com/minelittlepony/unicopia/client/render/model/CubeModel.java index 6aaadb33..ff44a7b1 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/render/model/CubeModel.java +++ b/src/main/java/com/minelittlepony/unicopia/client/render/model/CubeModel.java @@ -6,7 +6,6 @@ import org.joml.Vector2f; import org.joml.Vector3f; import org.joml.Vector4f; -import com.minelittlepony.common.util.Color; import com.minelittlepony.unicopia.client.render.RenderUtil; import com.minelittlepony.unicopia.client.render.RenderUtil.Vertex; @@ -60,7 +59,6 @@ public class CubeModel { float x0, float y0, float z0, float x1, float y1, float z1, int color, int light, int overlay, Direction... directions) { - float r = Color.r(color), g = Color.g(color), b = Color.b(color); float du = u1 - u0, dv = v1 - v0; float dx = x1 - x0, dy = y1 - y0, dz = z1 - z0; Matrix4f position = matrices.peek().getPositionMatrix(); @@ -70,7 +68,7 @@ public class CubeModel { Vector4f pos = position.transform(RenderUtil.TEMP_VECTOR.set(vertex.position(), 1).mul(dx, dy, dz, 1).add(x0, y0, z0, 0)); Vector2f tex = TEMP_UV_VECTOR.set(vertex.texture().x, vertex.texture().y).mul(du, dv).add(u0, v0); Vector3f norm = normal.transform(RenderUtil.TEMP_NORMAL_VECTOR.set(direction.getOffsetX(), direction.getOffsetY(), direction.getOffsetZ())); - buffer.vertex(pos.x, pos.y, pos.z, r, g, b, 1, tex.x, tex.y, overlay, light, norm.x, norm.y, norm.z); + buffer.vertex(pos.x, pos.y, pos.z, color, tex.x, tex.y, overlay, light, norm.x, norm.y, norm.z); } } } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java index b8ba09d7..b0623255 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/TentacleEntity.java @@ -12,6 +12,7 @@ import com.minelittlepony.unicopia.util.shape.Sphere; import net.minecraft.command.argument.EntityAnchorArgumentType.EntityAnchor; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityStatuses; import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.MovementType; @@ -55,6 +56,8 @@ public class TentacleEntity extends AbstractDecorationEntity { private int ticksActive; private int prevMotionOffset; + public int hurtTime; + @Nullable private LivingEntity target; private final Comparator targetSorting = Comparator.comparing(this::distanceTo); @@ -144,6 +147,10 @@ public class TentacleEntity extends AbstractDecorationEntity { } addActiveTicks(20 + getWorld().random.nextInt(30)); playSound(USounds.ENTITY_TENTACLE_ROAR, 5, 1); + + hurtTime = 10; + getWorld().sendEntityStatus(this, EntityStatuses.PLAY_ATTACK_SOUND); + emitGameEvent(GameEvent.RESONATE_15); return true; } @@ -159,6 +166,11 @@ public class TentacleEntity extends AbstractDecorationEntity { prevGrowth = growth; super.tick(); prevAttackingTicks = attackingTicks; + + if (hurtTime > 0) { + hurtTime--; + } + if (isAttacking()) { if (--attackingTicks == 12) { if (target != null) { @@ -271,6 +283,9 @@ public class TentacleEntity extends AbstractDecorationEntity { case ATTACK_STATUS: attackingTicks = 30; break; + case EntityStatuses.PLAY_ATTACK_SOUND: + hurtTime = 10; + break; default: super.handleStatus(status); }