1.2.3 : beta 1.4_01 compatible version.
1.2.2 : beta 1.4 compatible version.
1.2.1 : added a configuration file which allows you to change the blocks' ids and to change the center item of the recipe.
1.2 : beta 1.3_01 compatible version, and several small improvements have been added.
1.01 : new Controller recipe.
What is the ControllerBlock mod ?
This mod was created by Sunrise_78, I just updated it to the latest Minecraft version.
Basically, this mod creates 2 blocks : Changer, which has two states, and Controller, which controls these states, depending on whether or not it is powered (with redstone dust).
For example, if a Controller is powered, some of its Changers can change to dirt or stone, depending of the player's choice, and can change to cloth or disappear if the Controller is unpowered.
When a Controller block is created and placed on the floor, it creates 25 Changer blocks.
Here are the Controller and the Changer menus :
If you don't understand this description, check the 'How to use it ?' section :wink.gif:
How to install it ?
Quote from CyborgDragon »
Windows:
1) Open up %appdata%, if you don't know how to do this, start>run, then type in %appdata%
2) Browse to .minecraft/bin
3) Open up minecraft.jar with WinRAR or 7zip.
4) Drag and drop the necessary files into the jar.
5) Delete the META-INF folder in the jar.
6) Run Minecraft, enjoy!
Macintosh:
1) Go to Applications>Utilities and open terminal.
2) Type in the following, line by line:
cd ~
mkdir mctmp
cd mctmp
jar xf ~/Library/Application\ Support/minecraft/bin/minecraft.jar
3) Outside of terminal, copy the class files into the mctmp directory.
4) Back inside terminal, type in the following:
rm META-INF/MOJANG_C.*
jar uf ~/Library/Application\ Support/minecraft/bin/minecraft.jar ./
cd ..
rm -rf mctmp
5) Run Minecraft, enjoy!
How to use it ?
Here is a video tutorial made by gudenau (thank you !)
Here is the recipe of the Controller block :
( = redstone dust)
Here are the explanations from the author of this mod :
Quote from Sunrise_78 »
Explanations :
1_) Put the Controller Block On the floor
2_) When you right click it, 25 Changing blocks are offered to you
3_) Now, you can place anywhere you want from 1 to 25 changing blocs in a radius of 32 blocs near the Controller Block
4_) Right click one of those blocks and put one block in each slot depending what you want to do (leave blank if you want air)
5_) When you are done, double left click the Controller Block!
6_) Power or unpower the Controller Bloc to see the result
Note : You can set up only one Controller Block at a time! (But as soon as you double click, the block is set up and you can do it again !)
If you destroy some Changing Block when the Controller Block is ready, at the next change state, your controller Block will break and be turn into Gravel !
You can put lava bucket, water bucket and if you want changing blocks that spawn water, lava or fire!
There are many videos about this mod in its original thread.
NEW !
I tried to make a banner for the mod, what do you think about this ?
@Jstar dude my PCs internet is dead, it doesnt work im using my brothers laptop now, i cant download ur mod, also my bro maby will buy cool motherboard so our pc will be cooler i cant reply you. Cya maby next week when my internet hopefully will work!
Hey Are You jack from techlet'splays? if so i love ur vids.
Something I personally discovered (Others might know of it, but I havent seen anyone post) a way of linking changers without loads of redstone and repeaters trailing about. Or Wireless redstone power.
I needed to power 6 controller blocks that were no where near each other from 1 switch. What i did was make a controller and placed a changer (redstone torch when powered, stone unpowered) next to each of the 6 controllers i needed to power.
Finalised the controller, added a switch, and now i have remote redstone wiring, or wireless power with controller blocks. Also when i take the changers out of those 6 controller blocks I needed to power originally, I could save 1 of the 25 and do the same. You could create whole networks that could leap frog past the distance from controller restriction.
Easy example would be turning on all the lights in a skyscraper at once, with each controller only needing 2 spaces for itself and the changer(redstone torch).
Big discovery for me, has made most my wiring obsolete now. Thought I'd mention for those that weren't aware.
Wow, I never thought to do this before. It's genius!
Replaced the glass changer i accidentily mined out, flipped the switch, good as new. When did this happen?! Wish I'd known about this sooner, great function.
...
I needed to power 6 controller blocks that were no where near each other from 1 switch. What i did was make a controller and placed a changer (redstone torch when powered, stone unpowered) next to each of the 6 controllers i needed to power.
Those were both me. I turned off the gravel-ing of controller blocks when I was testing my big refactor (it kept erroneously gravelling them due to bugs in my refactor), and it worked so well like that (nothing changes until you put everything back, then it starts working again) that I made it the default behaviour, although I made it a switchable option in the controllerBlock.properties file for folks who liked the old behaviour.
I also added support for redstone dust and redstone torches in changing blocks, because I wanted to have two switches in different parts of my house to turn on/off the defences. An XOR redstone circuit takes up a lot of room, but if you have one switch control a single changing block at the back of the other switch, toggling between a redstone torch and redstone wire, presto, one switch reverses the output of the other - XOR!
Have you noticed that if there's more than one possible wall for the redstone torch to attach to, you can control the orientation it appears in by putting a regular coal torch above or below the changing block pointing the way you want it to go?
Rollback Post to RevisionRollBack
Check out my Minecraft Mod Manager, before official modding support makes it redundant in a few weeks. Better late than never!
Update: Here are the 1.5_01 Compile Errors. I'll Attempt to fix what ever I can.
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:12: net.minecraft.src.mod_ControllerBlock is not abstract and does not override abstract method openGUI(fm,java.lang.Object) in controllerBlock.ModGuiInterface
public class mod_ControllerBlock extends BaseMod
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:22: cannot find symbol
symbol : variable field_27621_CenterItemID
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27621_CenterItemID = Integer.parseInt(properties.getProperty("CenterItemID", "331"));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:23: cannot find symbol
symbol : variable field_27617_ControllerNonActivated
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27617_ControllerNonActivated = Integer.parseInt(properties.getProperty("ControllerNonActivatedID", "105"));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:24: cannot find symbol
symbol : variable field_27618_ControllerActivatedOn
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27618_ControllerActivatedOn = Integer.parseInt(properties.getProperty("ControllerActivatedOnID", "106"));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:25: cannot find symbol
symbol : variable field_27620_ControllerActivatedOff
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27620_ControllerActivatedOff = Integer.parseInt(properties.getProperty("ControllerActivatedOffID", "107"));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:26: cannot find symbol
symbol : variable field_27619_Changer
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27619_Changer = Integer.parseInt(properties.getProperty("ChangerID", "108"));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:32: cannot find symbol
symbol : variable field_27617_ControllerNonActivated
location: class controllerBlock.ControllerBlockConfig
controllerBlockSettingUp = (new Controller(ControllerBlockConfig.field_27617_ControllerNonActivated, 41)).a("Controller");
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:32: cannot find symbol
symbol : method a(java.lang.String)
location: class controllerBlock.Controller
controllerBlockSettingUp = (new Controller(ControllerBlockConfig.field_27617_ControllerNonActivated, 41)).a("Controller");
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:33: cannot find symbol
symbol : variable field_27618_ControllerActivatedOn
location: class controllerBlock.ControllerBlockConfig
controllerBlockOn = new Controller(ControllerBlockConfig.field_27618_ControllerActivatedOn, 41);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:33: incompatible types
found : controllerBlock.Controller
required: net.minecraft.src.TextureFlamesFX
controllerBlockOn = new Controller(ControllerBlockConfig.field_27618_ControllerActivatedOn, 41);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:34: cannot find symbol
symbol : variable field_27620_ControllerActivatedOff
location: class controllerBlock.ControllerBlockConfig
controllerBlockOff = new Controller(ControllerBlockConfig.field_27620_ControllerActivatedOff, 41);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:34: incompatible types
found : controllerBlock.Controller
required: net.minecraft.src.TextureFlamesFX
controllerBlockOff = new Controller(ControllerBlockConfig.field_27620_ControllerActivatedOff, 41);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:35: cannot find symbol
symbol : variable field_27619_Changer
location: class controllerBlock.ControllerBlockConfig
changingBlock = (new Changer(ControllerBlockConfig.field_27619_Changer, 78)).a("Changer");
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:35: cannot find symbol
symbol : method a(java.lang.String)
location: class controllerBlock.Changer
changingBlock = (new Changer(ControllerBlockConfig.field_27619_Changer, 78)).a("Changer");
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:37: cannot find symbol
symbol : method RegisterBlock(net.minecraft.src.TextureFlamesFX,java.lang.Class<net.minecraft.src.EntityCow>)
location: class net.minecraft.src.ModLoader
ModLoader.RegisterBlock(controllerBlockSettingUp, EntityCow.class);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:38: cannot find symbol
symbol : method RegisterBlock(net.minecraft.src.TextureFlamesFX,java.lang.Class<net.minecraft.src.EntityCow>)
location: class net.minecraft.src.ModLoader
ModLoader.RegisterBlock(controllerBlockOn, EntityCow.class);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:39: cannot find symbol
symbol : method RegisterBlock(net.minecraft.src.TextureFlamesFX,java.lang.Class<net.minecraft.src.EntityCow>)
location: class net.minecraft.src.ModLoader
ModLoader.RegisterBlock(controllerBlockOff, EntityCow.class);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:40: cannot find symbol
symbol : method RegisterBlock(net.minecraft.src.TextureFlamesFX,java.lang.Class<net.minecraft.src.EntityCow>)
location: class net.minecraft.src.ModLoader
ModLoader.RegisterBlock(changingBlock, EntityCow.class);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:43: net.minecraft.src.IInvBasic is abstract; cannot be instantiated
ModLoader.AddRecipe(new IInvBasic(controllerBlockSettingUp, 1), new Object[] {
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:44: cannot find symbol
symbol : variable m
location: class net.minecraft.src.EntitySkeleton
"XXX", "X#X", "XXX", Character.valueOf('X'), EntitySkeleton.m, Character.valueOf('#'), EntitySkeleton.attackStrength[ControllerBlockConfig.field_27621_CenterItemID]
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:44: non-static variable attackStrength cannot be referenced from a static context
"XXX", "X#X", "XXX", Character.valueOf('X'), EntitySkeleton.m, Character.valueOf('#'), EntitySkeleton.attackStrength[ControllerBlockConfig.field_27621_CenterItemID]
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:44: cannot find symbol
symbol : variable field_27621_CenterItemID
location: class controllerBlock.ControllerBlockConfig
"XXX", "X#X", "XXX", Character.valueOf('X'), EntitySkeleton.m, Character.valueOf('#'), EntitySkeleton.attackStrength[ControllerBlockConfig.field_27621_CenterItemID]
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:44: array required, but int found
"XXX", "X#X", "XXX", Character.valueOf('X'), EntitySkeleton.m, Character.valueOf('#'), EntitySkeleton.attackStrength[ControllerBlockConfig.field_27621_CenterItemID]
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:46: cannot find symbol
symbol : variable field_27601_modGuiInterface
location: class controllerBlock.ControllerData
ControllerData.field_27601_modGuiInterface = this;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:51: cannot find symbol
symbol : variable field_27617_ControllerNonActivated
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27617_ControllerNonActivated = 105;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:52: cannot find symbol
symbol : variable field_27618_ControllerActivatedOn
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27618_ControllerActivatedOn = 106;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:53: cannot find symbol
symbol : variable field_27620_ControllerActivatedOff
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27620_ControllerActivatedOff = 107;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:54: cannot find symbol
symbol : variable field_27619_Changer
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27619_Changer = 108;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:55: cannot find symbol
symbol : variable field_27621_CenterItemID
location: class controllerBlock.ControllerBlockConfig
ControllerBlockConfig.field_27621_CenterItemID = 331;
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:65: OpenGUI(net.minecraft.src.EntityPlayer,net.minecraft.src.GuiScreen) in net.minecraft.src.ModLoader cannot be applied to (net.minecraft.src.WorldGenCactus,net.minecraft.src.IChunkProvider)
ModLoader.OpenGUI(worldgencactus, getGuiScreen(worldgencactus, obj));
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:72: cannot find symbol
symbol : method func_27599_c_(int)
location: class controllerBlock.ControllerData
if(((ControllerData)obj).func_27599_c_(0) != null)
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:74: cannot find symbol
symbol : method func_27599_c_(int)
location: class controllerBlock.ControllerData
if(((ControllerData)obj).func_27599_c_(0).c == ControllerBlockConfig.field_27619_Changer)
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:74: cannot find symbol
symbol : variable field_27619_Changer
location: class controllerBlock.ControllerBlockConfig
if(((ControllerData)obj).func_27599_c_(0).c == ControllerBlockConfig.field_27619_Changer)
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:76: cannot find symbol
symbol : variable f
location: class net.minecraft.src.WorldGenCactus
return new ControllerInterface(worldgencactus.f, (ControllerData)obj);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:76: incompatible types
found : controllerBlock.ControllerInterface
required: net.minecraft.src.IChunkProvider
return new ControllerInterface(worldgencactus.f, (ControllerData)obj);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:79: cannot find symbol
symbol : constructor ChangerInterface(net.minecraft.src.WorldGenCactus,controllerBlock.ControllerData)
location: class controllerBlock.ChangerInterface
return new ChangerInterface(worldgencactus, (ControllerData)obj);
^
sources/minecraft/net/minecraft/src/mod_ControllerBlock.java:83: cannot find symbol
symbol : constructor ChangerInterface(net.minecraft.src.WorldGenCactus,controllerBlock.ControllerData)
location: class controllerBlock.ChangerInterface
return new ChangerInterface(worldgencactus, (ControllerData)obj);
^
37 errors
> . < i cant get Controllerblok working with Portalgun Mod. They kee conflicting and i dont know how to fix. Ive tryed Editing the Item codes in there properties but nothing workz. Can anybody help?
To you sir.
You can change the ID's in ControllerBlock.properties
just quote and take away this text
Hey Are You jack from techlet'splays? if so i love ur vids.
CSTGameServers.com
before:
after:
CSTGameServers.com
Dude most of the modders are waiting on MCP to update before they can do anything so chillax.
Wow, I never thought to do this before. It's genius!
Could this mod get updated any time soon?
This is my favorite mod, and pretty much all of my saves rely on it
Modloader =/= MCP
Those were both me. I turned off the gravel-ing of controller blocks when I was testing my big refactor (it kept erroneously gravelling them due to bugs in my refactor), and it worked so well like that (nothing changes until you put everything back, then it starts working again) that I made it the default behaviour, although I made it a switchable option in the controllerBlock.properties file for folks who liked the old behaviour.
I also added support for redstone dust and redstone torches in changing blocks, because I wanted to have two switches in different parts of my house to turn on/off the defences. An XOR redstone circuit takes up a lot of room, but if you have one switch control a single changing block at the back of the other switch, toggling between a redstone torch and redstone wire, presto, one switch reverses the output of the other - XOR!
Have you noticed that if there's more than one possible wall for the redstone torch to attach to, you can control the orientation it appears in by putting a regular coal torch above or below the changing block pointing the way you want it to go?
Update: Here are the 1.5_01 Compile Errors. I'll Attempt to fix what ever I can.
Do you have added the gui folder to minecraft.jar ?
I both used a controller block that was already crafted in that save, and crafted a fresh one. All seemed to work without a problem.
I installed it using the new method for ModLoader - I just dropped the ControllerBlock zip into ModLoader's .minecraft/mods folder.