package mcjty.rftools.blocks.screens.modulesclient;
import mcjty.lib.gui.widgets.Panel;
import mcjty.rftools.blocks.screens.ModuleGuiChanged;
import mcjty.rftools.blocks.screens.modules.ComputerScreenModule;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.Gui;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
public class ComputerClientScreenModule implements ClientScreenModule {
@Override
public TransformMode getTransformMode() {
return TransformMode.TEXT;
}
@Override
public int getHeight() {
return 10;
}
@Override
public void render(FontRenderer fontRenderer, int currenty, Object[] screenData, float factor) {
GL11.glDisable(GL11.GL_LIGHTING);
if (screenData != null) {
int x = 7;
for (Object o : screenData) {
ComputerScreenModule.ColoredText ct = (ComputerScreenModule.ColoredText) o;
fontRenderer.drawString(ct.getText(), x, currenty, ct.getColor());
x += fontRenderer.getStringWidth(ct.getText());
}
}
}
@Override
public void mouseClick(World world, int x, int y, boolean clicked) {
}
@Override
public Panel createGui(Minecraft mc, Gui gui, final NBTTagCompound currentData, final ModuleGuiChanged moduleGuiChanged) {
return new ScreenModuleGuiBuilder(mc, gui, currentData, moduleGuiChanged).
leftLabel("Contents of this module is").nl().
leftLabel("controlled with a computer.").nl().
leftLabel("Only works with OC or CC.").nl().
label("Tag:").text("moduleTag", "Tag used by LUA to identify module").nl().
build();
}
@Override
public void setupFromNBT(NBTTagCompound tagCompound, int dim, int x, int y, int z) {
}
@Override
public boolean needsServerData() {
return true;
}
}