package com.amadornes.framez.client.gui;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.ResourceLocation;
import uk.co.qmunity.lib.client.gui.GuiBase;
import uk.co.qmunity.lib.client.gui.widget.IGuiWidget;
import uk.co.qmunity.lib.client.gui.widget.WidgetMode;
import com.amadornes.framez.api.movement.MotorSetting;
import com.amadornes.framez.ref.ModInfo;
import com.amadornes.framez.tile.TileMotor;
public class GuiMotorSettings extends GuiBase {
private static ResourceLocation resLoc = new ResourceLocation(ModInfo.MODID, "textures/gui/settings.png");
private TileMotor motor;
public GuiMotorSettings(TileMotor motor) {
super(resLoc, 228, 120, "Motor Settings");
this.motor = motor;
}
@Override
public void initGui() {
super.initGui();
int x_ = (width - xSize) / 2;
int y_ = (height - ySize) / 2;
WidgetMode redstone_pulse = new WidgetMode(0, x_ + 8, y_ + 20, xSize + 14, 0, 2, ModInfo.MODID + ":textures/gui/settings.png");
redstone_pulse.value = motor.getSettings().contains(MotorSetting.REDSTONE_PULSE) ? 1 : 0;
addWidget(redstone_pulse);
WidgetMode inverted = new WidgetMode(1, x_ + 8, y_ + 36, xSize + 14, 28, 2, ModInfo.MODID + ":textures/gui/settings.png");
inverted.value = motor.getSettings().contains(MotorSetting.REDSTONE_INVERTED) ? 1 : 0;
addWidget(inverted);
}
@Override
public boolean doesGuiPauseGame() {
return false;
}
@Override
public void drawScreen(int x, int y, float partialTick) {
super.drawScreen(x, y, partialTick);
int x_ = (width - xSize) / 2;
int y_ = (height - ySize) / 2;
drawString(fontRendererObj, I18n.format("gui." + ModInfo.MODID + ":motor.redstone_pulse." + ((WidgetMode) getWidget(0)).value),
x_ + 8 + 16, y_ + 20 + 3, COLOR_TEXT);
drawString(fontRendererObj, I18n.format("gui." + ModInfo.MODID + ":motor.redstone_inverted." + ((WidgetMode) getWidget(1)).value),
x_ + 8 + 16, y_ + 36 + 3, COLOR_TEXT);
}
@Override
public void actionPerformed(IGuiWidget widget) {
super.actionPerformed(widget);
if (widget.getID() == 0)
motor.configure(MotorSetting.REDSTONE_PULSE);
if (widget.getID() == 1)
motor.configure(MotorSetting.REDSTONE_INVERTED);
}
}