CreateMod/src/main/java/com/simibubi/create/content/optics/LightHandlerRenderer.java
2021-04-23 22:42:34 +02:00

30 lines
985 B
Java

package com.simibubi.create.content.optics;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.tileentity.TileEntity;
import javax.annotation.ParametersAreNonnullByDefault;
@ParametersAreNonnullByDefault
public class LightHandlerRenderer<T extends TileEntity & ILightHandler.ILightHandlerProvider> extends SafeTileEntityRenderer<T> {
public LightHandlerRenderer(TileEntityRendererDispatcher dispatcher) {
super(dispatcher);
}
@Override
protected void renderSafe(T te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, int light, int overlay) {
te.getHandler()
.getRenderBeams()
.forEachRemaining(beam -> beam.render(ms, buffer, partialTicks));
}
@Override
public boolean isGlobalRenderer(T te) {
return true;
}
}