ModEntities.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package me.km.entities;
  2. import me.km.KajetansMod;
  3. import net.minecraft.entity.EntityClassification;
  4. import net.minecraft.entity.EntityType;
  5. import net.minecraft.entity.ai.attributes.GlobalEntityTypeAttributes;
  6. import net.minecraftforge.api.distmarker.Dist;
  7. import net.minecraftforge.api.distmarker.OnlyIn;
  8. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  9. import net.minecraftforge.fml.loading.FMLEnvironment;
  10. import net.minecraftforge.registries.IForgeRegistry;
  11. public class ModEntities {
  12. public static final EntityType<EntityHuman> HUMAN
  13. = (EntityType<EntityHuman>) EntityType.Builder.create(EntityHuman::new, EntityClassification.CREATURE)
  14. .size(0.6f, 1.8f)
  15. .build(String.format("%s:human", KajetansMod.MODID))
  16. .setRegistryName(KajetansMod.MODID, "human");
  17. public static final EntityType<EntityNobody> NOBODY
  18. = (EntityType<EntityNobody>) EntityType.Builder.create(EntityNobody::new, EntityClassification.MISC)
  19. .size(0.5f, 0.5f)
  20. .build(String.format("%s:nobody", KajetansMod.MODID))
  21. .setRegistryName(KajetansMod.MODID, "nobody");
  22. public static void init(IForgeRegistry<EntityType<?>> r) {
  23. if(FMLEnvironment.dist == Dist.CLIENT) {
  24. initClient();
  25. }
  26. r.register(HUMAN);
  27. r.register(NOBODY);
  28. GlobalEntityTypeAttributes.put(HUMAN, EntityHuman.getAttributes().create());
  29. }
  30. @OnlyIn(Dist.CLIENT)
  31. private static void initClient() {
  32. RenderingRegistry.registerEntityRenderingHandler(HUMAN, (rm) -> {
  33. return new RenderHuman(rm);
  34. });
  35. RenderingRegistry.registerEntityRenderingHandler(NOBODY, (rm) -> {
  36. return new RenderNobody(rm);
  37. });
  38. }
  39. }