This mod is based on features I liked from Equivalent Exchange 2, like the destruction catalyst; the diving rods; being able to build with uncommon blocks (like mossy cobblestone); not hoarding chests full of cobblestone and dirt, just in case they're needed one day; and being able to mine ore chains using the dark matter pickaxe.
In its own way this mod will allow you to do all that, but it doesn't allow you to do some of the things that EE2 allowed you to do. Things that felt too much like cheating or that made other aspects of the game redundant - Like being able to turn 1 diamond into almost 2 stacks of bread... making that wheat farm you worked on rather useless.
How does it work?
My mod adds an item called the “Amulet of Transmutation”, which I’ll just refer to as ‘amulet’ from now on. For people familiar with EE2, an amulet essentially combines a Transmutation Tablet with a Mercurial Eye.
Amulet's are crafted with 4 iron ingots, 1 empty bucket, 1 lava bucket, 1 water bucket, 1 dirt block and 1 ender pearl.
When you ‘use’ an amulet (by right-clicking with it) it will turn the ‘target’ block (the one you’re looking at) into the ‘active’ block (the one you've selected in the amulet’s interface). This process is referred to as ‘transmutation’.
For a transmutation to be successful:
The items the target block would've dropped when destroyed must all be 'consumable'.
The amulet (after consuming the target's drops) must have enough 'matter' to create the active block.
Creating the active block must not suffocate a player or mob.
If any of these conditions are not met the transmutation will fail, and no changes will be made.
Amulet's interface
The amulet’s interface can be opened by pressing the inventory key while the amulet is in your hand or by right-clicking on the amulet while another interface is open.
The interface shows you how much matter the amulet has; allows you to consume items from your inventory; lets you change its ‘upgrades’; allows you to change the ‘active’ block to something else in the list of ‘learned’ blocks; and allows you to turn stored matter into diamonds, gold ingots or iron ingots.
When you first craft an amulet (all recipes can be found in screenshots) it will only have 32 matter and will only know how to transmute blocks into dirt. The amulet will gain matter and learn to create new blocks by consuming items. It must consume 20 of a given block before it will learn to create it – but not all blocks can be learned (like hay and watermelon). Blocks that have been partially learned will appear in the list, but you won’t be able to select them.
The amulet has a Reactivity core upgrade which gives it 7% more efficiency.
The active block (shown in green) is Block of Reactivity.
Iron ore hasn’t been learned yet, so cannot be selected.
Both Cobblestone and Block of Reactivity have blue backgrounds over their icons to show they are favourites. Pressing the 'Select next favourite block' key or the 'Select previous favourite block' key will cycle between your favourited blocks. Blocks can be favourited or unfavourited by pressing either key while the cursor is over a learned block in the amulet interface.
In 2.6 you can scroll through your favourite blocks by using your mouse wheel while sneaking. You can also mark blocks as favourites in the amulet interface by sneak+scrolling up or unmark them as favourites by sneak+scrolling down.
Item transmutation
An amulet can be used in a crafting table to transmute 8 logs to 1 iron, 8 iron to/from 1 gold, 4 gold to/from 1 diamond, 4 diamonds to/from 1 ‘Block of Stability’ and 1 iron to 10 ‘Blocks of Reactivity’.
Blocks of Stability are ingredients in the most powerful upgrades. If an amulet attempts to transmute a Block of Stability into the active block, the active block will drop as an item and the Block of Stability will not be affected. This allows them to be used as block dispensers.
Blocks of Reactivity are ingredients in most upgrades. If an amulet attempts to transmute a Block of Reactivity into itself the block will be destroyed. This allows the amulet to ‘destroy’ blocks – the first transmutation turns the target into a Block of Reactivity, the second transmutation destroys it (at no extra cost). Blocks of Reactivity will not drop any items when they are destroyed and when one Block of Reactivity is destroyed it will start a chain reaction and destroy any Blocks of Reactivity adjacent to it.
The following screenshots show 2 crafting tables open at once, this is one of the features added by Backpacks!.
Transmutation of Blocks of Stability
Transmutation of diamonds
Transmutation of gold ingots
Transmutation of iron ingots (from logs, and into blocks of reactivity)
Upgrades
An amulet has 3 slots for 'upgrades', but if any of those slots hold another amulet or a backpack, it will include any upgrades inside them.
Here are the effects of upgrades
A Block of Stability will cause the target's drops to drop instead of being consumed.
Each stack of Blocks of Reactivity will increase the amulet's recharge rate.
A book enchanted with Silk Touch, or any tool with Silk Touch will cause the target's drops to be modified by Silk Touch.
Each 'Reactivity Core' will increase the amulet's efficiency - decreasing the amount of matter wasted when creating blocks, they can also be right-clicked to enable 'dual transmutation mode'.
An 'Amulet Precharger' will cause amulets to transmute instantly (then recharge).
A 'Productivity Upgrade' will allow you to create blocks from the amulet's interface by shift+left-clicking (creates a stack) or shift+right-clicking on a learned block (saving you the trouble of placing, then mining the block).
A 'Range Upgrade' will double the range an amulet can transmute from (8 blocks, instead of 4)
A 'Surveyor Upgrade' will unlock 'Survey mode'.
A 'Chain Upgrade' will unlock 'Chain mode'.
An 'Area Upgrade' will unlock 'Area mode' and 'Fill mode'.
Having a 'Chain Upgrade' and an 'Area Upgrade' will unlock 'Confined chain mode' and 'Conversion mode'.
(Only available in creative mode) A block of Bedrock will give the amulet an instant recharge rate, and consuming a block of Bedrock within the amulet's interface will teach it to create all learnable blocks.
Reactivity Core (top) and Productivity Upgrade (bottom)
Chain upgrade (top) and Surveyor Upgrade (bottom)
Area Upgrade (top) and Range Upgrade (bottom)
Transmutation chests are crafted with an amulet surrounded by wooden planks.
Amulet prechargers are crafted with (numpad notation) a transmutation chest on 5, a block of stability on 9 and hoppers on 4, 6, 1 and 2 .
Transmutation modes
You can cycle through your amulet's unlocked modes by pressing the "Change transmutation mode" key (defaults to 'c').
Block mode - This is the default mode, the target block is transmuted to the active block.
Air mode - This is activated while sneaking in most other modes. The active block is created beside the target block, as if you had 'placed' the active block.
Chain mode - The target block and any connected blocks of the same type are transmuted. This mode costs extra matter for each additional block, and chains are limited to 27 blocks.
Area mode - The target block and all existing blocks within the area are transmuted. This costs extra matter based on how far away transmuted blocks were from the target.
Fill mode - Same as area mode, but includes air blocks.
Confined chain mode - Like chain mode, but confined to blocks within the area. This is cheaper than chain mode and is not limited to 27 blocks per chain.
Conversion mode - The target block and all blocks of the same type within the area are transmuted. This is cheaper than area mode.
Survey mode - No blocks are transmuted, instead you get a report of the average and best MPB (matter per block) for the area. This costs matter based on the survey area used. You can change the size of the survey area by sneak+scrolling or pressing the 'Select next/previous favourite block' keys.
Dual transmutation mode - Allows your left and right mouse buttons to trigger different transmutations, so left click could transmute a 3x3x3 area to glass while right click could transmute a chain into blocks of reactivity.
To change the transmutation mode for the left mouse button hold down the 'Change transmutation mode' key and click with the left mouse button. Same goes for the other keys.
The area of an area upgrade can be configured by right-clicking the upgrade within the amulet’s interface.
Right-clicking on a chain upgrade will toggle it between Strict and Wildcard modes. Strict mode will chain to any block with the same id and metadata as the target block, and Wildcard mode will chain to any block with the same id, irregardless of its metadata.
Right-clicking on a productivity upgrade will toggle between Transmute and Build modes. Transmute mode is the default behaviour and build mode inverts the effect of sneaking while in Block mode, so you don't have to sneak to place blocks, but you will have to sneak to transmute blocks.
These screenshots demonstrate the effects of each transmutation mode. The example area was reset between each transmutation and the amulet was at 100% efficiency (no matter wastage).
Example area, before any transmutations
Block mode - didn't cost any extra matter
Chain mode - cost 49 extra matter to transmute 15 blocks.
Confined chain mode - Only cost 18 extra matter to transmute 13 blocks.
Conversion mode - cost 33 extra matter to transmute 18 blocks.
Survey mode - cost 1 matter to survey a 1x1x8 area. Maximum survey area (3x3x32) costs 51 matter per survey.
Area mode - cost 104 extra matter to transmute 28 blocks, and another 92 matter to turn 4 torches (9 MPB) into stained clay (32 MPB).
Fill mode - cost 450 extra matter to transmute 125 blocks, another 92 matter for torches and another 3104 matter to create 97 stained clay blocks at 32 MPB.
Air mode - cost 32 matter to create a single stained clay block.
How to have an amulet replicate items from EE2
Divining rod – Give an amulet a surveyor upgrade and put it in “Survey mode”.
Destruction catalyst - Give an amulet an area upgrade and a block of stability (as an upgrade), set the active block to Block of Reactivity and put it in “Area mode”.
Dark matter pickaxe (area effect) – Same as destruction catalyst, just set the area upgrade to a smaller area.
Dark matter pickaxe (mining ore chains) – Give an amulet a chain upgrade and a block of stability (as an upgrade), set the active block to Block of Reactivity and put it in “Chain mode”.
Energy Condenser - Craft a transmutation chest (an amulet surrounded by wooden planks) and put the amulet in the top left slot, put what you want to create into the bottom left slot and what you want to consume into the chest area. If the target item is creatable you can take the created items out of the bottom right slot, or pipe them out of the bottom of the chest (you can pipe items into the chest from the left or right sides).
Amulet Restorer
As of Balanced Exchange 2.0.0 you can now restore lost/destroyed amulets by crafting an 'Amulet Restorer' using 4 gold ingots (corners), 1 eye of ender (middle), 1 lava bucket (left), 1 empty bucket (top), 1 water bucket (right) and a block of dirt (bottom).
Customization
Balanced Exchange has been designed to be customizable and extensible. As such you can change the MPB values of all items and blocks, and add or remove any crafting recipe.
Note: if you are playing on a server Balanced Exchange will use the MPB values and recipe definitions stored on the server.
Other settings can be found in “minecraft/config/BalancedExchange.cfg”, including options to make Blocks of Reactivity climbable like ladders and/or transparent (looks nicer, but may increase lag); you can also change the ‘power’ of some upgrades and can disable others.
The easiest way to change MPB values and recipes is to use the ingame editors.
Open an amulet interface and press CTRL+E to edit MPB values or press CTRL+R to edit recipes. You must be opped to do this.
To make a block untransmutable you can either make the items it drops inconsumable or set its 'MBP created' to -123.
After running Balanced Exchange for the first time you will find a folder in minecraft/config called MPB_values. This folder will have 2 files in it – default (version).mpb and default (version).drd. When Balanced Exchange starts it will scan this folder and read MPB values from any ‘.mpb’ file in the folder (except ‘Unassigned.mpb’, ‘Assigned.mpb’ or any default file from another version) and it will read transmutation recipes from any ‘.drd’ (dynamic recipe definition) file (except any default file from another version) – this allows you to put all the mpb values and recipes for a mod into its own separate files, or allows mod makers to provide their own.
Information about the ‘.mpb’ and ‘.drd’ file formats can be found inside the files, which can be edited using any text editor.
Pressing the ‘home’ key while an amulet’s interface is open will generate 2 example mpb files. One file – ‘Assigned.mpb’, will contain the mpb definitions of all items with mpb values, the other file – ‘Unassigned.mpb’, will only contain items that don’t have mpb values yet. Unassigned.mpb can be helpful when defining mpb values for a mod, as the names of the items are shown before their ids, so you don’t have to look up the id of each item.
Videos
Mod review by Danilus
Installation
Required Download and install Backpacks! Minecraft 1.7.10: Download version 3.0.2 from here Minecraft 1.7.2: Download version 3.0.2 from here Minecraft 1.6.4: Download version 3.0.1 from here
Modpack Usage
Feel free to include this mod in modpacks.
If you enjoy the mod leave a comment
Known bugs/issues
Targeting the edge of a target block causes blocks like logs to face a different direction when created.
This has been added as a feature. If you don’t like it you can disable it by setting ‘BorderThreshold’ to 0 in the config file.
Left click transmutation doesn't always work in 1.6.4 or in creative mode.
Minecraft/Forge doesn't have any client-side support for overriding an item's left-click action, so the client will attempt to 'dig' the target block. This can cause your transmutation progress to reset if the client thinks it has successfully broken the target block.
Amulets can’t be opened from within ‘quantum backpacks’ (from Backpacks!).
Before 2.0.0 amulets didn't support multiple players using it at once, so quantum backpacks weren't allowed to open amulets. It should be safe to allow them to again, but I can't be bothered at the moment.
Bulk transmuting blocks that take up multiple spaces (cactus, sugar cane, beds, etc.) can cause the blocks items to drop AND be consumed.
Before an amulet starts making any changes, it determines what blocks will be transmuted and what items they will drop. It then changes the blocks, one at a time; and for most blocks this works fine, but when some blocks are changed, like sugar cane or the foot of a bed, they will trigger other blocks to break and drop their items, even though the amulet may have expected to break those blocks itself and consume their items.
I have a pretty good idea of how to fix it, but it would take a while to implement and test it.
In the meantime, it just provides a slow way to generate small amounts of matter, so isn’t a big concern.
If you find a bug not listed here please post it in this thread, send me a PM or send me an email at [email protected]
Although I've tried to ensure there aren't any bugs in it there may be some I didn't find, so please make backups of your save files just in case.
Changelog
3.0.2
- Added some more error handling
3.0.1
- Annotated one of the new methods to prevent it crashing on dedicated servers
3.0.0
- Integrated BCMod into Backpacks!
- The amulet interface will now show learned blocks before semi-learned blocks
- The amulet interface will now show dispensable items after semi-learned blocks
(Clicking a dispensable item will select it in the dispenser, shift+right-click will dispense a single item and shift+left-click will dispense a stack)
2.6.4
- Added amulet_text_offset option
- Added some error handling to BCMod
2.6.3
- Fixed some problems in BCMod
2.6.2
- Changed recipe sort order to prevent metadata insensitive recipes taking precedence over metadata sensitive versions
- Improved sneak+scroll mechanics to prevent it triggering if you were sneaking before an amulet was selected
2.6.1
- Made end portal frames and some other blocks untransmutable
- You can now sneak+scroll to scroll through your favourite blocks
- You can also scroll while holding the 'Change transmutation mode' key to scroll through the transmutation modes
- Pick block, Change transmutation mode and Select next/previous favourite block keys will now default to changing the right transmutation mode/block
2.6.0
- Redesigned the amulet interface to be more compact
- Allowed learned blocks to be forgotten
- Added shading to item textures
- Fixed some color issues with the transmutation effect
- Pick block now works on grass, stairs and horizontal logs
- Stairs and logs can now be retransmuted into themselves
- Hay is no longer creatable
- [1.6.4] Allowed mpb values to exceed 32kb
- [1.7.2] Corrected the amulet restorer recipe to use ender eyes instead of ender pearls
- [1.7.2] Changed my network system to address potential memory leaks and to stop FML complaining about unhandled messages
- Overridden recipes will now be loaded in 1.6.4 and on 1.7.2 servers
- [1.6.4] The inventory tab in the item/block selector is now metadata sensitive
- [1.6.4] Fixed support for furnace recipes
2.5.2
- [1.7.2] Rearranged network handling code to stop Forge spamming about unhandled messages
2.5.1
- Allowed the inventory key to open amulets and backpacks
- Removed 'BCMod - Open Item' keybinding
- Added support for making blocks 'untransmutable' (even if their drops are consumable they can't be transmuted)
- Added a 'pick block' keybinding, allowing you to select the block you're looking at (provided its been learnt)
2.5.0
- Made BCMod a core mod, allowing backpacks and amulets to be opened from vanilla or modded guis (doing so replaces the existing gui)
- Changed the order slots are consumed in transmutation chests to avoid the same slot being consumed every time
- Made BCMod's item/block list only group items by type when the '*' is clicked
- Allowed BCMod's recipe editor to edit and create furnace/smelting recipes
- Allowed the recipe editor to be opened by non-opped players (only opped players will be able to save changes though)
- BCMod now considers players playing in Single Player to be 'opped', so they can use the recipe editor
- Recipes edited using the ingame editor are now saved per-world rather than per-profile/computer
- [1.7.2] Allowed custom recipes to repair an item's durability by adding a combineDurability tag to the output's nbt data
- [1.7.2] Improved the nbt editor for BCMod's recipe editor with a tag overview and templates
- [1.7.2] Allowed the nbt editor to be used on 'unknown items' to make custom items (an extremely powerful feature that can be used to create custom tools, weapons, armor, jetpacks, teleporters, ...) Documentation on it can be found here
- [1.7.2] BCMod will now hide sections of an items tooltip if they have a 'tooltip-filter' tag in their nbt data, allowing you to remove an items enchantments or attribute modifiers from its tooltips
- Added a config option to prevent BCMod opening its custom interfaces when right-clicking a crafting table or chest
- Added a config option to prevent crafting tables being openable from your inventory
2.4.0
- made backpacks placeable
2.3.4
- changed the order Transmutation Chests consume their contents to prevent them consuming the same slot every time
2.3.2
- fixed some problems with generating assigned.mpb and unassigned.mpb
- fixed a problem in 1.7.2 that only let you remember 1 metadata per block
2.3.1
- made all guis draw their labels using the current font and locale rather than being pre-rendered
- made the recipe editor default to showing all recipe types, instead of filtering shaped recipes
2.3.0
- updated 1.6.4 to be compatible with 1.7.2 and updated it with changes from 2.2.0
- moved the dynamic recipe system to bcmod
- added dual transmutation mode
- added precharge transmutation system
- amulets now need a full stack of reactivity blocks per upgrade level
- minimum recharge time has been lowered from 4 ticks to 3
- reduced volume of block of reactivity's breaking sound
2.2.1
- fixed a NPE when run on mcpc+ servers
- fixed a problem with adding missing items to the recipe & mpb editors
2.2.0
- changed to the new string based id system used in 1.7.2
- made all item names and messages translatable
- removed redundant options from the config files and renamed the rest
- renamed texture names
- dynamic recipes now allow the output to have custom nbt data
2.1.1
- fixed a bug with the transmutation chest's interface
- transmutation chests don't require a productivity upgrade to create learned blocks anymore
- made the mpb editor automatically save changes
2.1.0
- added the transmutation chest
- improved item creation using the amulet's item dispenser
- enabled lighting when displaying items, so blocks shouldn't look flat anymore
- integrated dispensable items into the MPB loading system as an optional 4th true/false value for each mpb definition
- the dynamic recipe system now supports shaped crafting and can be used to disable existing recipes (even vanilla recipes and most recipes from other mods)
- replaced the 'absolute direction' mode from area upgrade with a mode that allows vertical orientation
- added support for missing items, so the game shouldn't crash if you use a dynamic recipe to craft an item that doesn't exist
- added a recipe editor and an mpb editor that allow you to change crafting recipes and mpb values ingame
2.0.0
- massive overhaul to how data is saved
- lost amulets can be restored
- added permission system
- stopped the game crashing due to an incompatibility issue caused by TMI
- the amulet interface can now be opened in either half of a BCMod interface
- improved shift-clicking items into amulets
- the block an amulet can transmute by default can now be changed in config
- MPB definitions now support item/block metadata
- the item creation system now uses MPB created instead of MPB consumed
- chain upgrades can now be set to Wildcard mode by right-clicking
- productivity upgrades can now be set to Build mode by right-clicking
- bedrock blocks can now be consumed from an amulet interface to 'master' an amulet
- bedrock blocks can now be used as an upgrade to give an amulet instant recharge rate
- prevented the game crashing when you transmute over 3000 blocks at once
1.2.0
- prevented Inventory Tweaks from adding sorting buttons to BCMod interfaces
- amulets can now create diamond, gold and iron ingots from stored matter
- changed the naming system for the default mpb and drd files
- fixed an problem that would cause dedicated servers to crash
1.1.0
- Fixed issues that were preventing the mod from running on dedicated servers
- Added transmutation recipes for turning colored wool into colored dye
- Removed a persistent tooltip that appeared in the amulet's interface when using NEI
1.0.1
- Fixed the game crashing if you try to use an amulet whose area upgrade is inside a backpack
- Fixed incompatibility issue with NEI
Copyright for Balanced Exchange
This mod (plugin, a patch to Minecraft source, henceforth "Mod" or "The Mod"), by the terms of https://account.moja.../minecraft_eula is sole property of the Mod author (Brad16840, henceforth "Owner" or "The Owner"). It may be rehosted for use in any modpack containing at least 5 other mods, otherwise it may only be mirrored or reposted with advance written permission of the Owner. URL shorteners or other attempts to make money off The Owner's Mod are strictly forbidden without advance written permission.
I think your mod is Incompatible with NEI
This happens when I tried to open your GUI
---- Minecraft Crash Report ----
// I just don't know what went wrong
Time: 9/18/13 2:11 PM
Description: Exception in world tick
java.lang.NullPointerException
at net.minecraft.client.gui.inventory.GuiContainer.func_73876_c(GuiContainer.java:980)
at brad16840.common.ContainerStackGui.setScrollPos(ContainerStackGui.java:533)
at brad16840.common.ContainerStackGui.updateContainers(ContainerStackGui.java:120)
at brad16840.common.ContainerStackGui.func_73866_w_(ContainerStackGui.java:66)
at net.minecraft.client.gui.GuiScreen.func_73872_a(SourceFile:94)
at net.minecraft.client.gui.inventory.GuiContainer.func_73872_a(GuiContainer.java:99)
at net.minecraft.client.Minecraft.func_71373_a(Minecraft.java:720)
at cpw.mods.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:353)
at cpw.mods.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:334)
at cpw.mods.fml.common.network.NetworkRegistry.openLocalGui(NetworkRegistry.java:328)
at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:356)
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2471)
at cpw.mods.fml.common.network.OpenGuiPacket.execute(OpenGuiPacket.java:67)
at cpw.mods.fml.common.network.FMLNetworkHandler.handleFMLPacket(FMLNetworkHandler.java:115)
at cpw.mods.fml.common.network.FMLNetworkHandler.handlePacket250Packet(FMLNetworkHandler.java:80)
at net.minecraft.client.multiplayer.NetClientHandler.func_72501_a(NetClientHandler.java:1647)
at net.minecraft.network.packet.Packet250CustomPayload.func_73279_a(SourceFile:61)
at net.minecraft.network.MemoryConnection.func_74428_b(MemoryConnection.java:89)
at net.minecraft.client.multiplayer.NetClientHandler.func_72551_d(NetClientHandler.java:281)
at net.minecraft.client.multiplayer.WorldClient.func_72835_b(WorldClient.java:99)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1916)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:898)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
I think your mod is Incompatible with NEI
This happens when I tried to open your GUI
...
Thanks for pointing this out - I've updated BCMod to be more compatible with NEI.
You won't need to re-download Backpacks or Balanced Exchange, just BCMod.
Placing every upgrade in a Backpack then placing the backpack in the Amulet's Upgrade slots then using it was a Bad Idea ....
Also are you gonna add your own version of a Transmutation Tablet ?
java.lang.NullPointerException
at brad16840.balancedexchange.AreaUpgrade.swap(AreaUpgrade.java:136)
at brad16840.balancedexchange.AreaUpgrade.orientateArea(AreaUpgrade.java:148)
at brad16840.balancedexchange.AreaUpgrade.orientateArea(AreaUpgrade.java:131)
at brad16840.balancedexchange.TransmutationBlockPos.getTransmutationConfinedChain(TransmutationBlockPos.java:202)
at brad16840.balancedexchange.AmuletOfTransmutation.transmute(AmuletOfTransmutation.java:595)
at brad16840.balancedexchange.AmuletOfTransmutation.tryTransmute(AmuletOfTransmutation.java:497)
at brad16840.balancedexchange.AmuletOfTransmutation.func_77659_a(AmuletOfTransmutation.java:303)
at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:176)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_78769_a(PlayerControllerMP.java:428)
at net.minecraft.client.Minecraft.func_71402_c(Minecraft.java:1415)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1866)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:908)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:836)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
Placing every upgrade in a Backpack then placing the backpack in the Amulet's Upgrade slots then using it was a Bad Idea ....
Also are you gonna add your own version of a Transmutation Tablet ?
...
Whoops. I forgot to change the 'find area upgrade' function to actually look inside backpacks.
I've updated balanced exchange and it should be fixed now.
And the Amulet of Transmutation is my version of the Transmutation Tablet.
Learned blocks can be created from its interface by right-clicking on them (as long as you have a productivity upgrade installed).
Most 'items' in the game can either be farmed, smelted or crafted, and I don't want my mod to make any of those systems redundant, so the only way this mode will allow items to be created/transmuted will be through the transmutation recipes (unless somebody else has a better idea).
In Idea About item transmutation why not Drop the Item and right click it with the Amulet of transmutation and transmute that item into the Item/Block Selected make it Fill: Make Stacks, Area: More Items getting consumed/transmute, Survey: Check the Value...
Make another Upgrade that allows Item Form Transmutation
In Idea About item transmutation why not Drop the Item and right click it with the Amulet of transmutation and transmute that item into the Item/Block Selected make it Fill: Make Stacks, Area: More Items getting consumed/transmute, Survey: Check the Value...
Make another Upgrade that allows Item Form Transmutation
I think there may have been some misunderstanding over my use of the term 'item'.
When I said "the only way this mode[sic] will allow items to be created/transmuted will be through the transmutation recipes" I was referring to items that are not placeable as blocks - like tools, armor, materials and most food.
You can consume any item in your inventory that has an MPB value by putting it in the red slot at the bottom of the amulet's interface and pressing the consume button.
You should be able to see the MPB value of an item by hovering your mouse over it while the amulet's interface is open.
You can create learned blocks (in item form) by either shift+clicking to make a stack or right-clicking to make a single item, on the block's entry in the list of learned blocks. This will only be possible if you have a productivity upgrade installed and the amulet has enough matter to afford to create the item or stack.
I've been unable to load this on my MPCP Plus server. Seems some client classes are trying to be loaded on the server end.
I'm working on fixing this, but it may take a while as there is a lot of code that needs to be changed before the mods will work on a dedicated server.
Actually what I meant was instead of Recipes For Transmutation, why not transmute Matter into Item like Ingots and Dyes, I didn't meant to say Blocks in Item Form
I've been unable to load this on my MPCP Plus server. Seems some client classes are trying to be loaded on the server end.
I've fixed that issue, and my mods will now work properly on Forge-based servers.
Unfortunately, Bukkit doesn't support custom NBT tags, and it will wipe them each time you open the creative inventory - which causes backpacks, amulets and area upgrades to lose all their data.
Since MPCP plus is based on Bukkit the problem will occur on your server too. Although it doesn't seem to happen so long as you stay in survival or adventure mode.
Actually what I meant was instead of Recipes For Transmutation, why not transmute Matter into Item like Ingots and Dyes, I didn't meant to say Blocks in Item Form
At the moment you can turn matter into iron/gold/diamond ingots by creating iron/gold/diamond blocks, but it can be quite difficult to consume enough iron blocks for an amulet to actually learn how to create them - so I guess I could make the amulet's matter-count act as a button that, when clicked, would create iron/gold/diamond ingots based on how much matter you currently have.
As for dyes - I just added transmutation recipes for turning colored wool (which an amulet can create) into colored dye.
You will have to delete the old recipe definition file (default.drd) before Balanced Exchange will create the updated one.
I don't think there are many other items an amulet could create without breaking some other aspect of the game (like farming), so I'd rather not change Balanced Exchange's transmutation system just to allow it to transmute dyes and ingots.
Love the idea of this mod, put it on my private server but I am running into an issue:
10.10 10:40:49 [Server] SEVERE Reached end of stream for /24.145.87.19
10.10 10:40:31 [Multicraft] Skipped 22 lines due to rate limit (30/s)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletStack.consumeItemStacks(AmuletStack.java:572)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.dropItemStacks(AmuletOfTransmutation.java:794)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.findFreeSpace(AmuletOfTransmutation.java:758)
10.10 10:40:18 [Server] INFO java.lang.NoSuchMethodError: net.minecraft.entity.player.EntityPlayer.func_70666_h(F)Lnet/minecraft/util/Vec3;
10.10 10:40:18 [Server] SEVERE Encountered an unexpected exception NoSuchMethodError
10.10 10:40:18 [Server] INFO at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:587)
10.10 10:40:18 [Server] INFO at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:276)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:691)
10.10 10:40:18 [Server] INFO at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(SourceFile:30)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:141)
10.10 10:40:18 [Server] INFO at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:462)
10.10 10:40:18 [Server] INFO at net.minecraft.network.packet.Packet250CustomPayload.func_73279_a(SourceFile:61)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetServerHandler.func_72501_a(NetServerHandler.java:1127)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.FMLNetworkHandler.handlePacket250Packet(FMLNetworkHandler.java:84)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.NetworkRegistry.handleCustomPacket(NetworkRegistry.java:245)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.NetworkRegistry.handlePacket(NetworkRegistry.java:255)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.onPacketData(PacketHandler.java:189)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.updateAmulet(PacketHandler.java:326)
10.10 10:40:18 [Server] INFO at brad16840.common.UniqueItem.modifyItem(UniqueItem.java:165)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler$5.callback(PacketHandler.java:337)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.access$000(PacketHandler.java:24)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.handleTransmutePacket(PacketHandler.java:102)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.transmute(AmuletOfTransmutation.java:619)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletStack.consumeItemStacks(AmuletStack.java:572)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.dropItemStacks(AmuletOfTransmutation.java:794)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.findFreeSpace(AmuletOfTransmutation.java:758)
10.10 10:40:18 [Server] INFO java.lang.NoSuchMethodError: net.minecraft.entity.player.EntityPlayer.func_70666_h(F)Lnet/minecraft/util/Vec3;
10.10 10:39:39 [Server] INFO [2.0.1] Recieved client info from Xionanx
This is a 1.6.4 server running the latest version of your mod (no version number?), forge 1.6.4-9.11.1.922, and using a BLOCK OF STABILITY in the amulet.
Seems to work fine when launching the SP client, but on the server errors out.
EDIT:
May I also suggest a "Consume" mode to go with the default "Block" mode which will simply replace the target block with air and add its MPB value to the Amulet. In this way you eliminate the need to first learn block of reactivity, then put in a block of stability and convert things to reactivity then convert again to "emulate" a destruction catalyst.
Its a "cleaner" way of doing it IMO
Also, you might want of off set your MPB values in the amulet to not conflict with INVENTORY TWEAKS (a mod most people use). perhaps move the number down just enough to be under where inventory tweaks puts it icons. (that or block IT from displaying its icons on your interface)
Ahem.. I was attempting to make a value list for a certain other mod that did something similar, I may put forth an effort here to see if I can't make an alternate value list.
Love the idea of this mod, put it on my private server but I am running into an issue:
This is a 1.6.4 server running the latest version of your mod (no version number?), forge 1.6.4-9.11.1.922, and using a BLOCK OF STABILITY in the amulet.
Seems to work fine when launching the SP client, but on the server errors out.
Thanks for pointing this out. I'll try to fix it over the next few days.
The version numbers should be shown in forge's mod list (accessible by clicking the 'Mods' button in the main menu) but I'll also add the version numbers to the download description.
"Consume" mode:
The main reason I added the block of reactivity is to allow an indirect way to turn target blocks into air, as I dislike the idea of instantly destroying blocks.
But I could add a configuration option to allow amulets to create 'radiation' blocks, which are completely harmless and are essentially the same thing as air (air doesn't actually exist as a block, so can't be used in the existing transmutation system).
That would allow you to do what your "Consume" mode describes, although I'm not sure how it eliminates the need for a block of stability upgrade in order to emulate a destruction catalyst. Perhaps I missed your point.
Inventory Tweaks:
At the moment my mods are incompatible with Inventory Tweaks, and attempting to sort one of my inventories will often crash the game. So I'll also try to prevent Inventory Tweaks adding its buttons to my interfaces.
Balanced Exchange
This mod is based on features I liked from Equivalent Exchange 2, like the destruction catalyst; the diving rods; being able to build with uncommon blocks (like mossy cobblestone); not hoarding chests full of cobblestone and dirt, just in case they're needed one day; and being able to mine ore chains using the dark matter pickaxe.
In its own way this mod will allow you to do all that, but it doesn't allow you to do some of the things that EE2 allowed you to do. Things that felt too much like cheating or that made other aspects of the game redundant - Like being able to turn 1 diamond into almost 2 stacks of bread... making that wheat farm you worked on rather useless.
How does it work?
My mod adds an item called the “Amulet of Transmutation”, which I’ll just refer to as ‘amulet’ from now on. For people familiar with EE2, an amulet essentially combines a Transmutation Tablet with a Mercurial Eye.Amulet's are crafted with 4 iron ingots, 1 empty bucket, 1 lava bucket, 1 water bucket, 1 dirt block and 1 ender pearl.
When you ‘use’ an amulet (by right-clicking with it) it will turn the ‘target’ block (the one you’re looking at) into the ‘active’ block (the one you've selected in the amulet’s interface). This process is referred to as ‘transmutation’.
For a transmutation to be successful:
Amulet's interface
The amulet’s interface can be opened by pressing the inventory key while the amulet is in your hand or by right-clicking on the amulet while another interface is open.The interface shows you how much matter the amulet has; allows you to consume items from your inventory; lets you change its ‘upgrades’; allows you to change the ‘active’ block to something else in the list of ‘learned’ blocks; and allows you to turn stored matter into diamonds, gold ingots or iron ingots.
When you first craft an amulet (all recipes can be found in screenshots) it will only have 32 matter and will only know how to transmute blocks into dirt. The amulet will gain matter and learn to create new blocks by consuming items. It must consume 20 of a given block before it will learn to create it – but not all blocks can be learned (like hay and watermelon). Blocks that have been partially learned will appear in the list, but you won’t be able to select them.
The amulet has a Reactivity core upgrade which gives it 7% more efficiency.
The active block (shown in green) is Block of Reactivity.
Iron ore hasn’t been learned yet, so cannot be selected.
Both Cobblestone and Block of Reactivity have blue backgrounds over their icons to show they are favourites. Pressing the 'Select next favourite block' key or the 'Select previous favourite block' key will cycle between your favourited blocks. Blocks can be favourited or unfavourited by pressing either key while the cursor is over a learned block in the amulet interface.
In 2.6 you can scroll through your favourite blocks by using your mouse wheel while sneaking. You can also mark blocks as favourites in the amulet interface by sneak+scrolling up or unmark them as favourites by sneak+scrolling down.
Item transmutation
An amulet can be used in a crafting table to transmute 8 logs to 1 iron, 8 iron to/from 1 gold, 4 gold to/from 1 diamond, 4 diamonds to/from 1 ‘Block of Stability’ and 1 iron to 10 ‘Blocks of Reactivity’.Blocks of Stability are ingredients in the most powerful upgrades. If an amulet attempts to transmute a Block of Stability into the active block, the active block will drop as an item and the Block of Stability will not be affected. This allows them to be used as block dispensers.
Blocks of Reactivity are ingredients in most upgrades. If an amulet attempts to transmute a Block of Reactivity into itself the block will be destroyed. This allows the amulet to ‘destroy’ blocks – the first transmutation turns the target into a Block of Reactivity, the second transmutation destroys it (at no extra cost). Blocks of Reactivity will not drop any items when they are destroyed and when one Block of Reactivity is destroyed it will start a chain reaction and destroy any Blocks of Reactivity adjacent to it.
The following screenshots show 2 crafting tables open at once, this is one of the features added by Backpacks!.
Transmutation of Blocks of Stability
Transmutation of diamonds
Transmutation of gold ingots
Transmutation of iron ingots (from logs, and into blocks of reactivity)
Upgrades
An amulet has 3 slots for 'upgrades', but if any of those slots hold another amulet or a backpack, it will include any upgrades inside them.Here are the effects of upgrades
Reactivity Core (top) and Productivity Upgrade (bottom)
Chain upgrade (top) and Surveyor Upgrade (bottom)
Area Upgrade (top) and Range Upgrade (bottom)
Transmutation chests are crafted with an amulet surrounded by wooden planks.
Amulet prechargers are crafted with (numpad notation) a transmutation chest on 5, a block of stability on 9 and hoppers on 4, 6, 1 and 2 .
Transmutation modes
You can cycle through your amulet's unlocked modes by pressing the "Change transmutation mode" key (defaults to 'c').The area of an area upgrade can be configured by right-clicking the upgrade within the amulet’s interface.
Right-clicking on a chain upgrade will toggle it between Strict and Wildcard modes. Strict mode will chain to any block with the same id and metadata as the target block, and Wildcard mode will chain to any block with the same id, irregardless of its metadata.
Right-clicking on a productivity upgrade will toggle between Transmute and Build modes. Transmute mode is the default behaviour and build mode inverts the effect of sneaking while in Block mode, so you don't have to sneak to place blocks, but you will have to sneak to transmute blocks.
These screenshots demonstrate the effects of each transmutation mode. The example area was reset between each transmutation and the amulet was at 100% efficiency (no matter wastage).
Example area, before any transmutations
Block mode - didn't cost any extra matter
Chain mode - cost 49 extra matter to transmute 15 blocks.
Confined chain mode - Only cost 18 extra matter to transmute 13 blocks.
Conversion mode - cost 33 extra matter to transmute 18 blocks.
Survey mode - cost 1 matter to survey a 1x1x8 area. Maximum survey area (3x3x32) costs 51 matter per survey.
Area mode - cost 104 extra matter to transmute 28 blocks, and another 92 matter to turn 4 torches (9 MPB) into stained clay (32 MPB).
Fill mode - cost 450 extra matter to transmute 125 blocks, another 92 matter for torches and another 3104 matter to create 97 stained clay blocks at 32 MPB.
Air mode - cost 32 matter to create a single stained clay block.
How to have an amulet replicate items from EE2
Divining rod – Give an amulet a surveyor upgrade and put it in “Survey mode”.Destruction catalyst - Give an amulet an area upgrade and a block of stability (as an upgrade), set the active block to Block of Reactivity and put it in “Area mode”.
Dark matter pickaxe (area effect) – Same as destruction catalyst, just set the area upgrade to a smaller area.
Dark matter pickaxe (mining ore chains) – Give an amulet a chain upgrade and a block of stability (as an upgrade), set the active block to Block of Reactivity and put it in “Chain mode”.
Energy Condenser - Craft a transmutation chest (an amulet surrounded by wooden planks) and put the amulet in the top left slot, put what you want to create into the bottom left slot and what you want to consume into the chest area. If the target item is creatable you can take the created items out of the bottom right slot, or pipe them out of the bottom of the chest (you can pipe items into the chest from the left or right sides).
Amulet Restorer
As of Balanced Exchange 2.0.0 you can now restore lost/destroyed amulets by crafting an 'Amulet Restorer' using 4 gold ingots (corners), 1 eye of ender (middle), 1 lava bucket (left), 1 empty bucket (top), 1 water bucket (right) and a block of dirt (bottom).Customization
Balanced Exchange has been designed to be customizable and extensible. As such you can change the MPB values of all items and blocks, and add or remove any crafting recipe.Note: if you are playing on a server Balanced Exchange will use the MPB values and recipe definitions stored on the server.
Other settings can be found in “minecraft/config/BalancedExchange.cfg”, including options to make Blocks of Reactivity climbable like ladders and/or transparent (looks nicer, but may increase lag); you can also change the ‘power’ of some upgrades and can disable others.
The easiest way to change MPB values and recipes is to use the ingame editors.
Open an amulet interface and press CTRL+E to edit MPB values or press CTRL+R to edit recipes. You must be opped to do this.
To make a block untransmutable you can either make the items it drops inconsumable or set its 'MBP created' to -123.
After running Balanced Exchange for the first time you will find a folder in minecraft/config called MPB_values. This folder will have 2 files in it – default (version).mpb and default (version).drd. When Balanced Exchange starts it will scan this folder and read MPB values from any ‘.mpb’ file in the folder (except ‘Unassigned.mpb’, ‘Assigned.mpb’ or any default file from another version) and it will read transmutation recipes from any ‘.drd’ (dynamic recipe definition) file (except any default file from another version) – this allows you to put all the mpb values and recipes for a mod into its own separate files, or allows mod makers to provide their own.
Information about the ‘.mpb’ and ‘.drd’ file formats can be found inside the files, which can be edited using any text editor.
Pressing the ‘home’ key while an amulet’s interface is open will generate 2 example mpb files. One file – ‘Assigned.mpb’, will contain the mpb definitions of all items with mpb values, the other file – ‘Unassigned.mpb’, will only contain items that don’t have mpb values yet. Unassigned.mpb can be helpful when defining mpb values for a mod, as the names of the items are shown before their ids, so you don’t have to look up the id of each item.
Videos
Installation
Required Download and install Backpacks!Minecraft 1.7.10: Download version 3.0.2 from here
Minecraft 1.7.2: Download version 3.0.2 from here
Minecraft 1.6.4: Download version 3.0.1 from here
Modpack Usage
If you enjoy the mod leave a comment
Known bugs/issues
This has been added as a feature. If you don’t like it you can disable it by setting ‘BorderThreshold’ to 0 in the config file.
Left click transmutation doesn't always work in 1.6.4 or in creative mode.
Minecraft/Forge doesn't have any client-side support for overriding an item's left-click action, so the client will attempt to 'dig' the target block. This can cause your transmutation progress to reset if the client thinks it has successfully broken the target block.
Amulets can’t be opened from within ‘quantum backpacks’ (from Backpacks!).
Before 2.0.0 amulets didn't support multiple players using it at once, so quantum backpacks weren't allowed to open amulets. It should be safe to allow them to again, but I can't be bothered at the moment.
Bulk transmuting blocks that take up multiple spaces (cactus, sugar cane, beds, etc.) can cause the blocks items to drop AND be consumed.
Before an amulet starts making any changes, it determines what blocks will be transmuted and what items they will drop. It then changes the blocks, one at a time; and for most blocks this works fine, but when some blocks are changed, like sugar cane or the foot of a bed, they will trigger other blocks to break and drop their items, even though the amulet may have expected to break those blocks itself and consume their items.
I have a pretty good idea of how to fix it, but it would take a while to implement and test it.
In the meantime, it just provides a slow way to generate small amounts of matter, so isn’t a big concern.
If you find a bug not listed here please post it in this thread, send me a PM or send me an email at [email protected]
Changelog
- Added some more error handling
3.0.1
- Annotated one of the new methods to prevent it crashing on dedicated servers
3.0.0
- Integrated BCMod into Backpacks!
- The amulet interface will now show learned blocks before semi-learned blocks
- The amulet interface will now show dispensable items after semi-learned blocks
(Clicking a dispensable item will select it in the dispenser, shift+right-click will dispense a single item and shift+left-click will dispense a stack)
2.6.4
- Added amulet_text_offset option
- Added some error handling to BCMod
2.6.3
- Fixed some problems in BCMod
2.6.2
- Changed recipe sort order to prevent metadata insensitive recipes taking precedence over metadata sensitive versions
- Improved sneak+scroll mechanics to prevent it triggering if you were sneaking before an amulet was selected
2.6.1
- Made end portal frames and some other blocks untransmutable
- You can now sneak+scroll to scroll through your favourite blocks
- You can also scroll while holding the 'Change transmutation mode' key to scroll through the transmutation modes
- Pick block, Change transmutation mode and Select next/previous favourite block keys will now default to changing the right transmutation mode/block
2.6.0
- Redesigned the amulet interface to be more compact
- Allowed learned blocks to be forgotten
- Added shading to item textures
- Fixed some color issues with the transmutation effect
- Pick block now works on grass, stairs and horizontal logs
- Stairs and logs can now be retransmuted into themselves
- Hay is no longer creatable
- [1.6.4] Allowed mpb values to exceed 32kb
- [1.7.2] Corrected the amulet restorer recipe to use ender eyes instead of ender pearls
- [1.7.2] Changed my network system to address potential memory leaks and to stop FML complaining about unhandled messages
- Overridden recipes will now be loaded in 1.6.4 and on 1.7.2 servers
- [1.6.4] The inventory tab in the item/block selector is now metadata sensitive
- [1.6.4] Fixed support for furnace recipes
2.5.2
- [1.7.2] Rearranged network handling code to stop Forge spamming about unhandled messages
2.5.1
- Allowed the inventory key to open amulets and backpacks
- Removed 'BCMod - Open Item' keybinding
- Added support for making blocks 'untransmutable' (even if their drops are consumable they can't be transmuted)
- Added a 'pick block' keybinding, allowing you to select the block you're looking at (provided its been learnt)
2.5.0
- Made BCMod a core mod, allowing backpacks and amulets to be opened from vanilla or modded guis (doing so replaces the existing gui)
- Changed the order slots are consumed in transmutation chests to avoid the same slot being consumed every time
- Made BCMod's item/block list only group items by type when the '*' is clicked
- Allowed BCMod's recipe editor to edit and create furnace/smelting recipes
- Allowed the recipe editor to be opened by non-opped players (only opped players will be able to save changes though)
- BCMod now considers players playing in Single Player to be 'opped', so they can use the recipe editor
- Recipes edited using the ingame editor are now saved per-world rather than per-profile/computer
- [1.7.2] Allowed custom recipes to repair an item's durability by adding a combineDurability tag to the output's nbt data
- [1.7.2] Improved the nbt editor for BCMod's recipe editor with a tag overview and templates
- [1.7.2] Allowed the nbt editor to be used on 'unknown items' to make custom items (an extremely powerful feature that can be used to create custom tools, weapons, armor, jetpacks, teleporters, ...) Documentation on it can be found here
- [1.7.2] BCMod will now hide sections of an items tooltip if they have a 'tooltip-filter' tag in their nbt data, allowing you to remove an items enchantments or attribute modifiers from its tooltips
- Added a config option to prevent BCMod opening its custom interfaces when right-clicking a crafting table or chest
- Added a config option to prevent crafting tables being openable from your inventory
2.4.0
- made backpacks placeable
2.3.4
- changed the order Transmutation Chests consume their contents to prevent them consuming the same slot every time
2.3.2
- fixed some problems with generating assigned.mpb and unassigned.mpb
- fixed a problem in 1.7.2 that only let you remember 1 metadata per block
2.3.1
- made all guis draw their labels using the current font and locale rather than being pre-rendered
- made the recipe editor default to showing all recipe types, instead of filtering shaped recipes
2.3.0
- updated 1.6.4 to be compatible with 1.7.2 and updated it with changes from 2.2.0
- moved the dynamic recipe system to bcmod
- added dual transmutation mode
- added precharge transmutation system
- amulets now need a full stack of reactivity blocks per upgrade level
- minimum recharge time has been lowered from 4 ticks to 3
- reduced volume of block of reactivity's breaking sound
2.2.1
- fixed a NPE when run on mcpc+ servers
- fixed a problem with adding missing items to the recipe & mpb editors
2.2.0
- changed to the new string based id system used in 1.7.2
- made all item names and messages translatable
- removed redundant options from the config files and renamed the rest
- renamed texture names
- dynamic recipes now allow the output to have custom nbt data
2.1.1
- fixed a bug with the transmutation chest's interface
- transmutation chests don't require a productivity upgrade to create learned blocks anymore
- made the mpb editor automatically save changes
2.1.0
- added the transmutation chest
- improved item creation using the amulet's item dispenser
- enabled lighting when displaying items, so blocks shouldn't look flat anymore
- integrated dispensable items into the MPB loading system as an optional 4th true/false value for each mpb definition
- the dynamic recipe system now supports shaped crafting and can be used to disable existing recipes (even vanilla recipes and most recipes from other mods)
- replaced the 'absolute direction' mode from area upgrade with a mode that allows vertical orientation
- added support for missing items, so the game shouldn't crash if you use a dynamic recipe to craft an item that doesn't exist
- added a recipe editor and an mpb editor that allow you to change crafting recipes and mpb values ingame
2.0.0
- massive overhaul to how data is saved
- lost amulets can be restored
- added permission system
- stopped the game crashing due to an incompatibility issue caused by TMI
- the amulet interface can now be opened in either half of a BCMod interface
- improved shift-clicking items into amulets
- the block an amulet can transmute by default can now be changed in config
- MPB definitions now support item/block metadata
- the item creation system now uses MPB created instead of MPB consumed
- chain upgrades can now be set to Wildcard mode by right-clicking
- productivity upgrades can now be set to Build mode by right-clicking
- bedrock blocks can now be consumed from an amulet interface to 'master' an amulet
- bedrock blocks can now be used as an upgrade to give an amulet instant recharge rate
- prevented the game crashing when you transmute over 3000 blocks at once
1.2.0
- prevented Inventory Tweaks from adding sorting buttons to BCMod interfaces
- amulets can now create diamond, gold and iron ingots from stored matter
- changed the naming system for the default mpb and drd files
- fixed an problem that would cause dedicated servers to crash
1.1.0
- Fixed issues that were preventing the mod from running on dedicated servers
- Added transmutation recipes for turning colored wool into colored dye
- Removed a persistent tooltip that appeared in the amulet's interface when using NEI
1.0.1
- Fixed the game crashing if you try to use an amulet whose area upgrade is inside a backpack
- Fixed incompatibility issue with NEI
Copyright for Balanced Exchange
This mod (plugin, a patch to Minecraft source, henceforth "Mod" or "The Mod"), by the terms of https://account.moja.../minecraft_eula is sole property of the Mod author (Brad16840, henceforth "Owner" or "The Owner"). It may be rehosted for use in any modpack containing at least 5 other mods, otherwise it may only be mirrored or reposted with advance written permission of the Owner. URL shorteners or other attempts to make money off The Owner's Mod are strictly forbidden without advance written permission.
This happens when I tried to open your GUI
---- Minecraft Crash Report ----
// I just don't know what went wrong
Time: 9/18/13 2:11 PM
Description: Exception in world tick
java.lang.NullPointerException
at net.minecraft.client.gui.inventory.GuiContainer.func_73876_c(GuiContainer.java:980)
at brad16840.common.ContainerStackGui.setScrollPos(ContainerStackGui.java:533)
at brad16840.common.ContainerStackGui.updateContainers(ContainerStackGui.java:120)
at brad16840.common.ContainerStackGui.func_73866_w_(ContainerStackGui.java:66)
at net.minecraft.client.gui.GuiScreen.func_73872_a(SourceFile:94)
at net.minecraft.client.gui.inventory.GuiContainer.func_73872_a(GuiContainer.java:99)
at net.minecraft.client.Minecraft.func_71373_a(Minecraft.java:720)
at cpw.mods.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:353)
at cpw.mods.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:334)
at cpw.mods.fml.common.network.NetworkRegistry.openLocalGui(NetworkRegistry.java:328)
at cpw.mods.fml.common.network.FMLNetworkHandler.openGui(FMLNetworkHandler.java:356)
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2471)
at cpw.mods.fml.common.network.OpenGuiPacket.execute(OpenGuiPacket.java:67)
at cpw.mods.fml.common.network.FMLNetworkHandler.handleFMLPacket(FMLNetworkHandler.java:115)
at cpw.mods.fml.common.network.FMLNetworkHandler.handlePacket250Packet(FMLNetworkHandler.java:80)
at net.minecraft.client.multiplayer.NetClientHandler.func_72501_a(NetClientHandler.java:1647)
at net.minecraft.network.packet.Packet250CustomPayload.func_73279_a(SourceFile:61)
at net.minecraft.network.MemoryConnection.func_74428_b(MemoryConnection.java:89)
at net.minecraft.client.multiplayer.NetClientHandler.func_72551_d(NetClientHandler.java:281)
at net.minecraft.client.multiplayer.WorldClient.func_72835_b(WorldClient.java:99)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1916)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:898)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
Thanks for pointing this out - I've updated BCMod to be more compatible with NEI.
You won't need to re-download Backpacks or Balanced Exchange, just BCMod.
Also are you gonna add your own version of a Transmutation Tablet ?
java.lang.NullPointerException
at brad16840.balancedexchange.AreaUpgrade.swap(AreaUpgrade.java:136)
at brad16840.balancedexchange.AreaUpgrade.orientateArea(AreaUpgrade.java:148)
at brad16840.balancedexchange.AreaUpgrade.orientateArea(AreaUpgrade.java:131)
at brad16840.balancedexchange.TransmutationBlockPos.getTransmutationConfinedChain(TransmutationBlockPos.java:202)
at brad16840.balancedexchange.AmuletOfTransmutation.transmute(AmuletOfTransmutation.java:595)
at brad16840.balancedexchange.AmuletOfTransmutation.tryTransmute(AmuletOfTransmutation.java:497)
at brad16840.balancedexchange.AmuletOfTransmutation.func_77659_a(AmuletOfTransmutation.java:303)
at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:176)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_78769_a(PlayerControllerMP.java:428)
at net.minecraft.client.Minecraft.func_71402_c(Minecraft.java:1415)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1866)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:908)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:836)
at net.minecraft.client.main.Main.main(SourceFile:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
Whoops. I forgot to change the 'find area upgrade' function to actually look inside backpacks.
I've updated balanced exchange and it should be fixed now.
And the Amulet of Transmutation is my version of the Transmutation Tablet.
Learned blocks can be created from its interface by right-clicking on them (as long as you have a productivity upgrade installed).
Most 'items' in the game can either be farmed, smelted or crafted, and I don't want my mod to make any of those systems redundant, so the only way this mode will allow items to be created/transmuted will be through the transmutation recipes (unless somebody else has a better idea).
Nice work!
-Kat
If you haven't already downloaded my backpack mod you can find it here.
Make another Upgrade that allows Item Form Transmutation
I think there may have been some misunderstanding over my use of the term 'item'.
When I said "the only way this mode[sic] will allow items to be created/transmuted will be through the transmutation recipes" I was referring to items that are not placeable as blocks - like tools, armor, materials and most food.
You can consume any item in your inventory that has an MPB value by putting it in the red slot at the bottom of the amulet's interface and pressing the consume button.
You should be able to see the MPB value of an item by hovering your mouse over it while the amulet's interface is open.
You can create learned blocks (in item form) by either shift+clicking to make a stack or right-clicking to make a single item, on the block's entry in the list of learned blocks. This will only be possible if you have a productivity upgrade installed and the amulet has enough matter to afford to create the item or stack.
I'm working on fixing this, but it may take a while as there is a lot of code that needs to be changed before the mods will work on a dedicated server.
I've fixed that issue, and my mods will now work properly on Forge-based servers.
Unfortunately, Bukkit doesn't support custom NBT tags, and it will wipe them each time you open the creative inventory - which causes backpacks, amulets and area upgrades to lose all their data.
Since MPCP plus is based on Bukkit the problem will occur on your server too. Although it doesn't seem to happen so long as you stay in survival or adventure mode.
At the moment you can turn matter into iron/gold/diamond ingots by creating iron/gold/diamond blocks, but it can be quite difficult to consume enough iron blocks for an amulet to actually learn how to create them - so I guess I could make the amulet's matter-count act as a button that, when clicked, would create iron/gold/diamond ingots based on how much matter you currently have.
As for dyes - I just added transmutation recipes for turning colored wool (which an amulet can create) into colored dye.
You will have to delete the old recipe definition file (default.drd) before Balanced Exchange will create the updated one.
I don't think there are many other items an amulet could create without breaking some other aspect of the game (like farming), so I'd rather not change Balanced Exchange's transmutation system just to allow it to transmute dyes and ingots.
I already tried your latest version with 1.6.4 but it just crash, I don't know if you need a Report or not xD
Updated for 1.6.4
10.10 10:40:49 [Server] SEVERE Reached end of stream for /24.145.87.19
10.10 10:40:31 [Multicraft] Skipped 22 lines due to rate limit (30/s)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletStack.consumeItemStacks(AmuletStack.java:572)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.dropItemStacks(AmuletOfTransmutation.java:794)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.findFreeSpace(AmuletOfTransmutation.java:758)
10.10 10:40:18 [Server] INFO java.lang.NoSuchMethodError: net.minecraft.entity.player.EntityPlayer.func_70666_h(F)Lnet/minecraft/util/Vec3;
10.10 10:40:18 [Server] SEVERE Encountered an unexpected exception NoSuchMethodError
10.10 10:40:18 [Server] INFO at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:484)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:587)
10.10 10:40:18 [Server] INFO at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:276)
10.10 10:40:18 [Server] INFO at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:691)
10.10 10:40:18 [Server] INFO at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(SourceFile:30)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:141)
10.10 10:40:18 [Server] INFO at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:462)
10.10 10:40:18 [Server] INFO at net.minecraft.network.packet.Packet250CustomPayload.func_73279_a(SourceFile:61)
10.10 10:40:18 [Server] INFO at net.minecraft.network.NetServerHandler.func_72501_a(NetServerHandler.java:1127)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.FMLNetworkHandler.handlePacket250Packet(FMLNetworkHandler.java:84)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.NetworkRegistry.handleCustomPacket(NetworkRegistry.java:245)
10.10 10:40:18 [Server] INFO at cpw.mods.fml.common.network.NetworkRegistry.handlePacket(NetworkRegistry.java:255)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.onPacketData(PacketHandler.java:189)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.updateAmulet(PacketHandler.java:326)
10.10 10:40:18 [Server] INFO at brad16840.common.UniqueItem.modifyItem(UniqueItem.java:165)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler$5.callback(PacketHandler.java:337)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.access$000(PacketHandler.java:24)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.PacketHandler.handleTransmutePacket(PacketHandler.java:102)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.transmute(AmuletOfTransmutation.java:619)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletStack.consumeItemStacks(AmuletStack.java:572)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.dropItemStacks(AmuletOfTransmutation.java:794)
10.10 10:40:18 [Server] INFO at brad16840.balancedexchange.AmuletOfTransmutation.findFreeSpace(AmuletOfTransmutation.java:758)
10.10 10:40:18 [Server] INFO java.lang.NoSuchMethodError: net.minecraft.entity.player.EntityPlayer.func_70666_h(F)Lnet/minecraft/util/Vec3;
10.10 10:39:39 [Server] INFO [2.0.1] Recieved client info from Xionanx
This is a 1.6.4 server running the latest version of your mod (no version number?), forge 1.6.4-9.11.1.922, and using a BLOCK OF STABILITY in the amulet.
Seems to work fine when launching the SP client, but on the server errors out.
EDIT:
May I also suggest a "Consume" mode to go with the default "Block" mode which will simply replace the target block with air and add its MPB value to the Amulet. In this way you eliminate the need to first learn block of reactivity, then put in a block of stability and convert things to reactivity then convert again to "emulate" a destruction catalyst.
Its a "cleaner" way of doing it IMO
Also, you might want of off set your MPB values in the amulet to not conflict with INVENTORY TWEAKS (a mod most people use). perhaps move the number down just enough to be under where inventory tweaks puts it icons. (that or block IT from displaying its icons on your interface)
Ahem.. I was attempting to make a value list for a certain other mod that did something similar, I may put forth an effort here to see if I can't make an alternate value list.
Thanks for pointing this out. I'll try to fix it over the next few days.
The version numbers should be shown in forge's mod list (accessible by clicking the 'Mods' button in the main menu) but I'll also add the version numbers to the download description.
"Consume" mode:
The main reason I added the block of reactivity is to allow an indirect way to turn target blocks into air, as I dislike the idea of instantly destroying blocks.
But I could add a configuration option to allow amulets to create 'radiation' blocks, which are completely harmless and are essentially the same thing as air (air doesn't actually exist as a block, so can't be used in the existing transmutation system).
That would allow you to do what your "Consume" mode describes, although I'm not sure how it eliminates the need for a block of stability upgrade in order to emulate a destruction catalyst. Perhaps I missed your point.
Inventory Tweaks:
At the moment my mods are incompatible with Inventory Tweaks, and attempting to sort one of my inventories will often crash the game. So I'll also try to prevent Inventory Tweaks adding its buttons to my interfaces.