mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-16 17:44:23 +01:00
Clean up some messy refactorings
This commit is contained in:
parent
f0d16efd18
commit
b5b168df06
3 changed files with 21 additions and 27 deletions
|
@ -3,11 +3,7 @@ package com.minelittlepony.client.render.entity;
|
||||||
import net.minecraft.client.render.VertexConsumerProvider;
|
import net.minecraft.client.render.VertexConsumerProvider;
|
||||||
import net.minecraft.client.render.entity.ArmorStandEntityRenderer;
|
import net.minecraft.client.render.entity.ArmorStandEntityRenderer;
|
||||||
import net.minecraft.client.render.entity.EntityRendererFactory;
|
import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
import net.minecraft.client.render.entity.feature.ArmorFeatureRenderer;
|
import net.minecraft.client.render.entity.feature.*;
|
||||||
import net.minecraft.client.render.entity.feature.ElytraFeatureRenderer;
|
|
||||||
import net.minecraft.client.render.entity.feature.FeatureRendererContext;
|
|
||||||
import net.minecraft.client.render.entity.feature.HeadFeatureRenderer;
|
|
||||||
import net.minecraft.client.render.entity.feature.HeldItemFeatureRenderer;
|
|
||||||
import net.minecraft.client.render.entity.model.ArmorStandArmorEntityModel;
|
import net.minecraft.client.render.entity.model.ArmorStandArmorEntityModel;
|
||||||
import net.minecraft.client.render.entity.model.EntityModelLayers;
|
import net.minecraft.client.render.entity.model.EntityModelLayers;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
@ -33,7 +29,12 @@ public class PonyStandRenderer extends ArmorStandEntityRenderer {
|
||||||
super(context);
|
super(context);
|
||||||
human = model;
|
human = model;
|
||||||
|
|
||||||
features.clear();
|
features.removeIf(feature -> {
|
||||||
|
return feature instanceof ArmorFeatureRenderer
|
||||||
|
|| feature instanceof HeldItemFeatureRenderer
|
||||||
|
|| feature instanceof ElytraFeatureRenderer
|
||||||
|
|| feature instanceof HeadFeatureRenderer;
|
||||||
|
});
|
||||||
addFeature(new Armour(this, context));
|
addFeature(new Armour(this, context));
|
||||||
addFeature(new HeldItemFeatureRenderer<>(this, context.getHeldItemRenderer()));
|
addFeature(new HeldItemFeatureRenderer<>(this, context.getHeldItemRenderer()));
|
||||||
addFeature(new ElytraFeatureRenderer<>(this, context.getModelLoader()));
|
addFeature(new ElytraFeatureRenderer<>(this, context.getModelLoader()));
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
package com.minelittlepony.client.render.entity.npc.textures;
|
package com.minelittlepony.client.render.entity.npc.textures;
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
|
||||||
import net.minecraft.entity.LivingEntity;
|
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.village.*;
|
import net.minecraft.village.*;
|
||||||
|
|
||||||
import com.minelittlepony.util.ResourceUtil;
|
import com.minelittlepony.util.ResourceUtil;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
public class ProfessionTextureSupplier<T extends VillagerDataContainer> implements TextureSupplier<T> {
|
public class ProfessionTextureSupplier<T extends VillagerDataContainer> implements TextureSupplier<T> {
|
||||||
|
|
||||||
public static <T extends VillagerDataContainer> TextureSupplier<T> create(TextureSupplier<String> formatter) {
|
public static <T extends VillagerDataContainer> TextureSupplier<T> create(TextureSupplier<String> formatter) {
|
||||||
|
@ -40,7 +36,7 @@ public class ProfessionTextureSupplier<T extends VillagerDataContainer> implemen
|
||||||
|
|
||||||
private Identifier getTexture(final VillagerType type, final VillagerProfession profession) {
|
private Identifier getTexture(final VillagerType type, final VillagerProfession profession) {
|
||||||
String key = ResourceUtil.format("pony/%s/%s", type, profession);
|
String key = ResourceUtil.format("pony/%s/%s", type, profession);
|
||||||
return verifyTexture(formatter.apply(key)).orElseGet(() -> {
|
return ResourceUtil.verifyTexture(formatter.apply(key)).orElseGet(() -> {
|
||||||
if (type == VillagerType.PLAINS) {
|
if (type == VillagerType.PLAINS) {
|
||||||
// if texture loading fails, use the fallback.
|
// if texture loading fails, use the fallback.
|
||||||
return fallback;
|
return fallback;
|
||||||
|
@ -49,20 +45,4 @@ public class ProfessionTextureSupplier<T extends VillagerDataContainer> implemen
|
||||||
return getTexture(VillagerType.PLAINS, profession);
|
return getTexture(VillagerType.PLAINS, profession);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Optional<Identifier> verifyTexture(Identifier texture) {
|
|
||||||
return MinecraftClient.getInstance().getResourceManager().getResource(texture).map(i -> texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isBestPony(LivingEntity entity) {
|
|
||||||
if (!entity.hasCustomName()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
String name = entity.getCustomName().getString();
|
|
||||||
return "Derpy".equals(name) || (entity.isBaby() && "Dinky".equals(name));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isCrownPony(LivingEntity entity) {
|
|
||||||
return isBestPony(entity) && entity.getUuid().getLeastSignificantBits() % 20 == 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
package com.minelittlepony.util;
|
package com.minelittlepony.util;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public final class ResourceUtil {
|
public final class ResourceUtil {
|
||||||
|
|
||||||
public static String format(String template, Object... args) {
|
public static String format(String template, Object... args) {
|
||||||
|
@ -14,4 +19,12 @@ public final class ResourceUtil {
|
||||||
private static String toPathComponent(Object value) {
|
private static String toPathComponent(Object value) {
|
||||||
return value.toString().toLowerCase().replaceAll("[^a-z0-9_.-]", "_");
|
return value.toString().toLowerCase().replaceAll("[^a-z0-9_.-]", "_");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean textureExists(Identifier texture) {
|
||||||
|
return MinecraftClient.getInstance().getTextureManager().getOrDefault(texture, null) != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Optional<Identifier> verifyTexture(Identifier texture) {
|
||||||
|
return textureExists(texture) ? Optional.of(texture) : Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue