1.16-rc1 -> 1.16.2

This commit is contained in:
Sollace 2020-08-16 23:48:26 +02:00
parent a343042e2d
commit b3a6c95017
17 changed files with 48 additions and 37 deletions

View file

@ -57,7 +57,7 @@ dependencies {
compileOnly "com.google.code.findbugs:jsr305:3.0.2" compileOnly "com.google.code.findbugs:jsr305:3.0.2"
modApi fabricApi.module("fabric-api-base", project.fabric_version) modApi fabricApi.module("fabric-api-base", project.fabric_version)
modApi fabricApi.module("fabric-events-lifecycle-v0", project.fabric_version) modApi fabricApi.module("fabric-lifecycle-events-v1", project.fabric_version)
modApi fabricApi.module("fabric-resource-loader-v0", project.fabric_version) modApi fabricApi.module("fabric-resource-loader-v0", project.fabric_version)
modApi "com.minelittlepony:Kirin:${project.kirin_version}" modApi "com.minelittlepony:Kirin:${project.kirin_version}"

View file

@ -3,21 +3,21 @@ org.gradle.daemon=false
# Fabric Properties # Fabric Properties
# check these on https://modmuss50.me/fabric.html # check these on https://modmuss50.me/fabric.html
minecraft_version=1.16-rc1 minecraft_version=1.16.2
yarn_mappings=1.16-rc1+build.4:v2 yarn_mappings=1.16.2+build.19:v2
loader_version=0.8.8+build.202 loader_version=0.9.1+build.205
fabric_version=0.12.5+build.367-1.16 fabric_version=0.18.0+build.397-1.16
# Mod Properties # Mod Properties
group=com.minelittlepony group=com.minelittlepony
displayname=Mine Little Pony displayname=Mine Little Pony
authors=Verdana, Rene_Z, Mumfrey, Killjoy1221, Sollace authors=Verdana, Rene_Z, Mumfrey, Killjoy1221, Sollace
description=Mine Little Pony turns players and mobs into ponies. Press F9 ingame to access settings. description=Mine Little Pony turns players and mobs into ponies. Press F9 ingame to access settings.
version=4.1.1 version=4.2
release=SNAPSHOT release=SNAPSHOT
# Dependencies # Dependencies
modmenu_version=1.12.+ modmenu_version=1.12.+
kirin_version=1.6.4-1.16-rc1-1.16 kirin_version=1.7-1.16.2-SNAPSHOT
hd_skins_version=6.2-1.16-rc1-1.16 hd_skins_version=6.3-1.16.2-SNAPSHOT
mson_version=1.2-1.16-rc1-1.16 mson_version=1.2.1-1.16-rc1-1.16

View file

@ -89,7 +89,7 @@ public class MineLittlePony implements ClientModInitializer {
} }
private void onClientReady(MinecraftClient client) { private void onClientReady(MinecraftClient client) {
renderManager.initialise(client.getEntityRenderManager()); renderManager.initialise(client.getEntityRenderDispatcher());
} }
private void onTick(MinecraftClient client) { private void onTick(MinecraftClient client) {

View file

@ -27,7 +27,7 @@ abstract class MixinItemRenderer {
} }
} }
@Inject(method = "method_29711(" + VertexConsumerProvider + RenderLayer + Boolean + Boolean + ")" + VertexConsumer, at = @At("HEAD"), cancellable = true) @Inject(method = "getDirectGlintVertexConsumer(" + VertexConsumerProvider + RenderLayer + Boolean + Boolean + ")" + VertexConsumer, at = @At("HEAD"), cancellable = true)
private static void onMethod_29711(VertexConsumerProvider provider, RenderLayer layer, boolean solide, boolean glint, CallbackInfoReturnable<VertexConsumer> info) { private static void onMethod_29711(VertexConsumerProvider provider, RenderLayer layer, boolean solide, boolean glint, CallbackInfoReturnable<VertexConsumer> info) {
if (LevitatingItemRenderer.usesTransparency()) { if (LevitatingItemRenderer.usesTransparency()) {
info.setReturnValue(provider.getBuffer(LevitatingItemRenderer.getRenderLayer())); info.setReturnValue(provider.getBuffer(LevitatingItemRenderer.getRenderLayer()));

View file

@ -128,7 +128,7 @@ public abstract class AbstractPonyModel<T extends LivingEntity> extends ClientPo
rightLeg.pitch = ROTATE_90; rightLeg.pitch = ROTATE_90;
leftLeg.pitch = ROTATE_90; leftLeg.pitch = ROTATE_90;
head.setPivot(1, 2, isSneaking ? -1 : 1); head.setPivot(1, 2, sneaking ? -1 : 1);
((MsonPart)rightArm).shift(0, 2, 6); ((MsonPart)rightArm).shift(0, 2, 6);
((MsonPart)leftArm).shift(0, 2, 6); ((MsonPart)leftArm).shift(0, 2, 6);
@ -461,7 +461,7 @@ public abstract class AbstractPonyModel<T extends LivingEntity> extends ClientPo
arm.yaw = head.yaw - 0.06F; arm.yaw = head.yaw - 0.06F;
arm.roll = MathHelper.cos(ticks * 0.09F) * 0.05F + 0.05F; arm.roll = MathHelper.cos(ticks * 0.09F) * 0.05F + 0.05F;
if (isSneaking) { if (sneaking) {
arm.pivotY += 4; arm.pivotY += 4;
} }
} }
@ -602,7 +602,7 @@ public abstract class AbstractPonyModel<T extends LivingEntity> extends ClientPo
} }
protected void renderLegs(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) { protected void renderLegs(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha) {
if (!isSneaking) { if (!sneaking) {
torso.rotate(stack); torso.rotate(stack);
} }

View file

@ -36,7 +36,7 @@ public abstract class ClientPonyModel<T extends LivingEntity> extends MsonPlayer
public void updateLivingState(T entity, IPony pony, EquineRenderManager.Mode mode) { public void updateLivingState(T entity, IPony pony, EquineRenderManager.Mode mode) {
child = entity.isBaby(); child = entity.isBaby();
attributes.updateLivingState(entity, pony, mode); attributes.updateLivingState(entity, pony, mode);
isSneaking = attributes.isCrouching; sneaking = attributes.isCrouching;
riding = attributes.isSitting; riding = attributes.isSitting;
} }

View file

@ -2,6 +2,7 @@ package com.minelittlepony.client.model.entity;
import net.minecraft.client.model.ModelPart; import net.minecraft.client.model.ModelPart;
import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.HostileEntity;
import net.minecraft.entity.mob.PiglinActivity;
import net.minecraft.entity.mob.PiglinEntity; import net.minecraft.entity.mob.PiglinEntity;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -11,7 +12,7 @@ import com.minelittlepony.mson.api.ModelContext;
public class PiglinPonyModel extends ZomponyModel<HostileEntity> { public class PiglinPonyModel extends ZomponyModel<HostileEntity> {
private PiglinEntity.Activity activity; private PiglinActivity activity;
private ModelPart leftFlap; private ModelPart leftFlap;
private ModelPart rightFlap; private ModelPart rightFlap;
@ -33,15 +34,15 @@ public class PiglinPonyModel extends ZomponyModel<HostileEntity> {
PiglinEntity piglinEntity = (PiglinEntity)entity; PiglinEntity piglinEntity = (PiglinEntity)entity;
activity = piglinEntity.getActivity(); activity = piglinEntity.getActivity();
if (activity == PiglinEntity.Activity.CROSSBOW_HOLD) { if (activity == PiglinActivity.CROSSBOW_HOLD) {
rightArmPose = ArmPose.CROSSBOW_HOLD; rightArmPose = ArmPose.CROSSBOW_HOLD;
} else if (activity == PiglinEntity.Activity.CROSSBOW_CHARGE) { } else if (activity == PiglinActivity.CROSSBOW_CHARGE) {
rightArmPose = ArmPose.CROSSBOW_CHARGE; rightArmPose = ArmPose.CROSSBOW_CHARGE;
} else if (activity == PiglinEntity.Activity.ADMIRING_ITEM) { } else if (activity == PiglinActivity.ADMIRING_ITEM) {
leftArmPose = ArmPose.ITEM; leftArmPose = ArmPose.ITEM;
} }
} else { } else {
activity = PiglinEntity.Activity.DEFAULT; activity = PiglinActivity.DEFAULT;
} }
} }
@ -49,7 +50,7 @@ public class PiglinPonyModel extends ZomponyModel<HostileEntity> {
public void setAngles(HostileEntity entity, float move, float swing, float ticks, float headYaw, float headPitch) { public void setAngles(HostileEntity entity, float move, float swing, float ticks, float headYaw, float headPitch) {
super.setAngles(entity, move, swing, ticks, headYaw, headPitch); super.setAngles(entity, move, swing, ticks, headYaw, headPitch);
if (activity == PiglinEntity.Activity.ADMIRING_ITEM) { if (activity == PiglinActivity.ADMIRING_ITEM) {
leftArm.yaw = 0.5F; leftArm.yaw = 0.5F;
leftArm.pitch = -1.9F; leftArm.pitch = -1.9F;
leftArm.pivotY += 4; leftArm.pivotY += 4;

View file

@ -34,7 +34,7 @@ public class EarthPonyModel<T extends LivingEntity> extends AbstractPonyModel<T>
public void setAngles(T entity, float move, float swing, float ticks, float headYaw, float headPitch) { public void setAngles(T entity, float move, float swing, float ticks, float headYaw, float headPitch) {
super.setAngles(entity, move, swing, ticks, headYaw, headPitch); super.setAngles(entity, move, swing, ticks, headYaw, headPitch);
snout.setGender(getMetadata().getGender()); snout.setGender(getMetadata().getGender());
cape.pivotY = isSneaking ? 2 : riding ? -4 : 0; cape.pivotY = sneaking ? 2 : riding ? -4 : 0;
} }
@Override @Override

View file

@ -50,7 +50,7 @@ public class SeaponyModel<T extends LivingEntity> extends UnicornModel<T> {
super.updateLivingState(entity, pony, mode); super.updateLivingState(entity, pony, mode);
// Seaponies can't sneak, silly // Seaponies can't sneak, silly
isSneaking = false; sneaking = false;
attributes.isCrouching = false; attributes.isCrouching = false;
} }
@ -166,7 +166,7 @@ public class SeaponyModel<T extends LivingEntity> extends UnicornModel<T> {
super.updateLivingState(entity, pony, mode); super.updateLivingState(entity, pony, mode);
// Seaponies can't sneak, silly // Seaponies can't sneak, silly
isSneaking = false; sneaking = false;
} }
@Override @Override

View file

@ -20,7 +20,7 @@ public final class DebugBoundingBoxRenderer {
MinecraftClient client = MinecraftClient.getInstance(); MinecraftClient client = MinecraftClient.getInstance();
if (!client.getEntityRenderManager().shouldRenderHitboxes() || entity.isInvisible() || client.hasReducedDebugInfo()) { if (!client.getEntityRenderDispatcher().shouldRenderHitboxes() || entity.isInvisible() || client.hasReducedDebugInfo()) {
return; return;
} }

View file

@ -38,6 +38,7 @@ public final class MobRenderers {
}); });
public static final MobRenderers PIGLIN = register("pigzombies", (state, pony) -> { public static final MobRenderers PIGLIN = register("pigzombies", (state, pony) -> {
pony.switchRenderer(state, EntityType.PIGLIN, PonyPiglinRenderer::new); pony.switchRenderer(state, EntityType.PIGLIN, PonyPiglinRenderer::new);
pony.switchRenderer(state, EntityType.PIGLIN_BRUTE, PonyPiglinRenderer::new);
pony.switchRenderer(state, EntityType.ZOMBIFIED_PIGLIN, PonyPiglinRenderer::new); pony.switchRenderer(state, EntityType.ZOMBIFIED_PIGLIN, PonyPiglinRenderer::new);
}); });
public static final MobRenderers SKELETON = register("skeletons", (state, pony) -> { public static final MobRenderers SKELETON = register("skeletons", (state, pony) -> {

View file

@ -74,7 +74,7 @@ public class PonyRenderDispatcher {
<T extends Entity, V extends T> void switchRenderer(boolean state, EntityType<V> type, Function<EntityRenderDispatcher, EntityRenderer<T>> factory) { <T extends Entity, V extends T> void switchRenderer(boolean state, EntityType<V> type, Function<EntityRenderDispatcher, EntityRenderer<T>> factory) {
if (state) { if (state) {
if (!renderMap.containsKey(type)) { if (!renderMap.containsKey(type)) {
renderMap.put(type, ((MixinEntityRenderDispatcher)MinecraftClient.getInstance().getEntityRenderManager()).getEntityRenderers().get(type)); renderMap.put(type, ((MixinEntityRenderDispatcher)MinecraftClient.getInstance().getEntityRenderDispatcher()).getEntityRenderers().get(type));
} }
Mson.getInstance().getEntityRendererRegistry().registerEntityRenderer(type, factory); Mson.getInstance().getEntityRendererRegistry().registerEntityRenderer(type, factory);
} else { } else {
@ -95,7 +95,7 @@ public class PonyRenderDispatcher {
return null; return null;
} }
EntityRenderer<?> renderer = MinecraftClient.getInstance().getEntityRenderManager().getRenderer(entity); EntityRenderer<?> renderer = MinecraftClient.getInstance().getEntityRenderDispatcher().getRenderer(entity);
if (renderer instanceof IPonyRenderContext) { if (renderer instanceof IPonyRenderContext) {
return (IPonyRenderContext<T, M>) renderer; return (IPonyRenderContext<T, M>) renderer;

View file

@ -111,7 +111,7 @@ public class PlayerPonyRenderer extends PlayerEntityRenderer implements IPonyRen
@Override @Override
public boolean shouldRender(AbstractClientPlayerEntity entity, Frustum camera, double camX, double camY, double camZ) { public boolean shouldRender(AbstractClientPlayerEntity entity, Frustum camera, double camX, double camY, double camZ) {
if (entity.isSleeping() && entity == MinecraftClient.getInstance().player) { if (entity.isSleeping() && entity == MinecraftClient.getInstance().player) {
return MinecraftClient.getInstance().options.perspective != 0 return !MinecraftClient.getInstance().options.getPerspective().isFirstPerson()
&& super.shouldRender(entity, camera, camX, camY, camZ); && super.shouldRender(entity, camera, camX, camY, camZ);
} }
return super.shouldRender(entity, manager.getFrustrum(entity, camera), camX, camY, camZ); return super.shouldRender(entity, manager.getFrustrum(entity, camera), camX, camY, camZ);

View file

@ -1,16 +1,25 @@
package com.minelittlepony.client.render.entity; package com.minelittlepony.client.render.entity;
import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.EntityRenderDispatcher;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.mob.AbstractPiglinEntity;
import net.minecraft.entity.mob.HostileEntity; import net.minecraft.entity.mob.HostileEntity;
import net.minecraft.entity.mob.PiglinEntity;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.minecraft.util.Util;
import com.minelittlepony.client.model.ModelType; import com.minelittlepony.client.model.ModelType;
import com.minelittlepony.client.model.entity.PiglinPonyModel; import com.minelittlepony.client.model.entity.PiglinPonyModel;
import java.util.HashMap;
import java.util.Map;
public class PonyPiglinRenderer extends PonyRenderer.Caster<HostileEntity, PiglinPonyModel> { public class PonyPiglinRenderer extends PonyRenderer.Caster<HostileEntity, PiglinPonyModel> {
public static final Identifier NORMAL = new Identifier("minelittlepony", "textures/entity/piglin/piglin_pony.png");
public static final Identifier ZOMBIFIED = new Identifier("minelittlepony", "textures/entity/piglin/zombified_piglin_pony.png"); private static final Map<EntityType<?>, Identifier> TEXTURES = Util.make(new HashMap<>(), map -> {
map.put(EntityType.PIGLIN, new Identifier("minelittlepony", "textures/entity/piglin/piglin_pony.png"));
map.put(EntityType.PIGLIN_BRUTE, new Identifier("minelittlepony", "textures/entity/piglin/piglin_brute_pony.png"));
map.put(EntityType.ZOMBIFIED_PIGLIN, new Identifier("minelittlepony", "textures/entity/piglin/zombified_piglin_pony.png"));
});
public PonyPiglinRenderer(EntityRenderDispatcher manager) { public PonyPiglinRenderer(EntityRenderDispatcher manager) {
super(manager, ModelType.PIGLIN); super(manager, ModelType.PIGLIN);
@ -18,11 +27,11 @@ public class PonyPiglinRenderer extends PonyRenderer.Caster<HostileEntity, Pigli
@Override @Override
public Identifier findTexture(HostileEntity entity) { public Identifier findTexture(HostileEntity entity) {
return entity instanceof PiglinEntity ? NORMAL : new Identifier("minelittlepony", "textures/entity/piglin/zombified_piglin_pony.png"); return TEXTURES.get(entity.getType());
} }
@Override @Override
protected boolean isShaking(HostileEntity entity) { protected boolean isShaking(HostileEntity entity) {
return entity instanceof PiglinEntity && ((PiglinEntity)entity).canConvert(); return entity instanceof AbstractPiglinEntity && ((AbstractPiglinEntity)entity).shouldZombify();
} }
} }

View file

@ -78,7 +78,7 @@ public class ArmourFeature<T extends LivingEntity, M extends EntityModel<T> & IP
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
IArmourTextureResolver<T> resolver = model instanceof IArmourTextureResolver ? (IArmourTextureResolver<T>)model : (IArmourTextureResolver<T>)DEFAULT; IArmourTextureResolver<T> resolver = model instanceof IArmourTextureResolver ? (IArmourTextureResolver<T>)model : (IArmourTextureResolver<T>)DEFAULT;
boolean glint = itemstack.hasEnchantmentGlint(); boolean glint = itemstack.hasGlint();
renderArmourPart(stack, renderContext, lightUv, glint, model, red, green, blue, resolver, layer, resolver.getArmourTexture(entity, itemstack, armorSlot, layer, null)); renderArmourPart(stack, renderContext, lightUv, glint, model, red, green, blue, resolver, layer, resolver.getArmourTexture(entity, itemstack, armorSlot, layer, null));
@ -93,7 +93,7 @@ public class ArmourFeature<T extends LivingEntity, M extends EntityModel<T> & IP
MatrixStack matrices, VertexConsumerProvider provider, MatrixStack matrices, VertexConsumerProvider provider,
int light, boolean glint, V model, float r, float g, float b, IArmourTextureResolver<T> resolver, ArmourLayer layer, Identifier texture) { int light, boolean glint, V model, float r, float g, float b, IArmourTextureResolver<T> resolver, ArmourLayer layer, Identifier texture) {
VertexConsumer vertices = ItemRenderer.method_27952(provider, RenderLayer.getArmorCutoutNoCull(texture), false, glint); VertexConsumer vertices = ItemRenderer.getArmorVertexConsumer(provider, RenderLayer.getArmorCutoutNoCull(texture), false, glint);
model.setVariant(resolver.getArmourVariant(layer, texture)); model.setVariant(resolver.getArmourVariant(layer, texture));
model.render(matrices, vertices, light, OverlayTexture.DEFAULT_UV, r, g, b, 1); model.render(matrices, vertices, light, OverlayTexture.DEFAULT_UV, r, g, b, 1);

View file

@ -47,7 +47,7 @@ public class ElytraFeature<T extends LivingEntity, M extends EntityModel<T> & IP
} }
elytra.setAngles(entity, limbDistance, limbAngle, age, headYaw, headPitch); elytra.setAngles(entity, limbDistance, limbAngle, age, headYaw, headPitch);
VertexConsumer vertexConsumer = ItemRenderer.method_29711(renderContext, modelElytra.getLayer(getElytraTexture(entity)), false, itemstack.hasEnchantmentGlint()); VertexConsumer vertexConsumer = ItemRenderer.getDirectGlintVertexConsumer(renderContext, modelElytra.getLayer(getElytraTexture(entity)), false, itemstack.hasGlint());
modelElytra.render(stack, vertexConsumer, lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1); modelElytra.render(stack, vertexConsumer, lightUv, OverlayTexture.DEFAULT_UV, 1, 1, 1, 1);
stack.pop(); stack.pop();

View file

@ -32,7 +32,7 @@
"depends": { "depends": {
"fabricloader": ">=0.4.0", "fabricloader": ">=0.4.0",
"fabric-api-base": ">=0.1.0", "fabric-api-base": ">=0.1.0",
"fabric-events-lifecycle-v0": ">=0.1.0", "fabric-lifecycle-events-v1": ">=0.1.0",
"fabric-resource-loader-v0": ">=0.1.0", "fabric-resource-loader-v0": ">=0.1.0",
"kirin": "*" "kirin": "*"
}, },