CreateMod/src/main/java/com/simibubi/create/content/optics/radiant_beacon/RadiantBeaconTileEntity.java
2021-04-23 21:35:01 +02:00

51 lines
1.5 KiB
Java

package com.simibubi.create.content.optics.radiant_beacon;
import java.util.List;
import com.simibubi.create.content.optics.ILightHandler;
import com.simibubi.create.content.optics.behaviour.LightEmittingBehaviour;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class RadiantBeaconTileEntity extends SmartTileEntity implements ILightHandler.ILightHandlerProvider, ITE<RadiantBeaconTileEntity> {
LightEmittingBehaviour<RadiantBeaconTileEntity> lightEmittingBehaviour;
public RadiantBeaconTileEntity(TileEntityType<?> tileEntityTypeIn) {
super(tileEntityTypeIn);
setLazyTickRate(20);
}
@Override
public void addBehaviours(List<TileEntityBehaviour> behaviours) {
lightEmittingBehaviour = new LightEmittingBehaviour<>(this);
behaviours.add(lightEmittingBehaviour);
}
@Override
public ILightHandler getHandler() {
return lightEmittingBehaviour;
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return INFINITE_EXTENT_AABB;
}
@Override
@OnlyIn(Dist.CLIENT)
public double getMaxRenderDistanceSquared() {
return 256.0D;
}
@Override
public Class<RadiantBeaconTileEntity> getTileEntityClass() {
return RadiantBeaconTileEntity.class;
}
}