Scale and variants

This commit is contained in:
paulevsGitch 2020-10-23 20:48:13 +03:00
parent 4237f5bdca
commit e76577328c
12 changed files with 49 additions and 4 deletions

View file

@ -4,15 +4,29 @@ import net.minecraft.entity.EntityType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.attribute.DefaultAttributeContainer;
import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.data.DataTracker;
import net.minecraft.entity.data.TrackedData;
import net.minecraft.entity.data.TrackedDataHandlerRegistry;
import net.minecraft.entity.passive.SchoolingFishEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundEvent;
import net.minecraft.world.World;
public class EntityEndFish extends SchoolingFishEntity {
public static final int VARIANTS = 5;
private static final TrackedData<Byte> VARIANT = DataTracker.registerData(EntityEndFish.class, TrackedDataHandlerRegistry.BYTE);
private static final TrackedData<Byte> SCALE = DataTracker.registerData(EntityEndFish.class, TrackedDataHandlerRegistry.BYTE);
public EntityEndFish(EntityType<EntityEndFish> entityType, World world) {
super(entityType, world);
}
@Override
protected void initDataTracker() {
super.initDataTracker();
this.dataTracker.startTracking(VARIANT, (byte) this.getRandom().nextInt(VARIANTS));
this.dataTracker.startTracking(SCALE, (byte) this.getRandom().nextInt(255));
}
@Override
protected ItemStack getFishBucketItem() {
@ -30,4 +44,12 @@ public class EntityEndFish extends SchoolingFishEntity {
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 16.0D)
.add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.5D);
}
public int getVariant() {
return (int) this.dataTracker.get(VARIANT);
}
public float getScale() {
return ((int) this.dataTracker.get(SCALE) & 255) / 512F + 0.6F;
}
}