Advertisement
Yurim64

TestVehicle

May 8th, 2021
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. package com.ike.ambulancemod.entity.veichle;
  2.  
  3. import com.ike.ambulancemod.init.ModEntityType;
  4. import net.minecraft.block.Block;
  5. import net.minecraft.block.Blocks;
  6. import net.minecraft.entity.Entity;
  7. import net.minecraft.entity.EntityType;
  8. import net.minecraft.nbt.CompoundNBT;
  9. import net.minecraft.network.IPacket;
  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.network.play.server.SSpawnObjectPacket;
  14. import net.minecraft.world.World;
  15.  
  16. /**
  17.  * @author Ike
  18.  * @version 1.0A
  19.  **/
  20. public class TestVehicle extends Entity {
  21.  
  22.     private static final DataParameter<Integer> DATA_ID_HURT = EntityDataManager.defineId(TestVehicle.class, DataSerializers.INT);
  23.     private static final DataParameter<Integer> DATA_ID_HURTDIR = EntityDataManager.defineId(TestVehicle.class, DataSerializers.INT);
  24.     private static final DataParameter<Float> DATA_ID_DAMAGE = EntityDataManager.defineId(TestVehicle.class, DataSerializers.FLOAT);
  25.     private static final DataParameter<Integer> DATA_ID_DISPLAY_BLOCK = EntityDataManager.defineId(TestVehicle.class, DataSerializers.INT);
  26.     private static final DataParameter<Integer> DATA_ID_DISPLAY_OFFSET = EntityDataManager.defineId(TestVehicle.class, DataSerializers.INT);
  27.     private static final DataParameter<Boolean> DATA_ID_CUSTOM_DISPLAY = EntityDataManager.defineId(TestVehicle.class, DataSerializers.BOOLEAN);
  28.  
  29.     public TestVehicle(EntityType<? extends TestVehicle> type, World world) {
  30.         super(type, world);
  31.     }
  32.  
  33.     public TestVehicle(World world) {
  34.         super(ModEntityType.TEST.get(), world);
  35.     }
  36.  
  37.     @Override
  38.     protected void defineSynchedData() {
  39.         this.entityData.define(DATA_ID_HURT, 0);
  40.         this.entityData.define(DATA_ID_HURTDIR, 1);
  41.         this.entityData.define(DATA_ID_DAMAGE, 0.0F);
  42.         this.entityData.define(DATA_ID_DISPLAY_BLOCK, Block.getId(Blocks.AIR.defaultBlockState()));
  43.         this.entityData.define(DATA_ID_DISPLAY_OFFSET, 6);
  44.         this.entityData.define(DATA_ID_CUSTOM_DISPLAY, false);
  45.     }
  46.  
  47.     @Override
  48.     protected void readAdditionalSaveData(CompoundNBT p_70037_1_) {
  49.         //No Data
  50.     }
  51.  
  52.     @Override
  53.     protected void addAdditionalSaveData(CompoundNBT nbt) {
  54.         //No Data
  55.     }
  56.  
  57.     @Override
  58.     public IPacket<?> getAddEntityPacket() {
  59.         return new SSpawnObjectPacket(this);
  60.     }
  61.  
  62.     public static class Factory implements EntityType.IFactory<TestVehicle> {
  63.  
  64.         @Override
  65.         public TestVehicle create(EntityType<TestVehicle> type, World world) {
  66.             return new TestVehicle(type, world);
  67.         }
  68.     }
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement