diff --git a/gradle.properties b/gradle.properties index faad0b7f..f31aebc4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.daemon=false # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.20.5 - yarn_mappings=1.20.5+build.1 - loader_version=0.15.7 - fabric_version=0.97.5+1.20.5 + minecraft_version=1.21-pre2 + yarn_mappings=1.21-pre2+build.2 + loader_version=0.15.11 + fabric_version=0.99.4+1.21 # Mod Properties group=com.minelittlepony @@ -19,7 +19,7 @@ org.gradle.daemon=false modrinth_project_id=JBjInUXM # Dependencies - modmenu_version=10.0.0-beta.1 - kirin_version=1.18.0-beta.1+1.20.5 + modmenu_version=11.0.0-beta.1 + kirin_version=1.19.0-beta.1+1.21 hd_skins_version=6.12.3-beta.6+1.20.5 - mson_version=1.9.3+1.20.5 + mson_version=1.10.0-beta.2+1.21 diff --git a/src/main/java/com/minelittlepony/api/config/PonyConfig.java b/src/main/java/com/minelittlepony/api/config/PonyConfig.java index e70ed9a0..f85cf915 100644 --- a/src/main/java/com/minelittlepony/api/config/PonyConfig.java +++ b/src/main/java/com/minelittlepony/api/config/PonyConfig.java @@ -94,7 +94,7 @@ public class PonyConfig extends Config { public PonyConfig(Path path) { super(new HeirarchicalJsonConfigAdapter(new GsonBuilder() - .registerTypeAdapter(Identifier.class, new ToStringAdapter<>(Identifier::toString, Identifier::new))), path); + .registerTypeAdapter(Identifier.class, new ToStringAdapter<>(Identifier::toString, Identifier::of))), path); instance = this; } diff --git a/src/main/java/com/minelittlepony/api/events/Channel.java b/src/main/java/com/minelittlepony/api/events/Channel.java index 1df76dec..871e9cb4 100644 --- a/src/main/java/com/minelittlepony/api/events/Channel.java +++ b/src/main/java/com/minelittlepony/api/events/Channel.java @@ -65,7 +65,7 @@ public class Channel { } record PonyDataPayload(PonyData data) implements CustomPayload { - public static final Id ID = new Id<>(new Identifier("minelittlepony", "pony_data")); + public static final Id ID = new Id<>(Identifier.of("minelittlepony", "pony_data")); public static final PacketCodec CODEC = CustomPayload.codecOf( (p, buffer) -> MsgPonyData.write(p.data(), buffer), buffer -> new PonyDataPayload(MsgPonyData.read(buffer)) @@ -79,7 +79,7 @@ public class Channel { record PonyDataRequest() implements CustomPayload { public static final PonyDataRequest INSTANCE = new PonyDataRequest(); - private static final Id ID = new Id<>(new Identifier("minelittlepony", "request_pony_data")); + private static final Id ID = new Id<>(Identifier.of("minelittlepony", "request_pony_data")); public static final PacketCodec CODEC = PacketCodec.unit(INSTANCE); @Override diff --git a/src/main/java/com/minelittlepony/api/model/SubModel.java b/src/main/java/com/minelittlepony/api/model/SubModel.java index 93089138..9624d758 100644 --- a/src/main/java/com/minelittlepony/api/model/SubModel.java +++ b/src/main/java/com/minelittlepony/api/model/SubModel.java @@ -14,7 +14,7 @@ public interface SubModel { /** * Renders this model component. */ - void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, float red, float green, float blue, float alpha, ModelAttributes attributes); + void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes); /** * Sets whether this part should be rendered. diff --git a/src/main/java/com/minelittlepony/api/model/gear/AbstractGearModel.java b/src/main/java/com/minelittlepony/api/model/gear/AbstractGearModel.java index 8b6c6eb9..08c87b84 100644 --- a/src/main/java/com/minelittlepony/api/model/gear/AbstractGearModel.java +++ b/src/main/java/com/minelittlepony/api/model/gear/AbstractGearModel.java @@ -27,14 +27,14 @@ public abstract class AbstractGearModel extends Model implements Gear { } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, UUID interpolatorId) { - render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, UUID interpolatorId) { + render(stack, vertices, overlay, light, color); } @Override - public void render(MatrixStack stack, VertexConsumer renderContext, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { + public void render(MatrixStack stack, VertexConsumer renderContext, int overlay, int light, int color) { parts.forEach(part -> { - part.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); + part.render(stack, renderContext, overlay, light, color); }); } diff --git a/src/main/java/com/minelittlepony/api/model/gear/Gear.java b/src/main/java/com/minelittlepony/api/model/gear/Gear.java index 841bce0a..021255e2 100644 --- a/src/main/java/com/minelittlepony/api/model/gear/Gear.java +++ b/src/main/java/com/minelittlepony/api/model/gear/Gear.java @@ -92,7 +92,7 @@ public interface Gear { /** * Renders this model component. */ - void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, UUID interpolatorId); + void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, UUID interpolatorId); /** * A render context for instance of IGear. diff --git a/src/main/java/com/minelittlepony/api/pony/DefaultPonySkinHelper.java b/src/main/java/com/minelittlepony/api/pony/DefaultPonySkinHelper.java index b1a2d2a1..4a2a3947 100644 --- a/src/main/java/com/minelittlepony/api/pony/DefaultPonySkinHelper.java +++ b/src/main/java/com/minelittlepony/api/pony/DefaultPonySkinHelper.java @@ -17,7 +17,7 @@ public final class DefaultPonySkinHelper { public static final Identifier NIRIK_SKIN_TYPE_ID = id("nirik"); private static final Function SKINS = Util.memoize(original -> new SkinTextures( - new Identifier("minelittlepony", original.texture().getPath().replace(".png", "_pony.png")), + id(original.texture().getPath().replace(".png", "_pony.png")), null, null, null, @@ -26,7 +26,7 @@ public final class DefaultPonySkinHelper { )); public static Identifier id(String name) { - return new Identifier("minelittlepony", name); + return Identifier.of("minelittlepony", name); } public static SkinTextures getTextures(SkinTextures original) { diff --git a/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java b/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java index c5b92ade..2f0ad973 100644 --- a/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java +++ b/src/main/java/com/minelittlepony/api/pony/meta/Wearable.java @@ -3,20 +3,22 @@ package com.minelittlepony.api.pony.meta; import net.minecraft.util.Identifier; import net.minecraft.util.math.ColorHelper; +import com.minelittlepony.api.pony.DefaultPonySkinHelper; + import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public enum Wearable implements TValue { NONE (0x00, null), - CROWN (0x16, new Identifier("minelittlepony", "textures/models/crown.png")), - MUFFIN (0x32, new Identifier("minelittlepony", "textures/models/muffin.png")), - HAT (0x64, new Identifier("textures/entity/witch.png")), - ANTLERS (0x96, new Identifier("minelittlepony", "textures/models/antlers.png")), - SADDLE_BAGS_LEFT (0xC6, new Identifier("minelittlepony", "textures/models/saddlebags.png")), - SADDLE_BAGS_RIGHT (0xC7, new Identifier("minelittlepony", "textures/models/saddlebags.png")), - SADDLE_BAGS_BOTH (0xC8, new Identifier("minelittlepony", "textures/models/saddlebags.png")), - STETSON (0xFA, new Identifier("minelittlepony", "textures/models/stetson.png")); + CROWN (0x16, DefaultPonySkinHelper.id("textures/models/crown.png")), + MUFFIN (0x32, DefaultPonySkinHelper.id("textures/models/muffin.png")), + HAT (0x64, Identifier.ofVanilla("textures/entity/witch.png")), + ANTLERS (0x96, DefaultPonySkinHelper.id("textures/models/antlers.png")), + SADDLE_BAGS_LEFT (0xC6, DefaultPonySkinHelper.id("textures/models/saddlebags.png")), + SADDLE_BAGS_RIGHT (0xC7, DefaultPonySkinHelper.id("textures/models/saddlebags.png")), + SADDLE_BAGS_BOTH (0xC8, DefaultPonySkinHelper.id("textures/models/saddlebags.png")), + STETSON (0xFA, DefaultPonySkinHelper.id("textures/models/stetson.png")); private int triggerValue; @@ -29,7 +31,7 @@ public enum Wearable implements TValue { Wearable(int pixel, Identifier texture) { triggerValue = pixel; - id = new Identifier("minelittlepony", name().toLowerCase(Locale.ROOT)); + id = DefaultPonySkinHelper.id(name().toLowerCase(Locale.ROOT)); this.texture = texture; } diff --git a/src/main/java/com/minelittlepony/client/HorseCam.java b/src/main/java/com/minelittlepony/client/HorseCam.java index 6d8c80d5..ec256028 100644 --- a/src/main/java/com/minelittlepony/client/HorseCam.java +++ b/src/main/java/com/minelittlepony/client/HorseCam.java @@ -87,7 +87,7 @@ public class HorseCam { public static float rescaleCameraPitch(double toHeight, float originalPitch) { MinecraftClient client = MinecraftClient.getInstance(); PlayerEntity player = client.player; - client.gameRenderer.updateCrosshairTarget(client.getTickDelta()); + client.gameRenderer.updateCrosshairTarget(client.getRenderTickCounter().getTickDelta(false)); HitResult hit = client.crosshairTarget; if (client.targetedEntity != null) { diff --git a/src/main/java/com/minelittlepony/client/MineLittlePony.java b/src/main/java/com/minelittlepony/client/MineLittlePony.java index 2f2c1138..90adeb11 100644 --- a/src/main/java/com/minelittlepony/client/MineLittlePony.java +++ b/src/main/java/com/minelittlepony/client/MineLittlePony.java @@ -64,7 +64,7 @@ public class MineLittlePony implements ClientModInitializer { } public static Identifier id(String name) { - return new Identifier("minelittlepony", name); + return Identifier.of("minelittlepony", name); } @Override @@ -129,7 +129,7 @@ public class MineLittlePony implements ClientModInitializer { button.getStyle() .setIcon(new TextureSprite() .setPosition(2, 2) - .setTexture(new Identifier("minelittlepony", "textures/gui/pony.png")) + .setTexture(id("textures/gui/pony.png")) .setTextureSize(16, 16) .setSize(16, 16)) .setTooltip("minelp.options.title", 0, 10); diff --git a/src/main/java/com/minelittlepony/client/PonyBounds.java b/src/main/java/com/minelittlepony/client/PonyBounds.java index e6da895e..ae88e153 100644 --- a/src/main/java/com/minelittlepony/client/PonyBounds.java +++ b/src/main/java/com/minelittlepony/client/PonyBounds.java @@ -10,7 +10,7 @@ import net.minecraft.util.math.Vec3d; public class PonyBounds { private static Vec3d getBaseRidingOffset(LivingEntity entity) { - float delta = MinecraftClient.getInstance().getTickDelta(); + float delta = MinecraftClient.getInstance().getRenderTickCounter().getTickDelta(false); return new Vec3d( MathHelper.lerp(delta, entity.prevX, entity.getX()), MathHelper.lerp(delta, entity.prevY, entity.getY()), diff --git a/src/main/java/com/minelittlepony/client/PonyManagerImpl.java b/src/main/java/com/minelittlepony/client/PonyManagerImpl.java index 517c7888..538e9ab4 100644 --- a/src/main/java/com/minelittlepony/client/PonyManagerImpl.java +++ b/src/main/java/com/minelittlepony/client/PonyManagerImpl.java @@ -25,7 +25,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; public class PonyManagerImpl implements PonyManager, SimpleSynchronousResourceReloadListener { - private static final Identifier ID = new Identifier("minelittlepony", "background_ponies"); + private static final Identifier ID = MineLittlePony.id("background_ponies"); private final PonyConfig config; diff --git a/src/main/java/com/minelittlepony/client/VariatedTextureSupplier.java b/src/main/java/com/minelittlepony/client/VariatedTextureSupplier.java index d50cd37d..17446972 100644 --- a/src/main/java/com/minelittlepony/client/VariatedTextureSupplier.java +++ b/src/main/java/com/minelittlepony/client/VariatedTextureSupplier.java @@ -11,9 +11,9 @@ import com.minelittlepony.util.MathUtil; import java.util.*; public class VariatedTextureSupplier implements SimpleSynchronousResourceReloadListener { - private static final Identifier ID = new Identifier("minelittlepony", "variated_textures"); - public static final Identifier BACKGROUND_PONIES_POOL = new Identifier("minelittlepony", "textures/entity/pony"); - public static final Identifier BACKGROUND_ZOMPONIES_POOL = new Identifier("minelittlepony", "textures/entity/zompony"); + private static final Identifier ID = MineLittlePony.id("variated_textures"); + public static final Identifier BACKGROUND_PONIES_POOL = MineLittlePony.id("textures/entity/pony"); + public static final Identifier BACKGROUND_ZOMPONIES_POOL = MineLittlePony.id("textures/entity/zompony"); private final Map entries = new HashMap<>(); diff --git a/src/main/java/com/minelittlepony/client/compat/hdskins/GuiSkinsMineLP.java b/src/main/java/com/minelittlepony/client/compat/hdskins/GuiSkinsMineLP.java index ddb0c4b0..00b1c6fc 100644 --- a/src/main/java/com/minelittlepony/client/compat/hdskins/GuiSkinsMineLP.java +++ b/src/main/java/com/minelittlepony/client/compat/hdskins/GuiSkinsMineLP.java @@ -17,10 +17,10 @@ import net.minecraft.util.Identifier; * Skin uploading GUI. Usually displayed over the main menu. */ class GuiSkinsMineLP extends GuiSkins { - private static final String[] PANORAMAS = new String[] { - "minelittlepony:textures/cubemap/sugarcubecorner", - "minelittlepony:textures/cubemap/quillsandsofas", - "minelittlepony:textures/cubemap/sweetappleacres" + private static final Identifier[] PANORAMAS = new Identifier[] { + MineLittlePony.id("textures/cubemap/sugarcubecorner"), + MineLittlePony.id("textures/cubemap/quillsandsofas"), + MineLittlePony.id("textures/cubemap/sweetappleacres") }; public GuiSkinsMineLP(Screen parent, SkinServerList servers) { @@ -47,7 +47,7 @@ class GuiSkinsMineLP extends GuiSkins { .getStyle() .setIcon(new TextureSprite() .setPosition(2, 2) - .setTexture(new Identifier("minelittlepony", "textures/gui/pony.png")) + .setTexture(MineLittlePony.id("textures/gui/pony.png")) .setTextureSize(16, 16) .setSize(16, 16)) .setTooltip("minelp.options.title", 0, 10); @@ -64,8 +64,6 @@ class GuiSkinsMineLP extends GuiSkins { @Override protected Identifier getBackground() { - int i = (int)Math.floor(Math.random() * PANORAMAS.length); - - return new Identifier(PANORAMAS[i]); + return PANORAMAS[(int)Math.floor(Math.random() * PANORAMAS.length)]; } } diff --git a/src/main/java/com/minelittlepony/client/mixin/MixinVertextConsumers.java b/src/main/java/com/minelittlepony/client/mixin/MixinVertextConsumers.java index 91ec6243..95c670af 100644 --- a/src/main/java/com/minelittlepony/client/mixin/MixinVertextConsumers.java +++ b/src/main/java/com/minelittlepony/client/mixin/MixinVertextConsumers.java @@ -1,12 +1,12 @@ package com.minelittlepony.client.mixin; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import java.util.Arrays; +import java.util.Set; +import it.unimi.dsi.fastutil.objects.ObjectArraySet; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumers; @@ -25,15 +25,12 @@ abstract class MixinVertextConsumers { } } - @Inject(method = "union([" + T + ")" + T, at = @At("HEAD"), cancellable = true) - private static void onUnion(VertexConsumer[] delegates, CallbackInfoReturnable info) { - int oldLength = delegates.length; - delegates = Arrays.stream(delegates).distinct().toArray(VertexConsumer[]::new); - - if (delegates.length == 1) { - info.setReturnValue(delegates[0]); - } else if (delegates.length != oldLength) { - info.setReturnValue(new VertexConsumers.Union(delegates)); + @ModifyVariable(method = "union([" + T + ")" + T, at = @At("HEAD"), argsOnly = true) + private static VertexConsumer[] onUnion(VertexConsumer[] delegates) { + Set set = new ObjectArraySet<>(delegates.length); + for (VertexConsumer delegate : delegates) { + set.add(delegate); } + return set.toArray(VertexConsumer[]::new); } } diff --git a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java index 9f605629..868474ff 100644 --- a/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/AbstractPonyModel.java @@ -4,7 +4,7 @@ import com.minelittlepony.api.model.*; import com.minelittlepony.api.events.PonyModelPrepareCallback; import com.minelittlepony.api.pony.meta.SizePreset; import com.minelittlepony.client.transform.PonyTransformation; -import com.minelittlepony.client.util.render.RenderList; +import com.minelittlepony.mson.util.RenderList; import com.minelittlepony.util.MathUtil; import com.minelittlepony.util.MathUtil.Angles; @@ -71,27 +71,27 @@ public abstract class AbstractPonyModel extends ClientPo } protected RenderList forPart(Supplier part) { - return (stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> { - part.get().renderPart(stack, vertices, overlayUv, lightUv, red, green, blue, alpha, attributes); + return (stack, vertices, overlay, light, color) -> { + part.get().renderPart(stack, vertices, overlay, light, color, attributes); }; } protected RenderList forPart(SubModel part) { - return (stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> { - part.renderPart(stack, vertices, overlayUv, lightUv, red, green, blue, alpha, attributes); + return (stack, vertices, overlay, light, color) -> { + part.renderPart(stack, vertices, overlay, light, color, attributes); }; } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { - mainRenderList.accept(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color) { + mainRenderList.accept(stack, vertices, overlay, light, color); } protected RenderList withStage(BodyPart part, RenderList action) { - return (stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> { + return (stack, vertices, overlay, light, color) -> { stack.push(); transform(part, stack); - action.accept(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + action.accept(stack, vertices, overlay, light, color); stack.pop(); }; } diff --git a/src/main/java/com/minelittlepony/client/model/ModelType.java b/src/main/java/com/minelittlepony/client/model/ModelType.java index fb60b220..cf98cd48 100644 --- a/src/main/java/com/minelittlepony/client/model/ModelType.java +++ b/src/main/java/com/minelittlepony/client/model/ModelType.java @@ -6,13 +6,13 @@ import net.minecraft.client.render.entity.model.ArmorStandEntityModel; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.mob.VexEntity; import net.minecraft.entity.passive.*; -import net.minecraft.util.Identifier; import com.minelittlepony.api.model.BodyPart; import com.minelittlepony.api.model.PonyModel; import com.minelittlepony.api.model.gear.*; import com.minelittlepony.api.pony.meta.Race; import com.minelittlepony.api.pony.meta.Wearable; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.armour.PonyArmourModel; import com.minelittlepony.client.model.entity.*; import com.minelittlepony.client.model.entity.race.*; @@ -93,7 +93,7 @@ public final class ModelType { @SuppressWarnings("unchecked") static GearModelKey registerGear(String name, Wearable wearable, MsonModel.Factory constructor) { return (GearModelKey)GEAR_MODELS.computeIfAbsent(wearable, w -> { - return new GearModelKey(Mson.getInstance().registerModel(new Identifier("minelittlepony", "gear/" + name), constructor), constructor); + return new GearModelKey(Mson.getInstance().registerModel(MineLittlePony.id("gear/" + name), constructor), constructor); }); } @@ -103,7 +103,7 @@ public final class ModelType { } static ModelKey register(String name, MsonModel.Factory constructor) { - return new ModelKeyImpl(new Identifier("minelittlepony", name), constructor); + return new ModelKeyImpl(MineLittlePony.id(name), constructor); } @SuppressWarnings("unchecked") diff --git a/src/main/java/com/minelittlepony/client/model/PlayerModelKey.java b/src/main/java/com/minelittlepony/client/model/PlayerModelKey.java index be294f46..36e0f08e 100644 --- a/src/main/java/com/minelittlepony/client/model/PlayerModelKey.java +++ b/src/main/java/com/minelittlepony/client/model/PlayerModelKey.java @@ -3,12 +3,12 @@ package com.minelittlepony.client.model; import net.minecraft.client.model.Model; import net.minecraft.client.model.ModelPart; import net.minecraft.entity.LivingEntity; -import net.minecraft.util.Identifier; import org.jetbrains.annotations.Nullable; import com.minelittlepony.api.model.Models; import com.minelittlepony.api.model.PonyModel; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.armour.PonyArmourModel; import com.minelittlepony.mson.api.*; @@ -21,8 +21,8 @@ public record PlayerModelKey modelFactory, MsonModel.Factory> armorFactory) { this( - new ModelKeyImpl<>(new Identifier("minelittlepony", "races/steve/" + name), tree -> modelFactory.apply(tree, false)), - new ModelKeyImpl<>(new Identifier("minelittlepony", "races/alex/" + name), tree -> modelFactory.apply(tree, true)), + new ModelKeyImpl<>(MineLittlePony.id("races/steve/" + name), tree -> modelFactory.apply(tree, false)), + new ModelKeyImpl<>(MineLittlePony.id("races/alex/" + name), tree -> modelFactory.apply(tree, true)), armorFactory ); } diff --git a/src/main/java/com/minelittlepony/client/model/entity/EnderStallionModel.java b/src/main/java/com/minelittlepony/client/model/entity/EnderStallionModel.java index 56b1e757..38ad68ea 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/EnderStallionModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/EnderStallionModel.java @@ -48,10 +48,10 @@ public class EnderStallionModel extends SkeleponyModel { } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { + public void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color) { stack.push(); stack.translate(0, -1.15F, 0); - super.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + super.render(stack, vertices, overlay, light, color); stack.pop(); } diff --git a/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java b/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java index 3d67c724..377903a8 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/GuardianPonyModel.java @@ -24,8 +24,8 @@ public class GuardianPonyModel extends GuardianEntityModel implements PonyModelM } @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { - mixin().render(matrices, vertices, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + mixin().render(matrices, vertices, light, overlay, color); } @Override diff --git a/src/main/java/com/minelittlepony/client/model/entity/ParaspriteModel.java b/src/main/java/com/minelittlepony/client/model/entity/ParaspriteModel.java index 3fed427c..7ab49bcf 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/ParaspriteModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/ParaspriteModel.java @@ -38,8 +38,8 @@ public class ParaspriteModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { - root.render(matrices, vertices, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + root.render(matrices, vertices, light, overlay, color); } @Override diff --git a/src/main/java/com/minelittlepony/client/model/entity/SaddleModel.java b/src/main/java/com/minelittlepony/client/model/entity/SaddleModel.java index 2b32195b..4736ebee 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/SaddleModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/SaddleModel.java @@ -21,7 +21,7 @@ public class SaddleModel extends EntityModel { } @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { - root.render(matrices, vertices, light, overlay, red, green, blue, alpha); + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + root.render(matrices, vertices, light, overlay, color); } } diff --git a/src/main/java/com/minelittlepony/client/model/entity/race/UnicornModel.java b/src/main/java/com/minelittlepony/client/model/entity/race/UnicornModel.java index 6cf05373..b7882433 100644 --- a/src/main/java/com/minelittlepony/client/model/entity/race/UnicornModel.java +++ b/src/main/java/com/minelittlepony/client/model/entity/race/UnicornModel.java @@ -5,8 +5,8 @@ import com.minelittlepony.api.model.*; import com.minelittlepony.api.pony.meta.Size; import com.minelittlepony.api.pony.meta.SizePreset; import com.minelittlepony.client.model.part.UnicornHorn; -import com.minelittlepony.client.util.render.RenderList; import com.minelittlepony.mson.api.ModelView; +import com.minelittlepony.mson.util.RenderList; import net.minecraft.client.model.ModelPart; import net.minecraft.client.util.math.MatrixStack; @@ -35,7 +35,7 @@ public class UnicornModel extends EarthPonyModel impl super.init(context); horn = addPart(context.findByName("horn")); headRenderList.add(RenderList.of().add(head::rotate).add(forPart(horn)).checked(() -> getRace().hasHorn())); - this.mainRenderList.add(withStage(BodyPart.HEAD, RenderList.of().add(head::rotate).add((stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> { + this.mainRenderList.add(withStage(BodyPart.HEAD, RenderList.of().add(head::rotate).add((stack, vertices, overlay, light, color) -> { horn.renderMagic(stack, vertices, getAttributes().metadata.glowColor()); })).checked(() -> hasMagic() && isCasting())); } diff --git a/src/main/java/com/minelittlepony/client/model/gear/DeerAntlers.java b/src/main/java/com/minelittlepony/client/model/gear/DeerAntlers.java index f566b299..f76e9aa3 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/DeerAntlers.java +++ b/src/main/java/com/minelittlepony/client/model/gear/DeerAntlers.java @@ -10,7 +10,6 @@ import com.minelittlepony.api.model.BodyPart; import com.minelittlepony.api.model.PonyModel; import com.minelittlepony.api.model.gear.WearableGear; import com.minelittlepony.api.pony.meta.Wearable; -import com.minelittlepony.common.util.Color; import java.util.Calendar; import java.util.UUID; @@ -63,14 +62,12 @@ public class DeerAntlers extends WearableGear { } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, UUID interpolatorId) { + public void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, UUID interpolatorId) { if (tint != 0) { - red = Color.r(tint); - green = Color.g(tint); - blue = Color.b(tint); + color = tint; } - left.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); - right.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + left.render(stack, vertices, overlay, light, color); + right.render(stack, vertices, overlay, light, color); } } diff --git a/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java b/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java index 4e6005d2..9b168f53 100644 --- a/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java +++ b/src/main/java/com/minelittlepony/client/model/gear/SaddleBags.java @@ -63,7 +63,7 @@ public class SaddleBags extends WearableGear { } @Override - public void render(MatrixStack stack, VertexConsumer renderContext, int overlayUv, int lightUv, float red, float green, float blue, float alpha, UUID interpolatorId) { + public void render(MatrixStack stack, VertexConsumer renderContext, int overlay, int light, int color, UUID interpolatorId) { stack.push(); if (wearable == Wearable.SADDLE_BAGS_BOTH) { @@ -77,11 +77,11 @@ public class SaddleBags extends WearableGear { stack.translate(0, 0.3F, -0.3F); } - leftBag.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); - rightBag.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); + leftBag.render(stack, renderContext, overlay, light, color); + rightBag.render(stack, renderContext, overlay, light, color); stack.pop(); - strap.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); + strap.render(stack, renderContext, overlay, light, color); stack.pop(); } diff --git a/src/main/java/com/minelittlepony/client/model/part/LionTail.java b/src/main/java/com/minelittlepony/client/model/part/LionTail.java index 09db309f..9c35e963 100644 --- a/src/main/java/com/minelittlepony/client/model/part/LionTail.java +++ b/src/main/java/com/minelittlepony/client/model/part/LionTail.java @@ -96,7 +96,7 @@ public class LionTail implements SubModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { - tail.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { + tail.render(stack, vertices, overlay, light, color); } } diff --git a/src/main/java/com/minelittlepony/client/model/part/PonyEars.java b/src/main/java/com/minelittlepony/client/model/part/PonyEars.java index 6949e80f..25f1df66 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PonyEars.java +++ b/src/main/java/com/minelittlepony/client/model/part/PonyEars.java @@ -58,7 +58,7 @@ public class PonyEars implements SubModel, MsonModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { } @Override diff --git a/src/main/java/com/minelittlepony/client/model/part/PonySnout.java b/src/main/java/com/minelittlepony/client/model/part/PonySnout.java index 3372c789..e2f4c5cc 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PonySnout.java +++ b/src/main/java/com/minelittlepony/client/model/part/PonySnout.java @@ -34,7 +34,7 @@ public class PonySnout implements SubModel, MsonModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { } @Override diff --git a/src/main/java/com/minelittlepony/client/model/part/PonyTail.java b/src/main/java/com/minelittlepony/client/model/part/PonyTail.java index 568d64c9..d386d067 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PonyTail.java +++ b/src/main/java/com/minelittlepony/client/model/part/PonyTail.java @@ -86,12 +86,12 @@ public class PonyTail implements SubModel, MsonModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { stack.push(); tail.rotate(stack); for (int i = 0; i < segments.size(); i++) { - segments.get(i).render(this, stack, vertices, i, overlayUv, lightUv, red, green, blue, alpha, attributes); + segments.get(i).render(this, stack, vertices, i, overlay, light, color, attributes); } stack.pop(); @@ -104,7 +104,7 @@ public class PonyTail implements SubModel, MsonModel { this.tree = tree; } - public void render(PonyTail tail, MatrixStack stack, VertexConsumer renderContext, int index, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { + public void render(PonyTail tail, MatrixStack stack, VertexConsumer renderContext, int index, int overlay, int light, int color, ModelAttributes attributes) { if (index >= tail.tailStop) { return; } @@ -118,7 +118,7 @@ public class PonyTail implements SubModel, MsonModel { if (attributes.isHorsey || tail.shape == TailShape.STRAIGHT) { tree.yaw = 0; - tree.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); + tree.render(stack, renderContext, overlay, light, color); return; } @@ -145,7 +145,7 @@ public class PonyTail implements SubModel, MsonModel { tree.yaw = 0.2F * (index % 2 - 1); tree.pivotZ = 9; } - tree.render(stack, renderContext, overlayUv, lightUv, red, green, blue, alpha); + tree.render(stack, renderContext, overlay, light, color); stack.pop(); } } diff --git a/src/main/java/com/minelittlepony/client/model/part/PonyWings.java b/src/main/java/com/minelittlepony/client/model/part/PonyWings.java index 187c3f5f..e2ab603a 100644 --- a/src/main/java/com/minelittlepony/client/model/part/PonyWings.java +++ b/src/main/java/com/minelittlepony/client/model/part/PonyWings.java @@ -96,9 +96,9 @@ public class PonyWings> implements SubModel } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { - getLeft().render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); - getRight().render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { + getLeft().render(stack, vertices, overlay, light, color); + getRight().render(stack, vertices, overlay, light, color); } public static class Wing implements MsonModel { @@ -135,19 +135,19 @@ public class PonyWings> implements SubModel } } - public void render(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { + public void render(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color) { stack.push(); stack.scale(wingScale, wingScale, wingScale); if (pegasus.wingsAreOpen()) { - extended.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + extended.render(stack, vertices, overlay, light, color); } else { boolean bags = pegasus.isWearing(Wearable.SADDLE_BAGS_BOTH); if (bags) { stack.push(); stack.translate(0, 0, 0.198F); } - folded.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + folded.render(stack, vertices, overlay, light, color); if (bags) { stack.pop(); } diff --git a/src/main/java/com/minelittlepony/client/model/part/SeaponyTail.java b/src/main/java/com/minelittlepony/client/model/part/SeaponyTail.java index 6b311f2d..364a39ab 100644 --- a/src/main/java/com/minelittlepony/client/model/part/SeaponyTail.java +++ b/src/main/java/com/minelittlepony/client/model/part/SeaponyTail.java @@ -39,8 +39,8 @@ public class SeaponyTail implements SubModel, MsonModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { - tailBase.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { + tailBase.render(stack, vertices, overlay, light, color); } } diff --git a/src/main/java/com/minelittlepony/client/model/part/UnicornHorn.java b/src/main/java/com/minelittlepony/client/model/part/UnicornHorn.java index cddb9899..4c9c2520 100644 --- a/src/main/java/com/minelittlepony/client/model/part/UnicornHorn.java +++ b/src/main/java/com/minelittlepony/client/model/part/UnicornHorn.java @@ -10,7 +10,6 @@ import net.minecraft.client.util.math.MatrixStack; import com.minelittlepony.api.model.SubModel; import com.minelittlepony.api.model.ModelAttributes; import com.minelittlepony.client.render.MagicGlow; -import com.minelittlepony.common.util.Color; public class UnicornHorn implements SubModel { @@ -25,8 +24,8 @@ public class UnicornHorn implements SubModel { } @Override - public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, ModelAttributes attributes) { - horn.render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); + public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlay, int light, int color, ModelAttributes attributes) { + horn.render(stack, vertices, overlay, light, color); } public void renderMagic(MatrixStack stack, VertexConsumer verts, int tint) { @@ -34,8 +33,7 @@ public class UnicornHorn implements SubModel { Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers(); VertexConsumer vertices = immediate.getBuffer(MagicGlow.getRenderLayer()); - - glow.render(stack, vertices, OverlayTexture.DEFAULT_UV, 0x0F00F0, Color.r(tint), Color.g(tint), Color.b(tint), 0.4F); + glow.render(stack, vertices, OverlayTexture.DEFAULT_UV, 0x0F00F0, (tint & 0xFFFFFF) | (102 << 24)); } } diff --git a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java index 7ecdaef6..e45e7dd2 100644 --- a/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/LevitatingItemRenderer.java @@ -4,7 +4,7 @@ import com.minelittlepony.api.config.PonyConfig; import com.minelittlepony.api.model.HornedPonyModel; import com.minelittlepony.api.pony.Pony; import com.minelittlepony.client.MineLittlePony; -import com.minelittlepony.client.util.render.RenderLayerUtil; +import com.minelittlepony.common.util.render.RenderLayerUtil; import org.jetbrains.annotations.Nullable; @@ -64,7 +64,7 @@ public class LevitatingItemRenderer { stack.set(DataComponentTypes.ENCHANTMENT_GLINT_OVERRIDE, false); } - float tickDelta = MinecraftClient.getInstance().getTickDelta() + entity.age; + float tickDelta = MinecraftClient.getInstance().getRenderTickCounter().getTickDelta(false) + entity.age; float driftStrength = 0.002F; diff --git a/src/main/java/com/minelittlepony/client/render/OffsetVertexConsumer.java b/src/main/java/com/minelittlepony/client/render/OffsetVertexConsumer.java deleted file mode 100644 index 5f7acdbc..00000000 --- a/src/main/java/com/minelittlepony/client/render/OffsetVertexConsumer.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.minelittlepony.client.render; - -import net.minecraft.client.render.VertexConsumer; - -import org.joml.Vector3f; - -// TODO: This works but it only outsets the faces making them look disjointed. We need to scale the vertices relative to the quad center as well. -public class OffsetVertexConsumer implements VertexConsumer { - - private final VertexConsumer delegate; - - private double x, y, z; - private int r, g, b, a; - private float textureU, textureV; - private int overlayU, overlayV; - private int lightU, lightV; - private float normalX, normalY, normalZ; - - private final Vector3f normalVector = new Vector3f(); - - private final float offsetDistance; - - public OffsetVertexConsumer(VertexConsumer delegate, float offsetDistance) { - this.delegate = delegate; - this.offsetDistance = offsetDistance; - } - - @Override - public VertexConsumer vertex(double x, double y, double z) { - this.x = x; - this.y = y; - this.z = z; - return this; - } - - @Override - public VertexConsumer color(int red, int green, int blue, int alpha) { - r = red; - g = green; - b = blue; - a = alpha; - return this; - } - - @Override - public VertexConsumer texture(float u, float v) { - textureU = u; - textureV = v; - return this; - } - - @Override - public VertexConsumer overlay(int u, int v) { - overlayU = u; - overlayV = v; - return this; - } - - @Override - public VertexConsumer light(int u, int v) { - lightU = u; - lightV = v; - return this; - } - - @Override - public VertexConsumer normal(float x, float y, float z) { - normalX = x; - normalY = y; - normalZ = z; - return this; - } - - @Override - public void next() { - normalVector.set(normalX, normalY, normalZ).normalize(offsetDistance); - delegate.vertex( - (normalVector.x + (float)x), - (normalVector.y + (float)y), - (normalVector.z + (float)z), - r / 255F, g / 255F, b / 255F, a / 255F, - textureU, textureV, - overlayU | overlayV << 16, - lightU | lightV << 16, - normalX, normalY, normalZ - ); - } - - @Override - public void fixedColor(int red, int green, int blue, int alpha) { - delegate.fixedColor(red, green, blue, alpha); - } - - @Override - public void unfixColor() { - delegate.unfixColor(); - } -} diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java index 89348bd9..c08556b3 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/MobSkull.java @@ -61,7 +61,7 @@ public class MobSkull implements ISkull { } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int lightUv, int overlayUv, float red, float green, float blue, float alpha) { - ponyHead.get().headRenderList.accept(stack, vertices, lightUv, overlayUv, red, green, blue, alpha); + public void render(MatrixStack stack, VertexConsumer vertices, int light, int overlay, int color) { + ponyHead.get().headRenderList.accept(stack, vertices, light, overlay, color); } } diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PlayerPonySkull.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PlayerPonySkull.java index 7fba9f14..802a48b2 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PlayerPonySkull.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PlayerPonySkull.java @@ -80,18 +80,18 @@ public class PlayerPonySkull implements ISkull { } @Override - public void render(MatrixStack stack, VertexConsumer vertices, int lightUv, int overlayUv, float red, float green, float blue, float alpha) { + public void render(MatrixStack stack, VertexConsumer vertices, int light, int overlay, int color) { stack.push(); - ponyHead.headRenderList.accept(stack, vertices, lightUv, overlayUv, red, green, blue, alpha); + ponyHead.headRenderList.accept(stack, vertices, light, overlay, color); stack.pop(); stack.push(); - ponyHead.helmetRenderList.accept(stack, vertices, lightUv, overlayUv, red, green, blue, alpha); + ponyHead.helmetRenderList.accept(stack, vertices, light, overlay, color); stack.pop(); if (renderingEars) { stack.push(); stack.scale(1.3333334f, 1.3333334f, 1.3333334f); stack.translate(0, 0.05F, 0); - deadMau5.render(stack, vertices, lightUv, overlayUv, red, green, blue, alpha); + deadMau5.render(stack, vertices, light, overlay, color); stack.pop(); } } diff --git a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java index 74ae39b0..691064e1 100644 --- a/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/blockentity/skull/PonySkullRenderer.java @@ -7,6 +7,7 @@ import com.minelittlepony.client.model.armour.ArmourLayer; import com.minelittlepony.client.model.armour.ArmourRendererPlugin; import com.minelittlepony.client.render.MobRenderers; import com.minelittlepony.client.render.entity.*; +import com.minelittlepony.common.util.Color; import net.minecraft.block.AbstractSkullBlock; import net.minecraft.block.SkullBlock; @@ -88,7 +89,7 @@ public class PonySkullRenderer { public boolean renderSkull(@Nullable Direction direction, float yaw, float animationProgress, MatrixStack stack, VertexConsumerProvider renderContext, RenderLayer layer, - int lightUv) { + int light) { if (selectedSkull == null || !selectedSkull.canRender(PonyConfig.getInstance()) || !selectedSkull.bindPony(Pony.getManager().getPony(selectedSkin))) { return false; @@ -111,7 +112,7 @@ public class PonySkullRenderer { VertexConsumer vertices = renderContext.getBuffer(layer); selectedSkull.setAngles(yaw, animationProgress); - selectedSkull.render(stack, vertices, lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, ArmourRendererPlugin.INSTANCE.get().getArmourAlpha(EquipmentSlot.HEAD, ArmourLayer.OUTER)); + selectedSkull.render(stack, vertices, light, OverlayTexture.DEFAULT_UV, Color.argbToHex(ArmourRendererPlugin.INSTANCE.get().getArmourAlpha(EquipmentSlot.HEAD, ArmourLayer.OUTER), 1, 1, 1)); stack.pop(); @@ -126,7 +127,7 @@ public class PonySkullRenderer { public interface ISkull { void setAngles(float angle, float poweredTicks); - void render(MatrixStack stack, VertexConsumer vertices, int lightUv, int overlayUv, float red, float green, float blue, float alpha); + void render(MatrixStack stack, VertexConsumer vertices, int light, int overlay, int color); boolean canRender(PonyConfig config); diff --git a/src/main/java/com/minelittlepony/client/render/entity/AllayRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/AllayRenderer.java index 3ea92d85..538bd632 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/AllayRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/AllayRenderer.java @@ -16,7 +16,7 @@ import com.minelittlepony.client.model.entity.BreezieModel; * AKA a breezie :D */ public class AllayRenderer extends MobEntityRenderer> { - public static final Identifier BREEZIE_PONIES = new Identifier("minelittlepony", "textures/entity/allay/pony"); + public static final Identifier BREEZIE_PONIES = MineLittlePony.id("textures/entity/allay/pony"); public AllayRenderer(EntityRendererFactory.Context context) { super(context, ModelType.ALLAY.createModel(), 0.4f); diff --git a/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java index 51bef6b0..99922f3c 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/EnderStallionRenderer.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.EnderStallionModel; import com.minelittlepony.client.render.entity.feature.GlowingEyesFeature; @@ -19,9 +20,8 @@ import net.minecraft.util.Identifier; import java.util.Random; public class EnderStallionRenderer extends PonyRenderer implements IGlowingRenderer { - - public static final Identifier ENDERMAN = new Identifier("minelittlepony", "textures/entity/enderman/enderman_pony.png"); - private static final Identifier EYES = new Identifier("minelittlepony", "textures/entity/enderman/enderman_pony_eyes.png"); + public static final Identifier ENDERMAN = MineLittlePony.id("textures/entity/enderman/enderman_pony.png"); + private static final Identifier EYES = MineLittlePony.id("textures/entity/enderman/enderman_pony_eyes.png"); private final Random rnd = new Random(); diff --git a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java index 271b5da1..2dcf3fcf 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -10,7 +10,7 @@ import com.minelittlepony.client.model.*; import com.minelittlepony.client.render.DebugBoundingBoxRenderer; import com.minelittlepony.client.render.PonyRenderContext; import com.minelittlepony.client.render.entity.feature.*; -import com.minelittlepony.client.util.render.RenderLayerUtil; +import com.minelittlepony.common.util.render.RenderLayerUtil; import java.util.*; import java.util.function.Function; diff --git a/src/main/java/com/minelittlepony/client/render/entity/PonyPigRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PonyPigRenderer.java index c7969a51..0f76375b 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PonyPigRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PonyPigRenderer.java @@ -36,7 +36,7 @@ public class PonyPigRenderer extends PigEntityRenderer { model.animateModel(entity, limbAngle, limbDistance, tickDelta); model.setAngles(entity, limbAngle, limbDistance, animationProgress, headYaw, headPitch); VertexConsumer vertexConsumer = vertexConsumers.getBuffer(RenderLayer.getEntityCutoutNoCull(Wearable.CROWN.getDefaultTexture())); - model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 0xFFFFFFFF); } } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/PonyPiglinRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PonyPiglinRenderer.java index f53177ed..33941110 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PonyPiglinRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PonyPiglinRenderer.java @@ -5,14 +5,15 @@ import net.minecraft.entity.mob.AbstractPiglinEntity; import net.minecraft.entity.mob.HostileEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.PiglinPonyModel; import com.minelittlepony.client.render.entity.npc.textures.TextureSupplier; public class PonyPiglinRenderer extends PonyRenderer { - public static final Identifier PIGLIN = new Identifier("minelittlepony", "textures/entity/piglin/piglin_pony.png"); - public static final Identifier PIGLIN_BRUTE = new Identifier("minelittlepony", "textures/entity/piglin/piglin_brute_pony.png"); - public static final Identifier ZOMBIFIED_PIGLIN = new Identifier("minelittlepony", "textures/entity/piglin/zombified_piglin_pony.png"); + public static final Identifier PIGLIN = MineLittlePony.id("textures/entity/piglin/piglin_pony.png"); + public static final Identifier PIGLIN_BRUTE = MineLittlePony.id("textures/entity/piglin/piglin_brute_pony.png"); + public static final Identifier ZOMBIFIED_PIGLIN = MineLittlePony.id("textures/entity/piglin/zombified_piglin_pony.png"); public PonyPiglinRenderer(EntityRendererFactory.Context context, Identifier texture, float scale) { super(context, ModelType.PIGLIN, TextureSupplier.of(texture), scale); diff --git a/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java index c7aa1f63..844da4c5 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/SeaponyRenderer.java @@ -3,6 +3,7 @@ package com.minelittlepony.client.render.entity; import org.jetbrains.annotations.NotNull; import com.minelittlepony.api.model.ModelAttributes; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.mixin.IResizeable; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.GuardianPonyModel; @@ -17,10 +18,10 @@ import net.minecraft.entity.mob.GuardianEntity; import net.minecraft.util.Identifier; public class SeaponyRenderer extends GuardianEntityRenderer { - public static final Identifier SEAPONY = new Identifier("minelittlepony", "textures/entity/guardian/blueball.png"); - private static final Identifier SEAPONY_TEXTURES = new Identifier("minelittlepony", "textures/entity/guardian"); - public static final Identifier ELDER_SEAPONY = new Identifier("minelittlepony", "textures/entity/elder_guardian/blueball.png"); - private static final Identifier ELDER_SEAPONY_TEXTURES = new Identifier("minelittlepony", "textures/entity/elder_guardian"); + public static final Identifier SEAPONY = MineLittlePony.id("textures/entity/guardian/blueball.png"); + private static final Identifier SEAPONY_TEXTURES = MineLittlePony.id("textures/entity/guardian"); + public static final Identifier ELDER_SEAPONY = MineLittlePony.id("textures/entity/elder_guardian/blueball.png"); + private static final Identifier ELDER_SEAPONY_TEXTURES = MineLittlePony.id("textures/entity/elder_guardian"); private final AbstractPonyRenderer ponyRenderer; diff --git a/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java index 6aab7ed7..815c6053 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/SkeleponyRenderer.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.SkeleponyModel; import com.minelittlepony.client.render.entity.feature.StrayClothingFeature; @@ -10,10 +11,9 @@ import net.minecraft.entity.mob.*; import net.minecraft.util.Identifier; public class SkeleponyRenderer extends PonyRenderer> { - - public static final Identifier SKELETON = new Identifier("minelittlepony", "textures/entity/skeleton/skeleton_pony.png"); - public static final Identifier WITHER = new Identifier("minelittlepony", "textures/entity/skeleton/skeleton_wither_pony.png"); - public static final Identifier STRAY = new Identifier("minelittlepony", "textures/entity/skeleton/stray_pony.png"); + public static final Identifier SKELETON = MineLittlePony.id("textures/entity/skeleton/skeleton_pony.png"); + public static final Identifier WITHER = MineLittlePony.id("textures/entity/skeleton/skeleton_wither_pony.png"); + public static final Identifier STRAY = MineLittlePony.id("textures/entity/skeleton/stray_pony.png"); public SkeleponyRenderer(EntityRendererFactory.Context context, Identifier texture, float scale) { super(context, ModelType.SKELETON, TextureSupplier.of(texture), scale); diff --git a/src/main/java/com/minelittlepony/client/render/entity/StriderRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/StriderRenderer.java index be6db2bb..3300c6e5 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/StriderRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/StriderRenderer.java @@ -13,10 +13,10 @@ import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; public class StriderRenderer extends MobEntityRenderer> { - public static final Identifier DRAGON_PONIES = new Identifier("minelittlepony", "textures/entity/strider/pony"); - public static final Identifier COLD_DRAGON_PONIES = new Identifier("minelittlepony", "textures/entity/strider/cold_pony"); + public static final Identifier DRAGON_PONIES = MineLittlePony.id("textures/entity/strider/pony"); + public static final Identifier COLD_DRAGON_PONIES = MineLittlePony.id("textures/entity/strider/cold_pony"); - private static final Identifier SADDLE = new Identifier("minelittlepony", "textures/entity/strider/strider_saddle_pony.png"); + private static final Identifier SADDLE = MineLittlePony.id("textures/entity/strider/strider_saddle_pony.png"); public StriderRenderer(EntityRendererFactory.Context context) { super(context, ModelType.STRIDER.createModel(), 0.5F); diff --git a/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java index 8a14886d..7ef05b74 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/VexRenderer.java @@ -11,7 +11,7 @@ import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ParaspriteModel; public class VexRenderer extends MobEntityRenderer> { - public static final Identifier PARASPRITE_PONIES = new Identifier("minelittlepony", "textures/entity/illager/vex_pony"); + public static final Identifier PARASPRITE_PONIES = MineLittlePony.id("textures/entity/illager/vex_pony"); public VexRenderer(EntityRendererFactory.Context context) { super(context, ModelType.VEX.createModel(), 0.3F); diff --git a/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java index c78003e1..e456b748 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/WitchRenderer.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.render.entity; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.WitchPonyModel; import com.minelittlepony.client.render.entity.npc.textures.TextureSupplier; @@ -9,8 +10,7 @@ import net.minecraft.entity.mob.WitchEntity; import net.minecraft.util.Identifier; public class WitchRenderer extends PonyRenderer { - - private static final Identifier WITCH_TEXTURES = new Identifier("minelittlepony", "textures/entity/witch_pony.png"); + private static final Identifier WITCH_TEXTURES = MineLittlePony.id("textures/entity/witch_pony.png"); public WitchRenderer(EntityRendererFactory.Context context) { super(context, ModelType.WITCH, TextureSupplier.of(WITCH_TEXTURES), BASE_MODEL_SCALE); diff --git a/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java index 967e9539..4327e3f3 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/ZomponyRenderer.java @@ -4,17 +4,17 @@ import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.entity.mob.*; import net.minecraft.util.Identifier; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.ZomponyModel; import com.minelittlepony.client.render.entity.npc.textures.TextureSupplier; public class ZomponyRenderer extends PonyRenderer> { + public static final Identifier ZOMBIE = MineLittlePony.id("textures/entity/zombie/zombie_pony.png"); + public static final Identifier HUSK = MineLittlePony.id("textures/entity/zombie/husk_pony.png"); + public static final Identifier DROWNED = MineLittlePony.id("textures/entity/zombie/drowned_pony.png"); - public static final Identifier ZOMBIE = new Identifier("minelittlepony", "textures/entity/zombie/zombie_pony.png"); - public static final Identifier HUSK = new Identifier("minelittlepony", "textures/entity/zombie/husk_pony.png"); - public static final Identifier DROWNED = new Identifier("minelittlepony", "textures/entity/zombie/drowned_pony.png"); - - public static final Identifier DEMON_CHILD = new Identifier("minelittlepony", "textures/entity/zombie/demon_child.png"); + public static final Identifier DEMON_CHILD = MineLittlePony.id("textures/entity/zombie/demon_child.png"); public ZomponyRenderer(EntityRendererFactory.Context context, TextureSupplier texture, float scale) { super(context, ModelType.ZOMBIE, texture, scale); diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java index c0ed8775..f9904335 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/AbstractClothingFeature.java @@ -8,6 +8,7 @@ import net.minecraft.client.render.entity.feature.FeatureRendererContext; import net.minecraft.client.render.entity.model.BipedEntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; +import net.minecraft.util.Colors; import net.minecraft.util.Identifier; import com.minelittlepony.api.model.PonyModel; @@ -31,7 +32,7 @@ public abstract class AbstractClothingFeature & Po ArmourRendererPlugin plugin = ArmourRendererPlugin.INSTANCE.get(); for (EquipmentSlot i : EquipmentSlot.values()) { - if (i.getType() == EquipmentSlot.Type.ARMOR) { + if (i.getType() == EquipmentSlot.Type.HUMANOID_ARMOR) { renderArmor(pony, matrices, provider, light, entity, limbDistance, limbAngle, age, headYaw, headPitch, i, ArmourLayer.INNER, plugin); renderArmor(pony, matrices, provider, light, entity, limbDistance, limbAngle, age, headYaw, headPitch, i, ArmourLayer.OUTER, plugin); } @@ -78,15 +78,11 @@ public class ArmourFeature & Po if (m != null && m.poseModel(entity, limbAngle, limbDistance, age, headYaw, headPitch, armorSlot, layer, pony.body())) { VertexConsumer armorConsumer = plugin.getArmourConsumer(armorSlot, provider, layerTexture.texture(), layer); if (armorConsumer != null) { - float red = 1; - float green = 1; - float blue = 1; + int armorTint = Colors.WHITE; if (armorLayer.isDyeable() && color != Colors.WHITE) { - red = Color.r(color); - green = Color.g(color); - blue = Color.b(color); + armorTint = color; } - m.render(matrices, armorConsumer, light, OverlayTexture.DEFAULT_UV, red, green, blue, alpha); + m.render(matrices, armorConsumer, light, OverlayTexture.DEFAULT_UV, (armorTint & 0xFFFFFF) | ((int)(alpha * 255) << 24)); } if (glint) { models.add(m); @@ -104,7 +100,7 @@ public class ArmourFeature & Po if (m != null && m.poseModel(entity, limbAngle, limbDistance, age, headYaw, headPitch, armorSlot, layer, pony.body())) { VertexConsumer trimConsumer = plugin.getTrimConsumer(armorSlot, provider, armor.getMaterial(), trim, layer); if (trimConsumer != null) { - m.render(matrices, trimConsumer, light, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); + m.render(matrices, trimConsumer, light, OverlayTexture.DEFAULT_UV, 0xFFFFFFFF); } } } @@ -114,7 +110,7 @@ public class ArmourFeature & Po VertexConsumer glintConsumer = plugin.getGlintConsumer(armorSlot, provider, layer); if (glintConsumer != null) { for (var m : models) { - m.render(matrices, glintConsumer, light, OverlayTexture.DEFAULT_UV, 1, 1, 1, glintAlpha); + m.render(matrices, glintConsumer, light, OverlayTexture.DEFAULT_UV, Color.argbToHex(glintAlpha, 1, 1, 1)); } } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java index dcb2b1d2..36cd55b9 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/CapeFeature.java @@ -10,9 +10,9 @@ import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.entity.PlayerModelPart; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.EquipmentSlot; +import net.minecraft.entity.player.PlayerModelPart; import net.minecraft.util.math.*; public class CapeFeature> extends AbstractPonyFeature { diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java index 410d90c4..c1a1ecd2 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/DJPon3Feature.java @@ -6,6 +6,7 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.Colors; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.api.model.BodyPart; @@ -22,7 +23,7 @@ public class DJPon3Feature & PonyModel> extends AbstractPonyFeature { - private static final Identifier TEXTURE = new Identifier("textures/entity/elytra.png"); + private static final Identifier TEXTURE = Identifier.ofVanilla("textures/entity/elytra.png"); private final PonyElytra model = ModelType.ELYTRA.createModel(); @@ -52,7 +53,7 @@ public class ElytraFeature & Po getContextModel().copyStateTo(model); model.isSneaking = PonyPosture.isCrouching(getContext().getEntityPony(entity), entity); model.setAngles(entity, limbDistance, limbAngle, age, headYaw, headPitch); - model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1, 1, 1, alpha); + model.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, (Colors.WHITE & 0xFFFFFF) | (int)(alpha * 255) << 24); matrices.pop(); } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java index 9a616263..d12e48b7 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/GearFeature.java @@ -9,6 +9,7 @@ import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; import net.minecraft.item.*; +import net.minecraft.util.Colors; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.random.Random; import net.minecraft.world.EmptyBlockView; @@ -96,7 +97,7 @@ public class GearFeature & Pony private void renderGear(M model, T entity, Gear gear, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv, float limbDistance, float limbAngle, float tickDelta) { gear.pose(model, entity, model.getAttributes().isGoingFast, entity.getUuid(), limbDistance, limbAngle, model.getWobbleAmount(), tickDelta); - gear.render(stack, renderContext.getBuffer(gear.getLayer(entity, getContext())), lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1, entity.getUuid()); + gear.render(stack, renderContext.getBuffer(gear.getLayer(entity, getContext())), lightUv, OverlayTexture.DEFAULT_UV, Colors.WHITE, entity.getUuid()); } static record Entry(Gear gear, Wearable wearable) { } diff --git a/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java b/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java index 3e8b5ef6..4f4bb9cd 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/feature/StrayClothingFeature.java @@ -4,12 +4,12 @@ import net.minecraft.client.render.entity.LivingEntityRenderer; import net.minecraft.entity.mob.AbstractSkeletonEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.SkeleponyModel; public class StrayClothingFeature extends AbstractClothingFeature> { - - public static final Identifier STRAY_SKELETON_OVERLAY = new Identifier("minelittlepony", "textures/entity/skeleton/stray_pony_overlay.png"); + public static final Identifier STRAY_SKELETON_OVERLAY = MineLittlePony.id("textures/entity/skeleton/stray_pony_overlay.png"); @SuppressWarnings("unchecked") private final SkeleponyModel overlayModel = (SkeleponyModel)ModelType.SKELETON_CLOTHES.createModel(); diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java index 4b1ea1ad..7407d524 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/IllagerPonyRenderer.java @@ -1,5 +1,6 @@ package com.minelittlepony.client.render.entity.npc; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.IllagerPonyModel; import com.minelittlepony.client.render.entity.feature.IllagerHeldItemFeature; @@ -19,9 +20,9 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; public class IllagerPonyRenderer extends PonyRenderer> { - public static final Identifier ILLUSIONIST = new Identifier("minelittlepony", "textures/entity/illager/illusionist_pony.png"); - public static final Identifier EVOKER = new Identifier("minelittlepony", "textures/entity/illager/evoker_pony.png"); - public static final Identifier VINDICATOR = new Identifier("minelittlepony", "textures/entity/illager/vindicator_pony.png"); + public static final Identifier ILLUSIONIST = MineLittlePony.id("textures/entity/illager/illusionist_pony.png"); + public static final Identifier EVOKER = MineLittlePony.id("textures/entity/illager/evoker_pony.png"); + public static final Identifier VINDICATOR = MineLittlePony.id("textures/entity/illager/vindicator_pony.png"); public IllagerPonyRenderer(EntityRendererFactory.Context context, Identifier texture) { super(context, ModelType.ILLAGER, TextureSupplier.of(texture), BASE_MODEL_SCALE); diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java b/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java index ef8a749b..7f7be0b5 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/NpcClothingFeature.java @@ -8,8 +8,7 @@ import net.minecraft.client.render.entity.model.EntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; import net.minecraft.registry.Registries; -import net.minecraft.util.Identifier; -import net.minecraft.util.Util; +import net.minecraft.util.*; import net.minecraft.util.math.MathHelper; import net.minecraft.village.VillagerData; import net.minecraft.village.VillagerDataContainer; @@ -17,6 +16,7 @@ import net.minecraft.village.VillagerProfession; import net.minecraft.village.VillagerType; import com.minelittlepony.api.model.PonyModel; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.render.PonyRenderContext; import com.minelittlepony.client.render.entity.feature.AbstractPonyFeature; import com.minelittlepony.client.util.render.TextureFlattener; @@ -30,11 +30,11 @@ class NpcClothingFeature< C extends FeatureRendererContext & PonyRenderContext> extends AbstractPonyFeature { private static final Int2ObjectMap LEVEL_TO_ID = Util.make(new Int2ObjectOpenHashMap<>(), a -> { - a.put(1, new Identifier("stone")); - a.put(2, new Identifier("iron")); - a.put(3, new Identifier("gold")); - a.put(4, new Identifier("emerald")); - a.put(5, new Identifier("diamond")); + a.put(1, Identifier.ofVanilla("stone")); + a.put(2, Identifier.ofVanilla("iron")); + a.put(3, Identifier.ofVanilla("gold")); + a.put(4, Identifier.ofVanilla("emerald")); + a.put(5, Identifier.ofVanilla("diamond")); }); private final Set loadedTextures = new HashSet<>(); @@ -59,9 +59,9 @@ class NpcClothingFeature< if (!ResourceUtil.textureExists(typeSkin)) { typeSkin = createTexture("type", Registries.VILLAGER_TYPE.getId(VillagerType.PLAINS)); } - renderModel(entityModel, typeSkin, matrixStack, provider, i, entity, 1, 1, 1); + renderModel(entityModel, typeSkin, matrixStack, provider, i, entity, Colors.WHITE); } else { - renderModel(entityModel, getMergedTexture(data), matrixStack, provider, i, entity, 1, 1, 1); + renderModel(entityModel, getMergedTexture(data), matrixStack, provider, i, entity, Colors.WHITE); } } @@ -73,7 +73,7 @@ class NpcClothingFeature< Identifier typeId = Registries.VILLAGER_TYPE.getId(type); Identifier profId = Registries.VILLAGER_PROFESSION.getId(profession); - Identifier key = new Identifier("minelittlepony", (typeId + "/" + profId + "/" + level).replace(':', '_')); + Identifier key = MineLittlePony.id((typeId + "/" + profId + "/" + level).replace(':', '_')); if (loadedTextures.add(key) && !ResourceUtil.textureExists(key)) { TextureFlattener.flatten(computeTextures(typeId, profId, profession == VillagerProfession.NITWIT ? -1 : level), key); @@ -91,7 +91,7 @@ class NpcClothingFeature< } Identifier profTexture = createTexture("profession", profId); - skins.add(ResourceUtil.textureExists(profTexture) ? profTexture : createTexture("profession", new Identifier(VillagerProfession.NITWIT.id()))); + skins.add(ResourceUtil.textureExists(profTexture) ? profTexture : createTexture("profession", Identifier.of(VillagerProfession.NITWIT.id()))); if (level != -1) { skins.add(createTexture("profession_level", LEVEL_TO_ID.get(level))); @@ -105,6 +105,6 @@ class NpcClothingFeature< } private Identifier createTexture(String category, Identifier identifier) { - return new Identifier("minelittlepony", String.format("textures/entity/%s/%s/%s.png", entityType, category, identifier.getPath())); + return MineLittlePony.id(String.format("textures/entity/%s/%s/%s.png", entityType, category, identifier.getPath())); } } diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java index 34ee6b72..a25072a9 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/PillagerRenderer.java @@ -4,6 +4,7 @@ import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.entity.mob.PillagerEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.PillagerPonyModel; import com.minelittlepony.client.render.entity.feature.IllagerHeldItemFeature; @@ -12,8 +13,7 @@ import com.minelittlepony.client.render.entity.PonyRenderer; import com.minelittlepony.client.render.entity.feature.HeldItemFeature; public class PillagerRenderer extends PonyRenderer> { - - private static final Identifier TEXTURE = new Identifier("minelittlepony", "textures/entity/illager/pillager_pony.png"); + private static final Identifier TEXTURE = MineLittlePony.id("textures/entity/illager/pillager_pony.png"); public PillagerRenderer(EntityRendererFactory.Context context) { super(context, ModelType.PILLAGER, TextureSupplier.of(TEXTURE)); diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java index 3e37208a..99ebcaa2 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/TraderRenderer.java @@ -4,14 +4,14 @@ import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.entity.passive.WanderingTraderEntity; import net.minecraft.util.Identifier; +import com.minelittlepony.client.MineLittlePony; import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.entity.race.AlicornModel; import com.minelittlepony.client.render.entity.PonyRenderer; import com.minelittlepony.client.render.entity.npc.textures.TextureSupplier; public class TraderRenderer extends PonyRenderer> { - - public static final Identifier TEXTURE = new Identifier("minelittlepony", "textures/entity/wandering_trader_pony.png"); + public static final Identifier TEXTURE = MineLittlePony.id("textures/entity/wandering_trader_pony.png"); public TraderRenderer(EntityRendererFactory.Context context) { super(context, ModelType.ALICORN.getKey(false), TextureSupplier.of(TEXTURE), BASE_MODEL_SCALE); diff --git a/src/main/java/com/minelittlepony/client/render/entity/npc/textures/TextureSupplier.java b/src/main/java/com/minelittlepony/client/render/entity/npc/textures/TextureSupplier.java index 1c819c29..93ffa316 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/npc/textures/TextureSupplier.java +++ b/src/main/java/com/minelittlepony/client/render/entity/npc/textures/TextureSupplier.java @@ -24,7 +24,7 @@ public interface TextureSupplier extends Function { Identifier apply(T key); static TextureSupplier formatted(String domain, String path) { - return key -> new Identifier(domain, String.format(path, key)); + return key -> Identifier.of(domain, String.format(path, key)); } static TextureSupplier ofVariations(Identifier poolId, TextureSupplier fallback) { diff --git a/src/main/java/com/minelittlepony/client/util/render/RenderLayerUtil.java b/src/main/java/com/minelittlepony/client/util/render/RenderLayerUtil.java deleted file mode 100644 index fcc40c66..00000000 --- a/src/main/java/com/minelittlepony/client/util/render/RenderLayerUtil.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.minelittlepony.client.util.render; - -import java.util.Optional; -import net.minecraft.client.render.*; -import net.minecraft.util.Identifier; - -@Deprecated -public interface RenderLayerUtil { - static Optional getTexture(RenderLayer layer) { - if (layer instanceof RenderLayer.MultiPhase multiphase) { - return multiphase.getPhases().texture.getId(); - } - return Optional.empty(); - } -} diff --git a/src/main/java/com/minelittlepony/client/util/render/RenderList.java b/src/main/java/com/minelittlepony/client/util/render/RenderList.java deleted file mode 100644 index a9e5efeb..00000000 --- a/src/main/java/com/minelittlepony/client/util/render/RenderList.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.minelittlepony.client.util.render; - -import net.minecraft.client.model.ModelPart; -import net.minecraft.client.render.VertexConsumer; -import net.minecraft.client.util.math.MatrixStack; - -import java.util.*; -import java.util.function.BooleanSupplier; -import java.util.function.Consumer; - -@Deprecated -public interface RenderList { - void accept(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha); - - default RenderList add(RenderList part) { - return this; - } - - default RenderList add(Consumer action) { - return add((stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> action.accept(stack)); - } - - default RenderList add(ModelPart...parts) { - return add(of(parts)); - } - - default RenderList checked(BooleanSupplier check) { - RenderList self = this; - return (stack, vertices, overlayUv, lightUv, red, green, blue, alpha) -> { - if (check.getAsBoolean()) { - self.accept(stack, vertices, overlayUv, lightUv, red, green, blue, alpha); - } - }; - } - - default void clear() {} - - static RenderList of() { - return new Impl(List.of()); - } - - static RenderList of(ModelPart...parts) { - return new Impl(Arrays.stream(parts).map(part -> (RenderList)part::render).toList()); - } - - public class Impl implements RenderList { - private final List parts; - - Impl(List parts) { - this.parts = new ArrayList<>(parts); - } - - @Override - public RenderList add(RenderList part) { - parts.add(part); - return this; - } - - @Override - public void clear() { - parts.clear(); - } - - @Override - public void accept(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { - parts.forEach(part -> part.accept(stack, vertices, overlayUv, lightUv, red, green, blue, alpha)); - } - } -} - -