Advertisement
Guest User

BeagleEntity

a guest
Mar 8th, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. import javax.annotation.Nullable;
  2. import net.minecraft.entity.CreatureEntity;
  3. import net.minecraft.entity.EntityType;
  4. import net.minecraft.entity.ILivingEntityData;
  5. import net.minecraft.entity.MobEntity;
  6. import net.minecraft.entity.SpawnReason;
  7. import net.minecraft.entity.ai.attributes.AttributeModifierMap;
  8. import net.minecraft.entity.ai.attributes.Attributes;
  9. import net.minecraft.nbt.CompoundNBT;
  10. import net.minecraft.network.datasync.DataParameter;
  11. import net.minecraft.network.datasync.DataSerializers;
  12. import net.minecraft.network.datasync.EntityDataManager;
  13. import net.minecraft.world.DifficultyInstance;
  14. import net.minecraft.world.IServerWorld;
  15. import net.minecraft.world.World;
  16.  
  17.  
  18. public class BeagleEntity extends CreatureEntity {
  19.  
  20.     private static final DataParameter<Integer> VARIANT = EntityDataManager.createKey(BeagleEntity.class, DataSerializers.VARINT);
  21.    
  22.     public BeagleEntity(EntityType<? extends CreatureEntity> type, World worldIn) {
  23.         super(type, worldIn);  
  24.     }
  25.  
  26.       public static AttributeModifierMap.MutableAttribute func_234176_m_() {
  27.             return MobEntity.func_233666_p_().createMutableAttribute(Attributes.MAX_HEALTH, 6.0D);
  28.         }
  29.     public int getVariant() {
  30.         return this.dataManager.get(VARIANT).intValue();
  31.     }
  32.     public void setVariant(int variant) {
  33.         this.dataManager.set(VARIANT, Integer.valueOf(variant));
  34.     }  
  35.     public void writeAdditional(CompoundNBT compound) {
  36.         super.writeAdditional(compound);
  37.         compound.putInt("Variant", this.getVariant());    
  38.     }
  39.     public void readAdditional(CompoundNBT compound) {
  40.         super.readAdditional(compound);
  41.         this.setVariant(compound.getInt("Variant"));
  42.  
  43.     }
  44.     @Override
  45.     public void registerData() {
  46.         super.registerData();      
  47.         this.dataManager.register(VARIANT, 0);       
  48.     }
  49.    
  50.     @Nullable
  51.     public ILivingEntityData onInitialSpawn(IServerWorld worldIn, DifficultyInstance difficultyIn, SpawnReason reason, @Nullable ILivingEntityData spawnDataIn, @Nullable CompoundNBT dataTag) {
  52.         this.setVariant(this.getRNG().nextInt(2));
  53.         return super.onInitialSpawn(worldIn, difficultyIn, reason, spawnDataIn, dataTag);
  54.     }            
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement