mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 16:24:23 +01:00
fixed an optimized seaponies. Fixes #152
This commit is contained in:
parent
8e9e7197c2
commit
1ae149ddb5
4 changed files with 18 additions and 6 deletions
|
@ -7,6 +7,7 @@ import com.minelittlepony.model.BodyPart;
|
||||||
import com.minelittlepony.model.armour.IEquestrianArmour;
|
import com.minelittlepony.model.armour.IEquestrianArmour;
|
||||||
import com.minelittlepony.mson.api.ModelContext;
|
import com.minelittlepony.mson.api.ModelContext;
|
||||||
import com.minelittlepony.mson.api.model.MsonPart;
|
import com.minelittlepony.mson.api.model.MsonPart;
|
||||||
|
import com.minelittlepony.pony.meta.Race;
|
||||||
|
|
||||||
import net.minecraft.client.model.ModelPart;
|
import net.minecraft.client.model.ModelPart;
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
|
@ -561,7 +562,7 @@ public abstract class AbstractPonyModel<T extends LivingEntity> extends ClientPo
|
||||||
renderStage(BodyPart.HEAD, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderHead);
|
renderStage(BodyPart.HEAD, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderHead);
|
||||||
renderStage(BodyPart.LEGS, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderLegs);
|
renderStage(BodyPart.LEGS, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderLegs);
|
||||||
|
|
||||||
if (textureHeight == 64) {
|
if (textureHeight == 64 && getMetadata().getRace() != Race.SEAPONY) {
|
||||||
renderStage(BodyPart.LEGS, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderSleeves);
|
renderStage(BodyPart.LEGS, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderSleeves);
|
||||||
renderStage(BodyPart.BODY, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderVest);
|
renderStage(BodyPart.BODY, stack, vertices, overlayUv, lightUv, red, green, blue, alpha, this::renderVest);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ import com.minelittlepony.client.model.entity.race.AlicornModel;
|
||||||
import com.minelittlepony.client.model.entity.race.ChangelingModel;
|
import com.minelittlepony.client.model.entity.race.ChangelingModel;
|
||||||
import com.minelittlepony.client.model.entity.race.EarthPonyModel;
|
import com.minelittlepony.client.model.entity.race.EarthPonyModel;
|
||||||
import com.minelittlepony.client.model.entity.race.PegasusModel;
|
import com.minelittlepony.client.model.entity.race.PegasusModel;
|
||||||
|
import com.minelittlepony.client.model.entity.race.SeaponyModel;
|
||||||
import com.minelittlepony.client.model.entity.race.UnicornModel;
|
import com.minelittlepony.client.model.entity.race.UnicornModel;
|
||||||
import com.minelittlepony.client.model.entity.race.ZebraModel;
|
import com.minelittlepony.client.model.entity.race.ZebraModel;
|
||||||
import com.minelittlepony.client.model.gear.ChristmasHat;
|
import com.minelittlepony.client.model.gear.ChristmasHat;
|
||||||
|
@ -80,7 +81,7 @@ public final class ModelType {
|
||||||
public static final PlayerModelKey<?, PegasusModel<?>> GRYPHON = registerPlayer("gryphon", Race.GRYPHON, PegasusModel::new);
|
public static final PlayerModelKey<?, PegasusModel<?>> GRYPHON = registerPlayer("gryphon", Race.GRYPHON, PegasusModel::new);
|
||||||
public static final PlayerModelKey<?, PegasusModel<?>> HIPPOGRIFF = registerPlayer("hippogriff", Race.HIPPOGRIFF, PegasusModel::new);
|
public static final PlayerModelKey<?, PegasusModel<?>> HIPPOGRIFF = registerPlayer("hippogriff", Race.HIPPOGRIFF, PegasusModel::new);
|
||||||
public static final PlayerModelKey<?, EarthPonyModel<?>> EARTH_PONY = registerPlayer("earth_pony", Race.EARTH, EarthPonyModel::new);
|
public static final PlayerModelKey<?, EarthPonyModel<?>> EARTH_PONY = registerPlayer("earth_pony", Race.EARTH, EarthPonyModel::new);
|
||||||
public static final PlayerModelKey<?, EarthPonyModel<?>> SEA_PONY = registerPlayer("sea_pony", Race.SEAPONY, EarthPonyModel::new, PlayerSeaponyRenderer::new);
|
public static final PlayerModelKey<?, SeaponyModel<?>> SEA_PONY = registerPlayer("sea_pony", Race.SEAPONY, SeaponyModel::new, PlayerSeaponyRenderer::new);
|
||||||
public static final PlayerModelKey<?, PegasusModel<?>> BAT_PONY = registerPlayer("bat_pony", Race.BATPONY, PegasusModel::new);
|
public static final PlayerModelKey<?, PegasusModel<?>> BAT_PONY = registerPlayer("bat_pony", Race.BATPONY, PegasusModel::new);
|
||||||
public static final PlayerModelKey<?, ChangelingModel<?>> CHANGELING = registerPlayer("changeling", Race.CHANGELING, ChangelingModel::new);
|
public static final PlayerModelKey<?, ChangelingModel<?>> CHANGELING = registerPlayer("changeling", Race.CHANGELING, ChangelingModel::new);
|
||||||
public static final PlayerModelKey<?, ChangelingModel<?>> CHANGEDLING = registerPlayer("reformed_changeling", Race.CHANGEDLING, ChangelingModel::new);
|
public static final PlayerModelKey<?, ChangelingModel<?>> CHANGEDLING = registerPlayer("reformed_changeling", Race.CHANGEDLING, ChangelingModel::new);
|
||||||
|
|
|
@ -132,12 +132,21 @@ public class EquineRenderManager<T extends LivingEntity, M extends EntityModel<T
|
||||||
return playerModel.getBody();
|
return playerModel.getBody();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModelWrapper<T, M> getModelWrapper() {
|
||||||
|
return playerModel;
|
||||||
|
}
|
||||||
|
|
||||||
public ModelWrapper<T, M> setModel(ModelKey<?> key) {
|
public ModelWrapper<T, M> setModel(ModelKey<?> key) {
|
||||||
playerModel = new ModelWrapper<>(key);
|
playerModel = new ModelWrapper<>(key);
|
||||||
|
|
||||||
return playerModel;
|
return playerModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModelWrapper<T, M> setModel(ModelWrapper<T, M> wrapper) {
|
||||||
|
playerModel = wrapper;
|
||||||
|
return wrapper;
|
||||||
|
}
|
||||||
|
|
||||||
public void updateMetadata(Identifier texture) {
|
public void updateMetadata(Identifier texture) {
|
||||||
pony = MineLittlePony.getInstance().getManager().getPony(texture);
|
pony = MineLittlePony.getInstance().getManager().getPony(texture);
|
||||||
playerModel.apply(pony.getMetadata());
|
playerModel.apply(pony.getMetadata());
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.minelittlepony.client.render.entity;
|
||||||
|
|
||||||
import com.minelittlepony.client.model.ClientPonyModel;
|
import com.minelittlepony.client.model.ClientPonyModel;
|
||||||
import com.minelittlepony.client.model.ModelType;
|
import com.minelittlepony.client.model.ModelType;
|
||||||
|
import com.minelittlepony.client.model.ModelWrapper;
|
||||||
import com.minelittlepony.mson.api.ModelKey;
|
import com.minelittlepony.mson.api.ModelKey;
|
||||||
import com.minelittlepony.pony.IPony;
|
import com.minelittlepony.pony.IPony;
|
||||||
import com.minelittlepony.pony.meta.Race;
|
import com.minelittlepony.pony.meta.Race;
|
||||||
|
@ -13,14 +14,14 @@ import net.minecraft.particle.ParticleTypes;
|
||||||
|
|
||||||
public class PlayerSeaponyRenderer extends PlayerPonyRenderer {
|
public class PlayerSeaponyRenderer extends PlayerPonyRenderer {
|
||||||
|
|
||||||
protected final ModelKey<? extends ClientPonyModel<AbstractClientPlayerEntity>> seapony;
|
private final ModelWrapper<AbstractClientPlayerEntity, ClientPonyModel<AbstractClientPlayerEntity>> seapony;
|
||||||
protected final ModelKey<? extends ClientPonyModel<AbstractClientPlayerEntity>> normalPony;
|
private final ModelWrapper<AbstractClientPlayerEntity, ClientPonyModel<AbstractClientPlayerEntity>> normalPony;
|
||||||
|
|
||||||
public PlayerSeaponyRenderer(EntityRenderDispatcher manager, boolean slim, ModelKey<? extends ClientPonyModel<AbstractClientPlayerEntity>> key) {
|
public PlayerSeaponyRenderer(EntityRenderDispatcher manager, boolean slim, ModelKey<? extends ClientPonyModel<AbstractClientPlayerEntity>> key) {
|
||||||
super(manager, slim, key);
|
super(manager, slim, key);
|
||||||
|
|
||||||
seapony = ModelType.<AbstractClientPlayerEntity, ClientPonyModel<AbstractClientPlayerEntity>>getPlayerModel(Race.UNICORN).getKey(slim);
|
normalPony = new ModelWrapper<>(ModelType.<AbstractClientPlayerEntity, ClientPonyModel<AbstractClientPlayerEntity>>getPlayerModel(Race.UNICORN).getKey(slim));
|
||||||
normalPony = key;
|
seapony = this.manager.getModelWrapper();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue