MineLittlePony/src/main/java/com/minelittlepony/client/hdskins/DummyPony.java

45 lines
1.4 KiB
Java
Raw Normal View History

2019-11-23 23:19:13 +02:00
package com.minelittlepony.client.hdskins;
2022-01-13 11:33:53 +02:00
import net.minecraft.client.world.ClientWorld;
import com.minelittlepony.api.pony.IPony;
import com.minelittlepony.api.pony.IPonyManager;
import com.minelittlepony.client.IPreviewModel;
import com.minelittlepony.client.render.EquineRenderManager;
2022-12-08 01:53:59 +00:00
import com.minelittlepony.hdskins.client.dummy.*;
import java.util.UUID;
/**
* Dummy model used for the skin uploading screen.
*/
class DummyPony extends DummyPlayer implements IPreviewModel, IPonyManager.ForcedPony, EquineRenderManager.RegistrationHandler {
2022-12-08 01:53:59 +00:00
public DummyPony(ClientWorld world, PlayerSkins<?> textures) {
2022-01-13 11:33:53 +02:00
super(world, textures);
setUuid(UUID.randomUUID()); // uuid must be random so animations aren't linked between the two previews
}
@Override
public boolean shouldUpdateRegistration(IPony pony) {
return false;
}
@Override
public boolean isSubmergedInWater() {
2022-12-08 01:53:59 +00:00
return getTextures().getPosture().getActiveSkinType() == MineLPHDSkins.seaponySkinType || super.isSubmergedInWater();
}
@Override
public String getModel() {
2022-12-08 01:53:59 +00:00
if (getTextures().getPosture().getActiveSkinType() == MineLPHDSkins.seaponySkinType) {
return getTextures().usesThinSkin() ? "slimseapony" : "seapony";
}
return IPony.getManager()
.getPony(this)
.metadata()
.getRace()
2022-11-23 21:32:25 +00:00
.getModelId(getTextures().usesThinSkin());
}
}