This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
EnergonRelics/src/main/java/com/thebrokenrail/energonrelics/block/entity/HolographicSkyBlockEntity.java

36 lines
1.4 KiB
Java

package com.thebrokenrail.energonrelics.block.entity;
import com.thebrokenrail.energonrelics.api.block.entity.core.EnergyReceiverBlockEntity;
import com.thebrokenrail.energonrelics.api.energy.Action;
import com.thebrokenrail.energonrelics.block.HolographicSkyBlock;
import com.thebrokenrail.energonrelics.config.HardcodedConfig;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.LightType;
public class HolographicSkyBlockEntity extends EnergyReceiverBlockEntity {
public HolographicSkyBlockEntity(BlockEntityType<?> type) {
super(type);
}
@Override
protected void energyTick() {
addAction(Action.createBlockStatePropertyAction(HardcodedConfig.HOLOGRAPHIC_SKY_ENERGY_REQUIRED, HolographicSkyBlock.POWERED, true, false));
assert getWorld() != null;
int newLightLevel;
if (getCachedState().get(HolographicSkyBlock.POWERED)) {
newLightLevel = getWorld().getLightLevel(LightType.SKY, new BlockPos(getPos().getX(), 1024, getPos().getZ())) - getWorld().getAmbientDarkness();
} else {
newLightLevel = 0;
}
int oldLightLevel = getCachedState().get(HolographicSkyBlock.LIGHT_LEVEL);
if (oldLightLevel != newLightLevel) {
getWorld().setBlockState(getPos(), getCachedState().with(HolographicSkyBlock.LIGHT_LEVEL, newLightLevel));
}
}
}