diff --git a/src/main/java/malte0811/industrialWires/client/ClientProxy.java b/src/main/java/malte0811/industrialWires/client/ClientProxy.java index a114e18..9d3c0c3 100644 --- a/src/main/java/malte0811/industrialWires/client/ClientProxy.java +++ b/src/main/java/malte0811/industrialWires/client/ClientProxy.java @@ -179,6 +179,7 @@ public class ClientProxy extends CommonProxy { ); } Config.manual_doubleA.put("iwJacobsUsage", IWConfig.HVStuff.jacobsUsageEU); + Config.manual_int.put("iwKeysOnRing", IWConfig.maxKeysOnRing); m.addEntry("industrialwires.jacobs", "industrialwires", new ManualPages.CraftingMulti(m, "industrialwires.jacobs0", new ItemStack(IndustrialWires.jacobsLadder, 1, 0), new ItemStack(IndustrialWires.jacobsLadder, 1, 1), new ItemStack(IndustrialWires.jacobsLadder, 1, 2)), new ManualPages.Text(m, "industrialwires.jacobs1")); @@ -211,6 +212,7 @@ public class ClientProxy extends CommonProxy { new ManualPages.Text(m, "industrialwires.toggle_switch1"), new ManualPages.Crafting(m, "industrialwires.variac", new ItemStack(IndustrialWires.panelComponent, 1, 4)), new ManualPages.CraftingMulti(m, "industrialwires.lock", new ItemStack(IndustrialWires.panelComponent, 1, 7), new ItemStack(IndustrialWires.key)), + new ManualPages.Crafting(m, "industrialwires.lock1", new ItemStack(IndustrialWires.key, 1, 2)), new ManualPages.Crafting(m, "industrialwires.panel_meter", new ItemStack(IndustrialWires.panelComponent, 1, 8)) ); } diff --git a/src/main/java/malte0811/industrialWires/crafting/RecipeKeyRing.java b/src/main/java/malte0811/industrialWires/crafting/RecipeKeyRing.java index 0edfdb2..a83788d 100644 --- a/src/main/java/malte0811/industrialWires/crafting/RecipeKeyRing.java +++ b/src/main/java/malte0811/industrialWires/crafting/RecipeKeyRing.java @@ -113,6 +113,8 @@ public class RecipeKeyRing extends IForgeRegistryEntry.Impl implements keys.removeTag(keys.tagCount()-1); if (keys.tagCount() > 0) { NBTTagCompound first = keys.getCompoundTagAt(0); + keys.removeTag(0); + keys.appendTag(first); nbt.setInteger(LOCK_ID, first.getInteger(LOCK_ID)); nbt.setString(NAME, first.getString(NAME)); } else { @@ -146,7 +148,7 @@ public class RecipeKeyRing extends IForgeRegistryEntry.Impl implements if (addToRing) { return hasKey&&hasRing; } else { - return hasKey&&!hasRing; + return !hasKey&&hasRing; } } diff --git a/src/main/java/malte0811/industrialWires/items/ItemKey.java b/src/main/java/malte0811/industrialWires/items/ItemKey.java index cf48bde..607136a 100644 --- a/src/main/java/malte0811/industrialWires/items/ItemKey.java +++ b/src/main/java/malte0811/industrialWires/items/ItemKey.java @@ -20,6 +20,7 @@ package malte0811.industrialWires.items; import malte0811.industrialWires.IndustrialWires; import net.minecraft.client.resources.I18n; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -33,6 +34,8 @@ import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.GameRegistry; import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; public class ItemKey extends Item implements INetGUIItem { public static final String LOCK_ID = "lockId"; @@ -59,6 +62,17 @@ public class ItemKey extends Item implements INetGUIItem { return super.getItemStackDisplayName(stack); } + @Override + public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flagIn) { + super.addInformation(stack, worldIn, tooltip, flagIn); + if (stack.getMetadata()==2&&stack.getTagCompound()!=null) { + NBTTagList keys = stack.getTagCompound().getTagList(RING_KEYS, 10); + for (int i = 0;i< keys.tagCount()-1;i++) { + tooltip.add(I18n.format("item."+IndustrialWires.MODID+".key.key_named.name")+" "+keys.getCompoundTagAt(i).getString(NAME)); + } + } + } + @Override public void getSubItems(@Nonnull CreativeTabs tab, @Nonnull NonNullList subItems) { if (isInCreativeTab(tab)) { diff --git a/src/main/resources/assets/industrialwires/lang/en_US.lang b/src/main/resources/assets/industrialwires/lang/en_US.lang index 9e145e5..e88b505 100644 --- a/src/main/resources/assets/industrialwires/lang/en_US.lang +++ b/src/main/resources/assets/industrialwires/lang/en_US.lang @@ -142,4 +142,5 @@ ie.manual.entry.industrialwires.toggle_switch=A switch to turn a signal on or of ie.manual.entry.industrialwires.toggle_switch1=the switch. The color of the cover can be configured. ie.manual.entry.industrialwires.variac=A VariacĀ® is a variable autotransformer. The output signal of the transformer increases as the knob is turned to the right. The signal strenght can only be increased by one unit per click. ie.manual.entry.industrialwires.lock=A lock switch activates a redstone signal when a key is inserted and turned. A newly crafted lock will have a unique key configuration. By placing a blank key and a lock in a crafting table a key for the lock can be created. Multiple locks fitting the same key can be created using component copying (see page 1). Keys can be named in a GUI opened by right-clicking with them. +ie.manual.entry.industrialwires.lock1=Up to can be combined on a key ring. Keys are added to the ring by placing both in a crafting table. Shift-right-click the key ring to cycle through the keys on the ring. The selected key can be removed from the ring by placing the ring in a crafting table. The key ring will work just as the selected key would on lock switches. ie.manual.entry.industrialwires.panel_meter=A panel meter can be used to show display analog redstone signals with some accuracy. Panel meters are available in two different formats, wide and narrow. The wide format gives a slightly bigger angle between redstone level 0 and 15, but is more typical for Multimeters that for panel meters. \ No newline at end of file