76 lines
2 KiB
Java
76 lines
2 KiB
Java
package net.minecraft.world.entity.boss;
|
|
|
|
import net.minecraft.nbt.CompoundTag;
|
|
import net.minecraft.network.protocol.Packet;
|
|
import net.minecraft.network.protocol.game.ClientGamePacketListener;
|
|
import net.minecraft.network.syncher.SynchedEntityData;
|
|
import net.minecraft.server.level.ServerEntity;
|
|
import net.minecraft.world.damagesource.DamageSource;
|
|
import net.minecraft.world.entity.Entity;
|
|
import net.minecraft.world.entity.EntityDimensions;
|
|
import net.minecraft.world.entity.Pose;
|
|
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
|
|
import net.minecraft.world.item.ItemStack;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
public class EnderDragonPart extends Entity {
|
|
public final EnderDragon parentMob;
|
|
public final String name;
|
|
private final EntityDimensions size;
|
|
|
|
public EnderDragonPart(EnderDragon parentMob, String name, float width, float height) {
|
|
super(parentMob.getType(), parentMob.level());
|
|
this.size = EntityDimensions.scalable(width, height);
|
|
this.refreshDimensions();
|
|
this.parentMob = parentMob;
|
|
this.name = name;
|
|
}
|
|
|
|
@Override
|
|
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
|
}
|
|
|
|
@Override
|
|
protected void readAdditionalSaveData(CompoundTag compound) {
|
|
}
|
|
|
|
@Override
|
|
protected void addAdditionalSaveData(CompoundTag compound) {
|
|
}
|
|
|
|
@Override
|
|
public boolean isPickable() {
|
|
return true;
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public ItemStack getPickResult() {
|
|
return this.parentMob.getPickResult();
|
|
}
|
|
|
|
@Override
|
|
public boolean hurt(DamageSource source, float amount) {
|
|
return this.isInvulnerableTo(source) ? false : this.parentMob.hurt(this, source, amount);
|
|
}
|
|
|
|
@Override
|
|
public boolean is(Entity entity) {
|
|
return this == entity || this.parentMob == entity;
|
|
}
|
|
|
|
@Override
|
|
public Packet<ClientGamePacketListener> getAddEntityPacket(ServerEntity entity) {
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
|
|
@Override
|
|
public EntityDimensions getDimensions(Pose pose) {
|
|
return this.size;
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldBeSaved() {
|
|
return false;
|
|
}
|
|
}
|