mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-03-15 08:00:07 +01:00
Convert the parts to mson
This commit is contained in:
parent
79db99719c
commit
3b38ec908c
6 changed files with 84 additions and 15 deletions
|
@ -8,11 +8,13 @@ import net.minecraft.util.math.MathHelper;
|
|||
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.model.IPegasus;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
import com.minelittlepony.pony.meta.Wearable;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class PegasusWings<T extends Model & IPegasus> implements IPart {
|
||||
public class PegasusWings<T extends Model & IPegasus> implements IPart, MsonModel {
|
||||
|
||||
protected T pegasus;
|
||||
|
||||
|
@ -21,6 +23,14 @@ public class PegasusWings<T extends Model & IPegasus> implements IPart {
|
|||
|
||||
protected Wing legacyWing;
|
||||
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
leftWing = context.findByName("left_wing");
|
||||
rightWing = context.findByName("right_wing");
|
||||
legacyWing = context.findByName("legacy_right_wing");
|
||||
}
|
||||
|
||||
public Wing getLeft() {
|
||||
return leftWing;
|
||||
}
|
||||
|
@ -72,13 +82,20 @@ public class PegasusWings<T extends Model & IPegasus> implements IPart {
|
|||
getRight().render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha);
|
||||
}
|
||||
|
||||
public static class Wing {
|
||||
public static class Wing implements MsonModel {
|
||||
|
||||
protected IPegasus pegasus;
|
||||
|
||||
protected ModelPart extended;
|
||||
protected ModelPart folded;
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
pegasus = (IPegasus)context.getModel();
|
||||
extended = context.findByName("extended");
|
||||
folded = context.findByName("folded");
|
||||
}
|
||||
|
||||
public void rotateWalking(float swing) {
|
||||
folded.yaw = swing * 0.15F;
|
||||
}
|
||||
|
|
|
@ -5,14 +5,23 @@ import net.minecraft.client.render.VertexConsumer;
|
|||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class PonyEars implements IPart {
|
||||
public class PonyEars implements IPart, MsonModel {
|
||||
|
||||
private ModelPart right;
|
||||
private ModelPart left;
|
||||
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
right = context.findByName("right");
|
||||
left = context.findByName("left");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, UUID interpolatorId) {
|
||||
}
|
||||
|
|
|
@ -7,12 +7,14 @@ import net.minecraft.client.util.math.MatrixStack;
|
|||
import com.minelittlepony.client.MineLittlePony;
|
||||
import com.minelittlepony.model.ICapitated;
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
import com.minelittlepony.mson.api.model.MsonPart;
|
||||
import com.minelittlepony.pony.meta.Gender;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class PonySnout implements IPart {
|
||||
public class PonySnout implements IPart, MsonModel {
|
||||
|
||||
private boolean visible = false;
|
||||
|
||||
|
@ -21,6 +23,13 @@ public class PonySnout implements IPart {
|
|||
|
||||
private ICapitated<ModelPart> head;
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
head = context.getContext();
|
||||
mare = context.findByName("mare");
|
||||
stallion = context.findByName("stallion");
|
||||
}
|
||||
|
||||
public void rotate(float x, float y, float z) {
|
||||
((MsonPart)mare).rotate(x, y, z);
|
||||
((MsonPart)stallion).rotate(x, y, z);
|
||||
|
|
|
@ -8,10 +8,13 @@ import net.minecraft.util.math.MathHelper;
|
|||
|
||||
import com.minelittlepony.client.model.AbstractPonyModel;
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
public class PonyTail extends ModelPart implements IPart {
|
||||
public class PonyTail extends ModelPart implements IPart, MsonModel {
|
||||
|
||||
private final AbstractPonyModel<?> theModel;
|
||||
|
||||
|
@ -22,6 +25,23 @@ public class PonyTail extends ModelPart implements IPart {
|
|||
theModel = model;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
try {
|
||||
int segments = context.getLocals().getValue("segments").get().intValue();
|
||||
|
||||
for (int i = 0; i < segments; i++) {
|
||||
Segment segment = context.findByName("segment_" + i);
|
||||
segment.index = i;
|
||||
addChild(segment);
|
||||
}
|
||||
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRotationAndAngles(boolean rainboom, UUID interpolatorId, float move, float swing, float bodySwing, float ticks) {
|
||||
roll = rainboom ? 0 : MathHelper.cos(move * 0.8F) * 0.2f * swing;
|
||||
|
@ -73,19 +93,20 @@ public class PonyTail extends ModelPart implements IPart {
|
|||
render(stack, vertices, overlayUv, lightUv, red, green, blue, alpha);
|
||||
}
|
||||
|
||||
private static class Segment extends ModelPart {
|
||||
private static class Segment extends ModelPart implements MsonModel {
|
||||
|
||||
public PonyTail tail;
|
||||
|
||||
int index;
|
||||
public int index;
|
||||
|
||||
public Segment(Model model) {
|
||||
super(model);
|
||||
}
|
||||
|
||||
public void setOwner(int index, PonyTail tail) {
|
||||
this.index = index;
|
||||
this.tail = tail;
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
tail = context.getContext();
|
||||
context.findByName("segment", this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
package com.minelittlepony.client.model.part;
|
||||
|
||||
import com.minelittlepony.client.model.AbstractPonyModel;
|
||||
import com.minelittlepony.client.model.IPonyModel;
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -11,7 +12,7 @@ import net.minecraft.client.render.VertexConsumer;
|
|||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class SeaponyTail implements IPart {
|
||||
public class SeaponyTail implements IPart, MsonModel {
|
||||
|
||||
private static final float TAIL_ROTX = PI / 2;
|
||||
|
||||
|
@ -22,8 +23,12 @@ public class SeaponyTail implements IPart {
|
|||
|
||||
private IPonyModel<?> model;
|
||||
|
||||
public SeaponyTail(AbstractPonyModel<?> model) {
|
||||
this.model = model;
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
model = (IPonyModel<?>)context.getModel();
|
||||
tailBase = context.findByName("base");
|
||||
tailTip = context.findByName("tip");
|
||||
tailFins = context.findByName("fins");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -8,19 +8,27 @@ import net.minecraft.client.render.VertexConsumer;
|
|||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
import com.minelittlepony.model.IPart;
|
||||
import com.minelittlepony.mson.api.ModelContext;
|
||||
import com.minelittlepony.mson.api.MsonModel;
|
||||
import com.minelittlepony.util.math.Color;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class UnicornHorn implements IPart {
|
||||
public class UnicornHorn implements IPart, MsonModel {
|
||||
|
||||
private ModelPart horn;
|
||||
private ModelPart glow;
|
||||
|
||||
protected boolean visible = true;
|
||||
|
||||
@Override
|
||||
public void init(ModelContext context) {
|
||||
horn = context.findByName("bone");
|
||||
glow = context.findByName("corona");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderPart(MatrixStack stack, VertexConsumer vertices, int overlayUv, int lightUv, float red, float green, float blue, float alpha, @Nullable UUID interpolatorId) {
|
||||
if (visible) {
|
||||
|
|
Loading…
Add table
Reference in a new issue