Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
1package net.lerariemann.infinity.entity.client;
2
3import net.lerariemann.infinity.entity.custom.ChaosSkeleton;
4import net.lerariemann.infinity.util.VersionMethods;
5import net.minecraft.client.model.SkeletonModel;
6import net.minecraft.client.model.geom.ModelLayers;
7//? if >1.21.1 {
8import net.minecraft.client.renderer.entity.AbstractSkeletonRenderer;
9//?} else {
10/*import net.minecraft.client.renderer.entity.SkeletonRenderer;
11*///?}
12import net.minecraft.client.renderer.entity.EntityRendererProvider;
13import net.minecraft.resources.ResourceLocation;
14
15public class ChaosSkeletonRenderer extends
16 //? if <1.21.1 {
17 /*SkeletonRenderer
18 *///?}
19 //? if =1.21.1 {
20 /*SkeletonRenderer<ChaosSkeleton>
21 *///?}
22 //? if >1.21.1 {
23 AbstractSkeletonRenderer<ChaosSkeleton, TintedRenderState.Skeleton>
24 //?}
25{
26 public static final ResourceLocation TEXTURE = VersionMethods.id("textures/entity/skeleton/skeleton.png");
27
28 public ChaosSkeletonRenderer(EntityRendererProvider.Context context) {
29 //? if <1.21.2 {
30 /*super(context);
31 *///?} else {
32 super(context, ModelLayers.SKELETON, ModelLayers.SKELETON_INNER_ARMOR, ModelLayers.SKELETON_OUTER_ARMOR);
33 //?}
34 this.addLayer(new TintedLayerRenderer<>(this, new SkeletonModel<>(context.bakeLayer(ModelLayers.SKELETON))));
35 }
36
37 //? if >1.21.2 {
38 @Override
39 public TintedRenderState.Skeleton createRenderState() {
40 return new TintedRenderState.Skeleton();
41 }
42
43 @Override
44 public void extractRenderState(ChaosSkeleton skeleton, TintedRenderState.Skeleton state, float f) {
45 super.extractRenderState(skeleton, state, f);
46 state.colour = skeleton.getColorForRender();
47 }
48
49 @Override
50 public ResourceLocation getTextureLocation(TintedRenderState.Skeleton renderState) {
51 return TEXTURE;
52 }
53 //?}
54}