Control panels can be disassembled in the panel creator now
added the missing background textures changed the "base item" for control panels to be a basic machine casing
This commit is contained in:
parent
6717e7c815
commit
4586e57b84
|
@ -133,7 +133,7 @@ public class TileEntityPanel extends TileEntityIWBase implements IDirectionalTil
|
|||
}
|
||||
}
|
||||
|
||||
public void readFromItemNBT(NBTTagCompound nbt) {
|
||||
public void readFromItemNBT(@Nullable NBTTagCompound nbt) {
|
||||
if (nbt!=null) {
|
||||
NBTTagList l = nbt.getTagList("components", 10);
|
||||
PanelUtils.readListFromNBT(l, components);
|
||||
|
|
|
@ -128,7 +128,7 @@ public class TileEntityPanelCreator extends TileEntityIWBase implements IIEInven
|
|||
}
|
||||
break;
|
||||
case CREATE_PANEL:
|
||||
if (ApiUtils.compareToOreName(inv[0], "plateIron")) {
|
||||
if (PanelUtils.getPanelBase().equals(inv[0])) {
|
||||
NBTTagCompound panelNBT = new NBTTagCompound();
|
||||
writeToItemNBT(panelNBT, true);
|
||||
ItemStack panel = new ItemStack(IndustrialWires.panel, 1, BlockTypes_Panel.TOP.ordinal());
|
||||
|
@ -151,6 +151,15 @@ public class TileEntityPanelCreator extends TileEntityIWBase implements IIEInven
|
|||
}
|
||||
}
|
||||
break;
|
||||
case DISASSEMBLE:
|
||||
if (components.size() == 0 && inv[0] != null && inv[0].getItem() == PanelUtils.PANEL_ITEM) {
|
||||
TileEntityPanel te = new TileEntityPanel();
|
||||
te.readFromItemNBT(inv[0].getTagCompound());
|
||||
components = new ArrayList<>(te.getComponents());
|
||||
height = te.getComponents().height;
|
||||
inv[0] = null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
markDirty();
|
||||
IBlockState state = worldObj.getBlockState(pos);
|
||||
|
|
|
@ -11,6 +11,7 @@ import malte0811.industrialWires.containers.ContainerPanelComponent;
|
|||
import malte0811.industrialWires.controlpanel.IConfigurableComponent;
|
||||
import malte0811.industrialWires.controlpanel.PanelComponent;
|
||||
import malte0811.industrialWires.network.MessageComponentSync;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
|
@ -18,6 +19,7 @@ import net.minecraft.client.renderer.RenderHelper;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -34,7 +36,6 @@ public class GuiPanelComponent extends GuiContainer {
|
|||
private List<GuiIntChooser> intChoosers = new ArrayList<>();
|
||||
private List<GuiSliderIE> floatSliders = new ArrayList<>();
|
||||
|
||||
//TODO int, float
|
||||
public GuiPanelComponent(EnumHand h, PanelComponent pc) {
|
||||
super(new ContainerPanelComponent(h));
|
||||
container = (ContainerPanelComponent) inventorySlots;
|
||||
|
@ -44,46 +45,53 @@ public class GuiPanelComponent extends GuiContainer {
|
|||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
xSize = 150;
|
||||
ySize = 150;
|
||||
Keyboard.enableRepeatEvents(true);
|
||||
if (component instanceof IConfigurableComponent) {
|
||||
confComp = (IConfigurableComponent) component;
|
||||
IConfigurableComponent.BoolConfig[] bools = confComp.getBooleanOptions();
|
||||
boolButtons.clear();
|
||||
int componentLeft = this.guiLeft+5;
|
||||
int componentTop = this.guiTop+5;
|
||||
for (int i = 0;i<bools.length;i++) {
|
||||
IConfigurableComponent.BoolConfig bc = bools[i];
|
||||
//TODO check whether ID==0 is a bad thing when using custom button lists
|
||||
boolButtons.add(new GuiButtonCheckbox(0, guiLeft + bc.x, guiTop + bc.y, confComp.fomatConfigName(IConfigurableComponent.ConfigType.BOOL, i), bc.value));
|
||||
boolButtons.add(new GuiButtonCheckbox(0, componentLeft + bc.x, componentTop + bc.y, confComp.fomatConfigName(IConfigurableComponent.ConfigType.BOOL, i), bc.value));
|
||||
}
|
||||
IConfigurableComponent.StringConfig[] strings = confComp.getStringOptions();
|
||||
stringTexts.clear();
|
||||
for (IConfigurableComponent.StringConfig sc : strings) {
|
||||
GuiTextField toAdd = new GuiTextField(0, mc.fontRendererObj, guiLeft + sc.x, guiTop + sc.y, 58, 12);
|
||||
GuiTextField toAdd = new GuiTextField(0, mc.fontRendererObj, componentLeft + sc.x, componentTop + sc.y, 58, 12);
|
||||
toAdd.setText(sc.value);
|
||||
stringTexts.add(toAdd);
|
||||
}
|
||||
IConfigurableComponent.RSChannelConfig[] rs = confComp.getRSChannelOptions();
|
||||
rsChannelChoosers.clear();
|
||||
for (IConfigurableComponent.RSChannelConfig rc : rs) {
|
||||
rsChannelChoosers.add(new GuiChannelPicker(0, guiLeft + rc.x, guiTop + rc.y, 40, rc.value));
|
||||
rsChannelChoosers.add(new GuiChannelPicker(0, componentLeft + rc.x, componentTop + rc.y, 40, rc.value));
|
||||
}
|
||||
intChoosers.clear();
|
||||
IConfigurableComponent.IntConfig[] is = confComp.getIntegerOptions();
|
||||
for (IConfigurableComponent.IntConfig ic : is) {
|
||||
intChoosers.add(new GuiIntChooser(guiLeft+ic.x, guiTop+ic.y, ic.allowNegative, ic.value, ic.digits));
|
||||
intChoosers.add(new GuiIntChooser(componentLeft+ic.x, componentTop+ic.y, ic.allowNegative, ic.value, ic.digits));
|
||||
}
|
||||
floatSliders.clear();
|
||||
IConfigurableComponent.FloatConfig[] fs = confComp.getFloatOptions();
|
||||
for (int i = 0;i<fs.length;i++) {
|
||||
IConfigurableComponent.FloatConfig fc = fs[i];
|
||||
floatSliders.add(new GuiSliderIE(0, guiLeft+fc.x, guiTop+fc.y, fc.width,
|
||||
floatSliders.add(new GuiSliderIE(0, componentLeft+fc.x, componentTop+fc.y, fc.width,
|
||||
confComp.fomatConfigName(IConfigurableComponent.ConfigType.FLOAT, i), fc.value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ResourceLocation textureLoc = new ResourceLocation(IndustrialWires.MODID, "textures/gui/panel_component.png");
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
|
||||
//TODO background
|
||||
ResourceLocation textureLoc = new ResourceLocation(IndustrialWires.MODID, "textures/gui/panel_component.png");
|
||||
GlStateManager.color(1,1,1,1);
|
||||
mc.getTextureManager().bindTexture(textureLoc);
|
||||
Gui.drawModalRectWithCustomSizedTexture(guiLeft, guiTop, 0, 0, xSize, ySize, 150, 150);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -224,7 +232,7 @@ public class GuiPanelComponent extends GuiContainer {
|
|||
}
|
||||
for (int i = 0;i<floatSliders.size();i++) {
|
||||
GuiSliderIE choose = floatSliders.get(i);
|
||||
String tooltip = confComp.fomatConfigDescription(IConfigurableComponent.ConfigType.INT, i);
|
||||
String tooltip = confComp.fomatConfigDescription(IConfigurableComponent.ConfigType.FLOAT, i);
|
||||
if (tooltip!=null&&choose.isMouseOver()) {
|
||||
ClientUtils.drawHoveringText(ImmutableList.of(tooltip), mouseX, mouseY, mc.fontRendererObj);
|
||||
}
|
||||
|
|
|
@ -55,8 +55,6 @@ public class GuiPanelCreator extends GuiContainer {
|
|||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
|
||||
//TODO proper background
|
||||
textureLoc = new ResourceLocation(IndustrialWires.MODID, "textures/gui/panel_creator.png");
|
||||
GlStateManager.color(1,1,1,1);
|
||||
mc.getTextureManager().bindTexture(textureLoc);
|
||||
this.drawTexturedModalRect(guiLeft,guiTop, 0, 0, xSize, ySize);
|
||||
|
@ -121,8 +119,9 @@ public class GuiPanelCreator extends GuiContainer {
|
|||
buttonList.clear();
|
||||
int buttonTop = guiTop+62;
|
||||
buttonList.add(new GuiButton(0, guiLeft+2, buttonTop, 20, 20, "C"));
|
||||
buttonList.add(new GuiButton(1, guiLeft+2, buttonTop+22, 20, 20, "D"));
|
||||
buttonList.add(new GuiButton(1, guiLeft+2, buttonTop+22, 20, 20, "R"));
|
||||
buttonList.add(new GuiButton(2, guiLeft+2, buttonTop+44, 20, 20, "S"));
|
||||
buttonList.add(new GuiButton(3, guiLeft+2, buttonTop-54, 20, 20, "D"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -195,6 +194,9 @@ public class GuiPanelCreator extends GuiContainer {
|
|||
case 2:
|
||||
snapToGrid = !snapToGrid;
|
||||
break;
|
||||
case 3:
|
||||
nbt.setInteger("type", MessageType.DISASSEMBLE.ordinal());
|
||||
break;
|
||||
}
|
||||
if (!nbt.hasNoTags()) {
|
||||
IndustrialWires.packetHandler.sendToServer(new MessageGUIInteract(container.tile, nbt));
|
||||
|
|
|
@ -20,54 +20,56 @@ package malte0811.industrialWires.client.gui;
|
|||
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityRSPanelConn;
|
||||
import malte0811.industrialWires.client.gui.elements.GuiIntChooser;
|
||||
import malte0811.industrialWires.containers.ContainerRSPanelConn;
|
||||
import malte0811.industrialWires.network.MessageGUIInteract;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiLabel;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class GuiRSPanelConn extends GuiScreen {
|
||||
public class GuiRSPanelConn extends GuiContainer {
|
||||
private TileEntityRSPanelConn te;
|
||||
private int curr = 0;
|
||||
private GuiIntChooser chooser;
|
||||
public GuiRSPanelConn(TileEntityRSPanelConn tile) {
|
||||
super(new ContainerRSPanelConn(tile));
|
||||
te = tile;
|
||||
}
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
buttonList.clear();
|
||||
buttonList.add(new GuiButton(0, width/2-8, height/2-32, 16, 16, "+1"));
|
||||
buttonList.add(new GuiButton(1, width/2-8, height/2+32, 16, 16, "-1"));
|
||||
buttonList.add(new GuiButton(2, width/2-8, height/2+48, 16, 16, "Ok"));
|
||||
curr = te.getRsId();
|
||||
onChange();
|
||||
chooser = new GuiIntChooser((width-32)/2, (height-4)/2, false, te.getRsId(), 2);
|
||||
xSize = 64;
|
||||
ySize = 64;
|
||||
guiLeft = (width-xSize)/2;
|
||||
guiTop = (height-ySize)/2;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) throws IOException {
|
||||
super.actionPerformed(button);
|
||||
switch (button.id) {
|
||||
case 0:
|
||||
curr++;
|
||||
onChange();
|
||||
break;
|
||||
case 1:
|
||||
curr--;
|
||||
onChange();
|
||||
break;
|
||||
case 2:
|
||||
mc.displayGuiScreen(null);
|
||||
mc.setIngameFocus();
|
||||
break;
|
||||
}
|
||||
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
chooser.click(mouseX, mouseY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBackground(int tint) {
|
||||
super.drawBackground(tint);
|
||||
//TODO proper background
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||
super.drawScreen(mouseX, mouseY, partialTicks);
|
||||
GlStateManager.color(1, 1, 1, 1);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
chooser.drawChooser();
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
}
|
||||
|
||||
private ResourceLocation textureLoc = new ResourceLocation(IndustrialWires.MODID, "textures/gui/rs_wire_controller.png");
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
|
||||
GlStateManager.color(1,1,1,1);
|
||||
mc.getTextureManager().bindTexture(textureLoc);
|
||||
Gui.drawModalRectWithCustomSizedTexture(guiLeft, guiTop, 0, 0, xSize, ySize, 64, 64);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -75,14 +77,16 @@ public class GuiRSPanelConn extends GuiScreen {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGuiClosed() {
|
||||
super.onGuiClosed();
|
||||
onChange();
|
||||
}
|
||||
|
||||
private void onChange() {
|
||||
curr = Math.max(0, curr);
|
||||
labelList.clear();
|
||||
labelList.add(new GuiLabel(mc.fontRendererObj, 0, width/2-8, height/2-8, 16, 16, 0xff0000));
|
||||
labelList.get(0).addLine(Integer.toString(curr));
|
||||
if (curr!=te.getRsId()) {
|
||||
if (chooser.getValue()!=te.getRsId()) {
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setInteger("rsId", curr);
|
||||
nbt.setInteger("rsId", chooser.getValue());
|
||||
IndustrialWires.packetHandler.sendToServer(new MessageGUIInteract(te, nbt));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,8 +7,9 @@ public class GuiIntChooser extends Gui {
|
|||
private boolean allowNegative;
|
||||
private int value;
|
||||
private int xPos, yPos;
|
||||
private int xBtn;
|
||||
private int xPlus;
|
||||
private int max;
|
||||
private String format;
|
||||
private Minecraft mc = Minecraft.getMinecraft();
|
||||
public GuiIntChooser(int x, int y, boolean neg, int initialValue, int digits) {
|
||||
allowNegative = neg;
|
||||
|
@ -16,25 +17,29 @@ public class GuiIntChooser extends Gui {
|
|||
xPos = x;
|
||||
yPos = y;
|
||||
max = (int) Math.pow(10, digits)-1;
|
||||
xBtn = x+mc.fontRendererObj.getCharWidth('0')*(digits+1);
|
||||
xPlus = x+mc.fontRendererObj.getCharWidth('0')*(digits+(allowNegative?1:0))+mc.fontRendererObj.getCharWidth('-')+2;
|
||||
format = "%"+digits+"s";
|
||||
}
|
||||
public void drawChooser() {
|
||||
int color = 0xE0E0E0;
|
||||
mc.fontRendererObj.drawStringWithShadow(Integer.toString(value), xPos, yPos, color);
|
||||
//TODO nicer buttons
|
||||
mc.fontRendererObj.drawStringWithShadow("^", xBtn, yPos, color);
|
||||
mc.fontRendererObj.drawStringWithShadow("V", xBtn, yPos+mc.fontRendererObj.FONT_HEIGHT/2, color);
|
||||
String val = String.format(format, Integer.toString(value)).replace(' ', '0');
|
||||
if (value>=0&&allowNegative) {
|
||||
val = "+"+val;
|
||||
}
|
||||
mc.fontRendererObj.drawStringWithShadow(val, xPos+mc.fontRendererObj.getCharWidth('-')+1, yPos, color);
|
||||
mc.fontRendererObj.drawStringWithShadow("-", xPos, yPos, color);
|
||||
mc.fontRendererObj.drawStringWithShadow("+", xPlus, yPos, color);
|
||||
}
|
||||
|
||||
public void click(int x, int y) {
|
||||
int height = mc.fontRendererObj.FONT_HEIGHT;
|
||||
if (x>=xBtn&&x<xBtn+mc.fontRendererObj.getCharWidth('V')) {
|
||||
if (y>=yPos&&y<yPos+height/2) {
|
||||
if (value<max) {
|
||||
if (y >= yPos && y < yPos + height) {
|
||||
if (x >= xPlus && x < xPlus + mc.fontRendererObj.getCharWidth('+')) {
|
||||
if (value < max) {
|
||||
value++;
|
||||
}
|
||||
} else if (y<yPos+height&&y>=yPos+height/2) {
|
||||
if (allowNegative||value>0) {
|
||||
} else if (x >= xPos && x <= xPos + mc.fontRendererObj.getCharWidth('-')) {
|
||||
if (value > (allowNegative ? -value : 0)) {
|
||||
value--;
|
||||
}
|
||||
}
|
||||
|
@ -46,6 +51,6 @@ public class GuiIntChooser extends Gui {
|
|||
}
|
||||
|
||||
public boolean isMouseOver(int mX, int mY) {
|
||||
return mX>=xPos&&mX<xBtn+mc.fontRendererObj.getCharWidth('V')&&mY>=yPos&&mY<yPos+mc.fontRendererObj.FONT_HEIGHT;
|
||||
return mX>=xPos&&mX< xPlus +mc.fontRendererObj.getCharWidth('V')&&mY>=yPos&&mY<yPos+mc.fontRendererObj.FONT_HEIGHT;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ package malte0811.industrialWires.client.panelmodel;
|
|||
import com.google.common.cache.Cache;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.controlpanel.BlockTypes_Panel;
|
||||
import malte0811.industrialWires.blocks.controlpanel.PropertyComponents;
|
||||
import malte0811.industrialWires.blocks.controlpanel.PropertyComponents.PanelRenderProperties;
|
||||
|
@ -31,7 +30,6 @@ import net.minecraft.block.state.IBlockState;
|
|||
import net.minecraft.client.renderer.block.model.*;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -160,7 +158,6 @@ public class PanelModel implements IBakedModel {
|
|||
|
||||
}
|
||||
|
||||
private static final Item panel = new ItemStack(IndustrialWires.panel).getItem();
|
||||
private static final PanelItemOverride INSTANCE = new PanelItemOverride();
|
||||
|
||||
private static class PanelItemOverride extends ItemOverrideList {
|
||||
|
@ -175,7 +172,7 @@ public class PanelModel implements IBakedModel {
|
|||
@Nonnull
|
||||
@Override
|
||||
public IBakedModel handleItemState(@Nonnull IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) {
|
||||
if (stack != null && stack.getItem() == panel && stack.getMetadata() == BlockTypes_Panel.TOP.ordinal()) {
|
||||
if (stack != null && stack.getItem() == PanelUtils.PANEL_ITEM && stack.getMetadata() == BlockTypes_Panel.TOP.ordinal()) {
|
||||
try {
|
||||
return ITEM_MODEL_CACHE.get(stack, ()-> {
|
||||
TileEntityPanel te = new TileEntityPanel();
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
|
||||
package malte0811.industrialWires.containers;
|
||||
|
||||
import blusunrize.immersiveengineering.api.ApiUtils;
|
||||
import blusunrize.immersiveengineering.common.gui.ContainerIEBase;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator;
|
||||
import malte0811.industrialWires.controlpanel.PanelUtils;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -42,8 +42,9 @@ public class ContainerPanelCreator extends ContainerIEBase<TileEntityPanelCreato
|
|||
|
||||
@Override
|
||||
public boolean isItemValid(@Nullable ItemStack stack) {
|
||||
return ApiUtils.compareToOreName(stack, "plateIron");
|
||||
return stack != null && (ItemStack.areItemStacksEqual(stack, PanelUtils.getPanelBase()) || stack.getItem() == PanelUtils.PANEL_ITEM);
|
||||
}
|
||||
|
||||
});
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 9; j++)
|
||||
|
|
|
@ -215,17 +215,19 @@ public class IndicatorLight extends PanelComponent implements IConfigurableCompo
|
|||
@Override
|
||||
public IntConfig[] getIntegerOptions() {
|
||||
return new IntConfig[] {
|
||||
new IntConfig("rsId", 0, 45, rsInputId, 3, false)
|
||||
new IntConfig("rsId", 0, 45, rsInputId, 2, false)
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public FloatConfig[] getFloatOptions() {
|
||||
float[] color = PanelUtils.getFloatColor(true, this.colorA);
|
||||
int x = 70;
|
||||
int yOffset = 10;
|
||||
return new FloatConfig[]{
|
||||
new FloatConfig("red", 0, 70, color[0], 60),
|
||||
new FloatConfig("green", 0, 90, color[1], 60),
|
||||
new FloatConfig("blue", 0, 110, color[2], 60)
|
||||
new FloatConfig("red", x, yOffset, color[0], 60),
|
||||
new FloatConfig("green", x, yOffset+20, color[1], 60),
|
||||
new FloatConfig("blue", x, yOffset+40, color[2], 60)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -178,9 +178,9 @@ public class Label extends PanelComponent implements IConfigurableComponent {
|
|||
public FloatConfig[] getFloatOptions() {
|
||||
float[] color = PanelUtils.getFloatColor(true, this.color);
|
||||
return new FloatConfig[]{
|
||||
new FloatConfig("red", 0, 20, color[0], 60),
|
||||
new FloatConfig("green", 0, 40, color[1], 60),
|
||||
new FloatConfig("blue", 0, 60, color[2], 60)
|
||||
new FloatConfig("red", 0, 30, color[0], 60),
|
||||
new FloatConfig("green", 0, 50, color[1], 60),
|
||||
new FloatConfig("blue", 0, 70, color[2], 60)
|
||||
};
|
||||
}
|
||||
}
|
|
@ -255,21 +255,23 @@ public class LightedButton extends PanelComponent implements IConfigurableCompon
|
|||
|
||||
@Override
|
||||
public IntConfig[] getIntegerOptions() {
|
||||
return new IntConfig[]{new IntConfig("rsId", 0, 70, rsOutputId, 2, false)};
|
||||
return new IntConfig[]{new IntConfig("rsId", 0, 50, rsOutputId, 2, false)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public BoolConfig[] getBooleanOptions() {
|
||||
return new BoolConfig[]{new BoolConfig("latching", 0, 50, latching)};
|
||||
return new BoolConfig[]{new BoolConfig("latching", 0, 70, latching)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public FloatConfig[] getFloatOptions() {
|
||||
float[] color = PanelUtils.getFloatColor(true, this.color);
|
||||
int x = 70;
|
||||
int yOffset = 10;
|
||||
return new FloatConfig[]{
|
||||
new FloatConfig("red", 0, 100, color[0], 60),
|
||||
new FloatConfig("green", 0, 120, color[1], 60),
|
||||
new FloatConfig("blue", 0, 140, color[2], 60)
|
||||
new FloatConfig("red", x, yOffset, color[0], 60),
|
||||
new FloatConfig("green", x, yOffset+20, color[1], 60),
|
||||
new FloatConfig("blue", x, yOffset+40, color[2], 60)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -22,5 +22,6 @@ public enum MessageType {
|
|||
ADD,
|
||||
REMOVE,
|
||||
CREATE_PANEL,
|
||||
REMOVE_ALL;
|
||||
REMOVE_ALL,
|
||||
DISASSEMBLE;
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ package malte0811.industrialWires.controlpanel;
|
|||
|
||||
import blusunrize.immersiveengineering.api.Lib;
|
||||
import blusunrize.immersiveengineering.common.util.chickenbones.Matrix4;
|
||||
import ic2.api.item.IC2Items;
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.controlpanel.PropertyComponents.PanelRenderProperties;
|
||||
import malte0811.industrialWires.client.RawQuad;
|
||||
|
@ -30,6 +31,7 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
|||
import net.minecraft.client.renderer.vertex.VertexFormat;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@ -51,6 +53,8 @@ import static malte0811.industrialWires.controlpanel.PanelComponent.*;
|
|||
|
||||
public final class PanelUtils {
|
||||
public static TextureAtlasSprite PANEL_TEXTURE;
|
||||
public static final Item PANEL_ITEM = new ItemStack(IndustrialWires.panel).getItem();
|
||||
private static ItemStack panelBase;
|
||||
|
||||
private PanelUtils() {
|
||||
}
|
||||
|
@ -267,4 +271,11 @@ public final class PanelUtils {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemStack getPanelBase() {
|
||||
if (panelBase==null) {
|
||||
panelBase = IC2Items.getItem("resource", "machine");
|
||||
}
|
||||
return panelBase;
|
||||
}
|
||||
}
|
|
@ -278,7 +278,7 @@ public class Slider extends PanelComponent implements IConfigurableComponent {
|
|||
@Override
|
||||
public IntConfig[] getIntegerOptions() {
|
||||
return new IntConfig[] {
|
||||
new IntConfig("rsId", 0, 50, rsId, 3, false)
|
||||
new IntConfig("rsId", 0, 50, rsId, 2, false)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
"thirdperson_righthand": { "translation": [ -0.0625, 0.125, 0.1875 ], "rotation": [{ "x": 70 }, { "y": 70 }]},
|
||||
"thirdperson_lefthand": { "translation": [ -0.0625, 0.125, 0.1875 ], "rotation": [{ "x": 70 }, { "y": 70 }]},
|
||||
"fixed": {"scale": [ 2,2,2 ], "translation": [ 0, 0, 0 ], "rotation": [{ "y": -90 }]},
|
||||
"gui": { "translation": [ 0, 0.0625, 0 ], "rotation": [{ "x": 30 },{ "y": 135 },{ "z": 0 }], "scale": [ 1.5, 1.5, 1.5 ] }
|
||||
"gui": { "translation": [ 0, 0.0625, 0 ], "rotation": [{ "x": 30 },{ "y": 135 },{ "z": 0 }], "scale": [ 1.25, 1.25, 1.25 ] }
|
||||
}
|
||||
},
|
||||
"inventory,type=top": {
|
||||
|
|
|
@ -43,7 +43,7 @@ industrialwires.desc.disable_snap=Allow free placing of components
|
|||
industrialwires.desc.latching=Latching
|
||||
industrialwires.desc.latching_info=Does this button stay on indefinitely?
|
||||
industrialwires.desc.rschannel_info=The channel/color to output a signal to
|
||||
industrialwires.desc.rsid_info=The ID of the panel connector to output a signal to
|
||||
industrialwires.desc.rsid_info=The ID of the redstone wire controller to output a signal to
|
||||
industrialwires.desc.label_text=The text in this label
|
||||
industrialwires.desc.red=Red
|
||||
industrialwires.desc.green=Green
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 478 B |
Binary file not shown.
After Width: | Height: | Size: 307 B |
Loading…
Reference in a new issue