Inactive [MECH] ControllerBlock -Remade- v1.50 Toggle Blocks on/off with Redstone [1185]

Discussion in 'Inactive/Unsupported Plugins' started by Zero9195, Aug 30, 2011.

  1. Offline

    Zero9195

    ControllerBlock
    Toggle blocks on and off with redstone​
    Original Created by @Hell_Fire

    Moved to BukkitDev

    Download: v1.50(Jar) Latest Version: here.
    Old Versions: v1.41(Jar) ,v1.40(Jar),v1.30(Jar),v1.21(Jar),v1.20(Jar),v1.18(Jar)
    I didn't have any Problems while testing with CB1185. Please backup your Files! Just to be sure.

    Before updating to this, a BackUp of your Files is recommended. I can't promise everything works fine.
    Iron blocks can be turned into controller blocks. Drop the block down, drop a redstone wire or torch on top, switch to the type of block you want to toggle and smack the iron block with it. (Can remove redstone on top after it's been set as a ControllerBlock).

    Place those blocks down where you want them to be, you can work from multiple piles of it, where it is in the inventory doesn't matter, as long as you place the block of that type.

    Once you're done placing blocks, wack the iron block again and it'll save the block locations and ready to go. Power the block they'll disappear, remove the power and they'll appear again. Invert the control with a redstone torch on top of the block. To remove the binding, just remove the block.

    I will test this on my local Server and run it on my own Server. Link is in the Signature.
    A smallish howto of how to make blocks, and change between types. by Hell_Fire.

    And a Tutorial of how to build a auto-repairing Spleef Arena @Omen (He used Snow_Blocks as unprotected ControllerBlockType. Standard is Diamondblock).

    Another one from @Omen which shows us how to use the CBlock-moving feature (v1.41)!


    Features:
    • Redstone toggleable blocks
    Original Download by Hell_Fire (v1.18):
    Download ControllerBlock (recommend using the recommended build of craftbukkit here, previous version available below in the changelog, tested up to 733).
    NOTE: IN 1.07 CREATING CONTROLLERBLOCKS CHANGED, YOU NEED TO PUT A REDSTONE TORCH OR WIRE ON TOP OF THE BLOCK BEFORE YOU LEFT CLICK ON THE BLOCK TO CREATE. (Yes, enough people have missed this change to warrant the large bold text :p)

    Source available on GitHub!

    Some builds done with ControllerBlock:
    Treasure Quest 3 (dungeon game inside MineCraft) (by neoguy21)
    Xtreme HowTo controller blocks (by mrgreaper)
    :getout: frog animation (by Gorbachev, sup goons :V)
    gravity mob trap (by Arolathe)
    hidden staircase/entrance (by narrowtux)

    And a couple by Hell_Fire:
    Real simple on/off example/howto
    Item elevator
    Portcullis/castle gate build/howto (long >.<)

    Known Issues:
    - Duplication Bug with Sand/Torches/Gravel (Right now not solvable due to Bukkit failing in BlockPhysics)
    - Occasionally block hits/places/destroys don't register.
    - Liquids being directly controlled don't work properly. (Anyone still has this problem?)
    ChangeLog
    • v1.50
      • Added support for CrativeMode!
        • If you want to destroy a CBlock in CreativeMode, simply destroy it with anything that is not a block.
        • For creating them simply do as you always do.
      • Added "/cblock reload" for reloading the config. Works for OPs and from the console only.
      • Minor Bugfixes
    • v1.41
      • Fixed a Duplication Bug with the new moving feature.
    • v1.40
      • added the function to move CBlocks
        • Left-Click the CBlock you want to move with a Stick.
        • Right-Click the new CBlock where you want to move it to with a Stick.
    • v1.30
      • added UnprotectedBlocks
        • New part in the config (you maybe need to delete the old config)
        • Add Blocks there so they can be used with Semi Protected and Unprotected Controllerblocks.
        • Also, these Blocks can be pushed by Pistons in every ControllerBlock
    • v1.21
      • PistonProtection is now a config option.
    • v1.20
      • Pistons can't move CBlocks nor controlled blocks any more.
    • v1.18
      • Unmodified Version by Hell_Fire

    First Update is out.
    Controllerblocks won't be pulled or pushed by Pistons anymore.
    If you have any ideas for features or know some other Bugs please report them to me!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
    sinkir, Khorn and EarlyLegend like this.
  2. Offline

    Zero9195

    Really nice Video! I will add it to the OP :D
    @Omen
     
  3. Offline

    EarlyLegend

    You updating this plugin to 1060 is the best thing that has happened to me and the server I play on in a long time. For that, I thank you greatly! :D
     
    Omen likes this.
  4. Offline

    Zero9195

    @EarlyLegend
    It's nice to get good feedback :)
    Provide me with more Bugreports and I will improve it even more^^
     
    Omen likes this.
  5. Offline

    Omen

    yeah, this is probably my favorite utility/fun plugin ever. the things you can do with controlled blocks are amazing. @Zero9195 rocks for fixing this.

    here is another idea that i thought would be awesome to have in this new version.

    this was brought up in the old thread by a user and it got a bunch of replies liking the idea but hell_fire never got around to it.

    there has been so many times when i wish i had placed my block a few more blocks away. so i have to break it and re-place all of the blocks again. this isnt a needed thing, it would just be a kick ass benefit/luxury. you could maybe set up configurable item (stone hoe) to use to hit the current block, then walk to your newly placed iron block with redstone on it, and hit it to transfer the contents. basically rewrite the dat file with the new coordinates of the new ironblock.
     
  6. Offline

    Zero9195

    Thats just aweseome!
    I will try to do this, already got an Idea :)
    Though, my school starts today (it's 6 o'clock right now) adn I on't have that much time to do anything. But I will definitly try this!! Thanks!
     
  7. Offline

    shell64

    nice plugin, i use it on my server:)
     
  8. Offline

    mrvertigo27

    Thanks for your work on this!
    i know it seems silly but could you mention what permissions plugin(s) this supports in the original post?
     
  9. Offline

    Zero9195

    @mrvertigo27
    oh, ammm..... I think.... It doesn't support any permissions. But if you want I add support for one. Only problem is that I... don't reeeeally like SuperPerms (BukkitPermissions) and so I might do it for Permissions 3.x, because thats what I use on my server.
     
  10. Offline

    mrvertigo27

    @Zero9195 mind if i ask why no love for superperms? I hear this from time to time but never any rationale behind it. I'm not a plugin dev, i don't know java from mud, and am curious why people don't like what I would assume should make everyone's life much easier.
     
  11. Offline

    Zero9195

    @mrvertigo27
    Just some points I read about it and I don't like are:
    - No Group Management
    - Rather strange use of the nodes
    I really can't figer out how this system work. With Permissions, it was really easy for me to understand. but SuperPerms... No...
     
  12. Offline

    Silvo

    I use controller blocks quite A LOT (Hellfire's 1.18). Shoud I update? Even if I don't use piston near any controller block.
     
  13. Offline

    Omen

    it works great with PermissionsEx. I LOVE PermissionsEx.

    here is another bug, it was mentioned earlier but I thought it was resolved, but it has popped up again.

    How to get infinite torches.
    1. place 1 cobble stone block.
    2. create a control block with torches being controlled.
    3. place the torches all over the cobblestone block.
    4. hit the control block to finish editing with torches.
    5. destroy cobblestone.
    6. power the control block, then turn the power off.
    you will see torches drop out of thin air.
    repeat for infinite torches.


    this is also the case with sand. when it reappears, it falls to the floor, harvest and repeat for infinite sand.

    any way to patch this?
     
  14. Offline

    Zero9195

    @Silvo
    You should update, it also contains other bugfixes.
    @Omen
    The second thind is solved. You need to change a option, don't know exactly what it is right now. Look into the config. For the torch-thing, I need to take a closer look at the code and try to either prevent creating torches or to prevent the torches drop down. or maybe create flying torches :D Thanks for telling ;)
     
  15. Offline

    Omen

    It looks like I have everything set to prevent gravel/sand duplication. here is my config...maybe im overlooking something.

    Code:
    # ControllerBlock configuration file
    
    # Blank lines and lines starting with # are ignored
    # Material names can be found: http://javadoc.lukegb.com/Bukkit/d7/dd9/namespaceorg_1_1bukkit.html#ab7fa290bb19b9a830362aa88028ec80a
    
    [general]
    
    # ControllerBlockType is the material allowed of new ControllerBlocks
    # Doesn't affect already assigned ControllerBlocks
    ControllerBlockType=IRON_BLOCK
    
    # SemiProtectedControllerBlockType is the material that semi-protected
    # Controller Blocks are made from, this block will turn on in a protected
    # state, but when turned off, blocks controlled won't disappear, instead
    # they lose their protection and can be destroyed
    SemiProtectedControllerBlockType=
    
    # UnProtectedControllerBlockType is the material that unprotected
    # Controller Blocks are made from, blocks controlled by this will create
    # when turned on, but won't disappear when turned off, much like the
    # semi-protected controlled blocks, however, blocks controlled have no
    # protection against being broken even in the on state
    UnProtectedControllerBlockType=SNOW_BLOCK
    
    # QuickRedstoneCheck to false enables per-tick per-controllerblock isBlockPowered() checks
    # This is potentially laggier, but blocks can be powered like regular redstone blocks
    # If set to true, wire needs to be run on top of the controller block
    QuickRedstoneCheck=false
    
    # BlockProtectMode changes how we handle destroying controlled blocks
    # It has 3 modes:
    # protect - default, tries to prevent controlled blocks from being destroyed
    # remove - removes controlled blocks from controller if destroyed
    # none - don't do anything, this effectively makes controlled blocks dupable
    BlockProtectMode=protect
    
    # BlockPhysicsProtectMode changes how we handle changes against controlled blocks
    # It has 3 modes:
    # protect - default, stops physics interactions with controlled blocks
    # remove - removes controlled blocks from controller if changed
    # none - don't do anything, could have issues with some blocks
    BlockPhysicsProtectMode=protect
    
    # BlockFlowProtectMode changes how we handle water/lava flowing against controlled blocks
    # It has 3 modes:
    # protect - default, tries to prevent controlled blocks from being interacted
    # remove - removes controlled blocks from controller if flow event on it
    # none - don't do anything, things that drop when flowed over can be dupable
    BlockFlowProtectMode=protect
    
    # DisableEditDupeProtection set to true disables all the checks for changes while in
    # edit mode, this will make sure blocks placed in a spot will always be in that spot
    # even if they get removed by some kind of physics/flow event in the meantime
    DisableEditDupeProtection=false
    
    # PistonProtection set to true disables the ability of Pistons to move
    # ControllerBlocks or controlled Blocks.
    PistonProtection=true
    
    # MaxDistanceFromController sets how far away controlled blocks are allowed
    # to be attached and controlled to a controller block - 0 for infinte/across worlds
    MaxDistanceFromController=0
    
    # MaxControlledBlocksPerController sets how many blocks are allowed to be attached
    # to a single controller block - 0 for infinite
    MaxBlocksPerController=0
    
    # Nijikokun Permissions support
    # The nodes for permissions are:
    # controllerblock.admin - user isn't restricted by block counts or distance, able to
    #                         create/modify/destroy other users controllerblocks
    # controllerblock.create - user is allowed to setup controllerblocks
    # controllerblock.modifyOther - user is allowed to modify other users controllerblocks
    # controllerblock.destroyOther - user is allowed to destroy other users controllerblocks
    #
    # DisableNijikokunPermissions will disable any lookups against Permissions if you
    # do have it installed, but want to disable this plugins use of it anyway
    # Note: You don't have to do this, the plugin isn't dependant on Permissions
    DisableNijikokunPermissions=false
    
    # Users listed in ops.txt (op through server console) counts as an admin
    ServerOpIsAdmin=true
    
    # Everyone on the server can create new ControllerBlocks
    AnyoneCanCreate=true
    
    # Everyone can modify everyone elses ControllerBlocks
    AnyoneCanModifyOther=true
    
    # Everyone can destroy everyone elses ControllerBlocks
    AnyoneCanDestroyOther=true
     
    [adminPlayers]
    # One name per line, users listed here are admins, and can
    # create/modify/destroy all ControllerBlocks on the server
    # Block restrictions don't apply to admins
    
    [disallowed]
    # Add disallowed blocks here, one Material per line.
    # Item IDs higher than 255 are excluded automatically due to failing Material.isBlock() check
    #RED_ROSE
    #YELLOW_FLOWER
    #RED_MUSHROOM
    #BROWN_MUSHROOM
    
    [unprotected]
    # Add unprotected blocks here, one Material per line.
    # Item IDs higher than 255 are excluded automatically due to failing Material.isBlock() check
    # These Blocks ARE allowed to be pushed by Pistons and to be used with (semi) unprotected CBlocks.
    #RED_ROSE
    #YELLOW_FLOWER
    #RED_MUSHROOM
    #BROWN_MUSHROOM
    SNOW_BLOCK
    
     
  16. Offline

    Silvo

    Will do, should I delete the old config prior update or anything else I should consider? Don't want to breake and the controller block on my server.
     
  17. Offline

    Zero9195

    @Omen
    Everythings ok... I will take a look into that. But not today. I am in school the whole day, and I would love to sleep now again........................
    @Silvo
    I recommend deleting the old config if you want to use the PistonProtection and UnprotectedBlocks properly. But if you don't, it shouldn't break anything :) Just do a Backup of the files and your good to go ;)
     
  18. Offline

    randeri221

    i think that in the auto repairing sleep area u should put like on the bottom a stone pressure plate and below a redstone that leads to the clontroller block so like when ever a man falls down u restart the spleef without him but its a design not idea so bt"w awsome!
    i waited for the controller block to be updated for so long :p
     
  19. Offline

    Silvo

    Deleted old INI and pasted new ControllerBlock.jar into plugin folder (this new one is smaller! Optimized code?). All works as it must and users tell that even the controller block's respond time got better! Thank you Zero9195!
     
  20. Offline

    Zero9195

    @randeri221
    Thank You! :D
    @Silvo
    No I don't think I did something with the code, but I'm glad it's all positive for you :)
     
  21. Offline

    Omen

    youre probably aware of this but there are exception errors in bukkit 1124.

    it DOES work with 1124, just throws the following error.

    Code:
    00:59:15 [WARNING] Task of 'ControllerBlock' generated an exception
    java.lang.NullPointerException
            at net.servfire.hellfire.bukkit.ControllerBlock.Util.formatLocation(Util
    .java:37)
            at net.servfire.hellfire.bukkit.ControllerBlock.CBlock.<init>(CBlock.jav
    a:246)
            at net.servfire.hellfire.bukkit.ControllerBlock.ControllerBlock.loadData
    (ControllerBlock.java:238)
            at net.servfire.hellfire.bukkit.ControllerBlock.ControllerBlock.run(Cont
    rollerBlock.java:722)
            at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(C
    raftScheduler.java:137)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:439)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    
     
  22. Offline

    Zero9195

    @Omen
    no don't knew that one, but I didn't test it for dev-builds. I'll wait till a stable release is out and then start updating. But thanks for teling me ;)
    Also, I'm sorry I can't work on your requests by now, but school is killing me these days -_- And also, am working on a REALLY totally awesome new Server. Everyone who knows Final Fantasy 7, be aware, something epic is just round the corner ;)
     
  23. Offline

    colony88

    I have a feature request: Maybe compatibility with the WorldEdit selection wand?
     
  24. Offline

    Silvo

    Controller block was and is one of my "must" plugins. And I've been thinking to try WorldEdit too. So how IS is incompatible?
     
  25. Offline

    Zero9195

    Added to the "Think about and is to 99% sure" List :)
    Don't understand the question, but I think there are some problems. but I will give my bet to get this working. Please notice that I really don't have much time, so don't expect me to poop out thousands of updates this week ;)

    New version is out!
    You can now move ControllerBlocks to a new location!
    Just left-click the CBlock and right-click where it should move to using a Stick!
    have fun with this new Feature ;)
    @Omen

    @Omen
    Wanna make a video which shows how to move a CBlock? My Computer is too slow to make a good video in which you can actually see something, so it would be great if you could do this. I liked your last one very much ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
    colony88 likes this.
  26. Offline

    Homegamer

    I wourld really like to use WorldEdit with Controllerblocks, This would be very grate for large structures.
     
  27. Offline

    Rangeroverr

    I just wish I made this! IT IS THE BEST PLUGINS EVER!
     
  28. Offline

    Zero9195

    Thanks for the compliments.
    @Homegamer
    I will try to add this feature in one of my next updates ;)
     
  29. Offline

    Omen

    @Zero9195 Will do. Thanks for adding this! Video soon.

    I am not sure this is already a feature but can you add "owner" to controller blocks?
    This way, a user can make a controller block, and he will be the only one who can see what it controls, destroy/edit the controller block?

    We have one user who had someone else come in and erase all of his work because they didnt know what a controller block was. So if we can somehow protect the block to its original maker, that would be awesome!

    if you hit the block, and you arent the one who placed it, say "Sorry but you do not own this controller block." or something like that. Configurable too. "LockControllerBlocksToOwner" or whatever you feel is best.

    Lol I guess I should have upgraded before requesting this feature ;) AWESOME!


    Duplication bug still exists with sand and torches (only tested with those 2 materials)

    The new "move" feature has a bug too. When you move the block, your original controlled material pops out of the original controller block.

    Say my original controller block was controlling 2 torches, i place a new iron block, go to the original block and hit it with a stick, then walk to the new iron block and rightclick on it, 2 torches pop out of my original controller block. Everything was transferred but i now have 2 extra torches. Duplication abuse.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  30. Offline

    Zero9195

    @Omen
    Oh right. Now you mention it I realise thats a Bug. I thought it's the correct way of doing it xD Thank you ;)
    And the Owner thing exists since Hell_Fire's version :D

    I made a quick bugfix for the moving duplication bug. I will try to locate the other bug in the next days ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  31. Offline

    Omen

Share This Page