NaturesAura/src/main/java/de/ellpeck/naturesaura/blocks/tiles/BlockEntityAncientLeaves.java
2021-12-19 15:32:45 +01:00

50 lines
1.6 KiB
Java

package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.container.IAuraContainer;
import de.ellpeck.naturesaura.api.aura.container.NaturalAuraContainer;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.level.block.state.BlockState;
public class BlockEntityAncientLeaves extends BlockEntityImpl {
private final NaturalAuraContainer container = new NaturalAuraContainer(NaturesAuraAPI.TYPE_OVERWORLD, 2000, 500) {
@Override
public int getAuraColor() {
return 0xCE5489;
}
@Override
public int drainAura(int amountToDrain, boolean simulate) {
var amount = super.drainAura(amountToDrain, simulate);
if (amount > 0 && !simulate) {
BlockEntityAncientLeaves.this.sendToClients();
}
return amount;
}
};
public BlockEntityAncientLeaves(BlockPos pos, BlockState state) {
super(ModBlockEntities.ANCIENT_LEAVES, pos, state);
}
@Override
public IAuraContainer getAuraContainer() {
return this.container;
}
@Override
public void writeNBT(CompoundTag compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK)
this.container.writeNBT(compound);
}
@Override
public void readNBT(CompoundTag compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK)
this.container.readNBT(compound);
}
}