Advertisement
Guest User

Entity Registries

a guest
May 22nd, 2021
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. package com.luxaether.battlemobs.core.registry;
  2.  
  3. import java.util.function.Supplier;
  4.  
  5. import com.luxaether.battlemobs.BattleMobs;
  6. import com.luxaether.battlemobs.common.entities.hostile.IubeyEntity;
  7. import com.luxaether.battlemobs.common.entities.passive.StarsilverGolemEntity;
  8. import com.luxaether.battlemobs.common.entities.passive.TestGolemEntity;
  9.  
  10. import net.minecraft.entity.Entity;
  11. import net.minecraft.entity.EntityClassification;
  12. import net.minecraft.entity.EntityType;
  13. import net.minecraft.util.ResourceLocation;
  14. import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
  15. import net.minecraftforge.eventbus.api.SubscribeEvent;
  16. import net.minecraftforge.fml.RegistryObject;
  17. import net.minecraftforge.fml.common.Mod;
  18. import net.minecraftforge.registries.DeferredRegister;
  19. import net.minecraftforge.registries.ForgeRegistries;
  20.  
  21. @Mod.EventBusSubscriber(modid = BattleMobs.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
  22. public class EntityTypeInit {
  23.    
  24.     public static final DeferredRegister<EntityType<?>> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITIES, BattleMobs.MOD_ID);
  25.  
  26.    
  27.     public static final RegistryObject<EntityType<StarsilverGolemEntity>> STARSILVER_GOLEM = registerEntityType("starsilver_golem",
  28.             () -> EntityType.Builder.<StarsilverGolemEntity>of((StarsilverGolemEntity::new), EntityClassification.CREATURE));
  29.     public static final RegistryObject<EntityType<IubeyEntity>> IUBEY = registerEntityType("iubey",
  30.             () -> EntityType.Builder.<IubeyEntity>of((IubeyEntity::new), EntityClassification.MONSTER));
  31.    
  32.     private static <T extends Entity> RegistryObject<EntityType<T>> registerEntityType(final String name, final Supplier<EntityType.Builder<T>> factory) {
  33.         return ENTITIES.register(name,
  34.                 () -> factory.get().build(new ResourceLocation(BattleMobs.MOD_ID, name).toString())
  35.         );
  36.     }
  37.    
  38.     @SubscribeEvent
  39.     public static void initializeAttributes(final EntityAttributeCreationEvent event) {
  40.         event.put(STARSILVER_GOLEM.get(), StarsilverGolemEntity.createAttributes().build());
  41.         event.put(IUBEY.get(), IubeyEntity.createAttributes().build());
  42.     }
  43. }
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement