diff --git a/api/buildcraft/api/boards/BoardParameter.java b/api/buildcraft/api/boards/BoardParameter.java new file mode 100755 index 00000000..72074f86 --- /dev/null +++ b/api/buildcraft/api/boards/BoardParameter.java @@ -0,0 +1,13 @@ +/** + * Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team + * http://www.mod-buildcraft.com + * + * BuildCraft is distributed under the terms of the Minecraft Mod Public + * License 1.0, or MMPL. Please check the contents of the license located in + * http://www.mod-buildcraft.com/MMPL-1.0.txt + */ +package buildcraft.api.boards; + +public class BoardParameter { + +} diff --git a/api/buildcraft/api/boards/IRedstoneBoardNBT.java b/api/buildcraft/api/boards/IRedstoneBoardNBT.java index 524f2e45..666f3354 100755 --- a/api/buildcraft/api/boards/IRedstoneBoardNBT.java +++ b/api/buildcraft/api/boards/IRedstoneBoardNBT.java @@ -9,6 +9,7 @@ package buildcraft.api.boards; import java.util.List; +import java.util.Random; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -32,4 +33,11 @@ public interface IRedstoneBoardNBT { @SideOnly(Side.CLIENT) IIcon getIcon(NBTTagCompound nbt); + + BoardParameter[] getParameters(); + + void setParameters(BoardParameter[] parameters); + + void createRandomBoard(NBTTagCompound nbt, Random rand); + } diff --git a/buildcraft_resources/assets/buildcraft/lang/en_US.lang b/buildcraft_resources/assets/buildcraft/lang/en_US.lang index fbf6ce99..a6951529 100755 --- a/buildcraft_resources/assets/buildcraft/lang/en_US.lang +++ b/buildcraft_resources/assets/buildcraft/lang/en_US.lang @@ -1,6 +1,7 @@ # Master language file buildcraft.boardRobotPicker=Picker Program +buildcraft.boardDetail.oneParameter=One Parameter chat.pipe.power.iron.mode=Switched to %d MJ/t limit chat.pipe.power.energyConverter=Energy conversion: %s diff --git a/buildcraft_resources/assets/buildcraft/textures/gui/generic_ui.png b/buildcraft_resources/assets/buildcraft/textures/gui/generic_ui.png new file mode 100755 index 00000000..9784b1d2 Binary files /dev/null and b/buildcraft_resources/assets/buildcraft/textures/gui/generic_ui.png differ diff --git a/common/buildcraft/core/robots/boards/BoardRobotPickerNBT.java b/common/buildcraft/core/robots/boards/BoardRobotPickerNBT.java index ed80a6c5..451744cd 100755 --- a/common/buildcraft/core/robots/boards/BoardRobotPickerNBT.java +++ b/common/buildcraft/core/robots/boards/BoardRobotPickerNBT.java @@ -9,6 +9,7 @@ package buildcraft.core.robots.boards; import java.util.List; +import java.util.Random; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -17,9 +18,11 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; +import buildcraft.api.boards.BoardParameter; import buildcraft.api.boards.IRedstoneBoardRobot; import buildcraft.api.boards.IRedstoneBoardRobotNBT; import buildcraft.core.robots.EntityRobot; +import buildcraft.core.utils.NBTUtils; import buildcraft.core.utils.StringUtils; public class BoardRobotPickerNBT implements IRedstoneBoardRobotNBT { @@ -34,6 +37,12 @@ public class BoardRobotPickerNBT implements IRedstoneBoardRobotNBT { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean advanced) { list.add(StringUtils.localize("buildcraft.boardRobotPicker")); + + NBTTagCompound nbt = NBTUtils.getItemData(stack); + + if (nbt.getInteger("params") == 1) { + list.add(StringUtils.localize("buildcraft.boardDetail.oneParameter")); + } } @Override @@ -56,4 +65,24 @@ public class BoardRobotPickerNBT implements IRedstoneBoardRobotNBT { return EntityRobot.ROBOT_TRANSPORT; } + @Override + public BoardParameter[] getParameters() { + return null; + } + + @Override + public void setParameters(BoardParameter[] parameters) { + } + + @Override + public void createRandomBoard(NBTTagCompound nbt, Random rand) { + float value = rand.nextFloat(); + + if (value < 0.5) { + nbt.setInteger("params", 0); + } else { + nbt.setInteger("params", 1); + } + } + } diff --git a/common/buildcraft/silicon/boards/ImplRedstoneBoardRegistry.java b/common/buildcraft/silicon/boards/ImplRedstoneBoardRegistry.java index c74a0dec..14406eea 100755 --- a/common/buildcraft/silicon/boards/ImplRedstoneBoardRegistry.java +++ b/common/buildcraft/silicon/boards/ImplRedstoneBoardRegistry.java @@ -51,6 +51,7 @@ public class ImplRedstoneBoardRegistry extends RedstoneBoardRegistry { if (accumulatedSearch > value) { nbt.setString("id", f.boardNBT.getID()); + f.boardNBT.createRandomBoard(nbt, rand); return; } }