-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
ParadiseLostEntityRenderers.java
44 lines (37 loc) · 1.81 KB
/
ParadiseLostEntityRenderers.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package net.id.paradiselost.client.rendering.entity;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
import net.id.incubus_core.blocklikeentities.api.client.BlockLikeEntityRenderer;
import net.id.paradiselost.client.rendering.entity.hostile.EnvoyEntityRenderer;
import net.id.paradiselost.client.rendering.entity.passive.MoaEntityRenderer;
import net.id.paradiselost.entities.ParadiseLostEntityTypes;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.EntityRenderers;
import net.minecraft.client.render.entity.FlyingItemEntityRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
@Environment(EnvType.CLIENT)
public class ParadiseLostEntityRenderers {
public static void initClient() {
// block
register(ParadiseLostEntityTypes.FLOATING_BLOCK, BlockLikeEntityRenderer::new);
register(ParadiseLostEntityTypes.SLIDER, BlockLikeEntityRenderer::new);
// hostile
register(ParadiseLostEntityTypes.ENVOY, EnvoyEntityRenderer::new);
// passive
register(ParadiseLostEntityTypes.MOA, MoaEntityRenderer::new);
// register(ParadiseLostEntityTypes.AMBYST, AmbystRenderer::new);
// projectile
register(ParadiseLostEntityTypes.THROWN_NITRA, FlyingItemEntityRenderer::new);
}
@SafeVarargs
private static <T extends Entity> void register(EntityRendererFactory<T> factory, EntityType<? extends T>... types) {
for (var type : types) {
register(type, factory);
}
}
private static <T extends Entity> void register(EntityType<? extends T> clazz, EntityRendererFactory<T> factory) {
EntityRendererRegistry.register(clazz, factory);
}
}