Inactive [MECH] ControllerBlock v1.18 - Toggle blocks on/off with redstone [740]

Discussion in 'Inactive/Unsupported Plugins' started by Hell_Fire, Jan 24, 2011.

  1. Offline

    Hell_Fire

    ControllerBlock - Toggle blocks on and off with redstone

    I've stopped work on this plugin due to other work, please see Zero9195s continuation of this plugin here: http://forums.bukkit.org/threads/34394/

    Pretty simple, there was a version of this for hmod, so the inspiration comes from that.

    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 appear, remove the power and they'll disappear again. Invert the control with a redstone torch on top of the block. To remove the binding, just remove the block.

    Source is included in the .jar file in case I disappear. Tested on my local server but other than that, not much else. Sure you guys will find me bugs :)

    A smallish howto of how to make blocks, and change between types.


    Features:
    • Redstone toggleable blocks
    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 now also available up on GitHub! https://github.com/Hell-Fire/ControllerBlock

    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 me:
    Real simple on/off example/howto
    Item elevator
    Portcullis/castle gate build/howto (long >.<)

    Known Issues:
    - Placing a block in snow/flowing water/lava doesn't register.
    - Occasionally block hits/places/destroys don't register.
    - Liquids being directly controlled don't work properly.

    Changelog:
    Version 1.18
    - Updated for craftbukkit #733
    Version 1.17
    - Fixed config loading of BlockFlowProtectMode and BlockPhysicsProtectMode
    Version 1.16
    - Fixed for changes to bukkit/craftbukkit #602
    - Changed some messages, added some config options, haven't slept much, so forgotten a bit of what's changed, find bugs! :)
    Version 1.15
    - Fixed up multiworld, also loads the data file after all the other plugins have loaded.
    Version 1.14
    - Changed world to use name instead of the ID in data file, should fix multiworld stuff when ControllerBlock loads before other multiworld initializing plugins.
    - Not much else that I recall, will be another version soon
    Version 1.13
    - New config patcher, new options get added into the ControllerBlock.ini automatically.
    - Added a whole lot of currently disabled debug lines (They're spammy... really spammy).
    - Added option to disable the edit dupe check all together.
    - Added protection against water/lava flows (and dupe checks, that are disable-able with the above new option).
    - Added ability to disable the checks against Permissions (and clones) completely, if you want to just use my inbuilt controls only (not mandatory to set if you don't have Permissions, this is in addition to, if Permissions isn't installed, it won't use it anyway).
    - Fixed Grass/Dirt and Redstone Torch On/Off in the edit dupe checks. No other blocks are coming to mind that change automatically.
    - Added a bunch of error checking on the loading of the ControllerBlock.dat, hopefully will give me some clues as to what's going on there.
    Version 1.12
    - Removed plugin constructor for craftbukkit-419+ (wasn't needed anyway)
    - Fixed Permissions mod checking stuff (haven't tested it actually works with permissions, but doesn't seem to throw any errors on loading anymore)
    Version 1.11
    - Fixed a bug that mostly affected Windows users with .dat handling (wasn't closing the file on reading, so it couldn't overwrite it when saving).
    - Added some sanity checking to reading the .dat file (empty lines ignored rather than creating null controllerblocks that make the mod unable to save).
    - Destroying a block in edit mode that has more than one controllerblock controlling it will replace the block with the type from the enabled controllerblock.
    - Destroying a controllerblock now destroys all the controlled blocks and refunds them all at the controller block itself.
    Version 1.10
    - New antidupe code, a lot more reliable!
    - Fixed permissions check (uninitialized objects are a pain :p)
    Version 1.09
    - Fixed a rather critical bug that was saving the new data format with the old identifier.
    -- (YOU ONLY NEED TO DO THIS IF YOU USED THE BUGGED 1.08) --
    If affected by this (getting NumberFormatException on loading), edit ControllerBlock.dat with a text editor and change the first line from "# v2" to "# v3" (That's <hash><space>v3).
    -- (YOU ONLY NEED TO DO THIS IF YOU USED THE BUGGED 1.08) --
    Version 1.08 - critically bugged, don't use, use 1.09 instead
    - Added a builtin permissions support, also supports Nijikokuns Permissions on top of it
    - Removing the controller block with WorldEdits superpick, and possibly any of the "stick" plugins that cancel/set to air on hit will now remove the controller block.
    - Added configurable limits on number of blocks and block distance from controllerblock (is a "sphere" around the controllerblock, rather than a cube, might add another option to change it later).
    - Probably some more random little bugfixes/refactoring, but I can't remember >.<
    Version 1.07
    - Updated for API changes (bukkit-144/145 and craftbukkit-323, tested with 326)
    - Config file format change, old config files will convert automatically
    - ControllerBlocks need a redstone "thing" (wire/torch) on top to create a ControllerBlock
    - Added per-tick, per-controllerblock .isBlockPowered() check for more natural redstone integration (power feeds into the block rather than needing wire on top), more CPU hungry, toggleable with old quick REDSTONE_CHANGE event method in config (quickRedstoneCheck=true for fast version that needs wire on top of block)
    Version 1.06
    - Updated for API change (bukkit-128/craftbukkit-281, only tested with 289)
    - Added counts on block add/remove messages
    - Added notice if a block gets removed by the anti-dupe code while editing
    Version 1.05
    - Updated for API change (bukkit 122/craftbukkit-265)
    - If you're running a version prior to this, you can still find 1.04 at here. I won't be supporting it anymore though, so any bug fixes, etc, won't find there way backported there.
    Version 1.04
    - Moved config/data to plugins/ControllerBlock (or whatever getDataFolder() is). Should make it multi-server usable as long as each server has a different plugins dir.
    - Sorted out minecart track metadata storing, this should make dynamic minecart tracks actually stay how you put them out now.
    - Stacked fences should work again now.
    - Probably some other small bugfixes that I've lost track of.
    Version 1.03
    - More refactoring
    - Inverted blocks again, blocks on when redstone wire off, reads from torches now, blocks on when redstone torch on.
    - Added some error handling in the config file loading
    - Fixed a metadata handling bug when a block has more than one controller.
    - Listen to event cancellations, no longer processes canceled events.
    - Changed a bunch of the edit mode handling, still similar to how it was, just with some nice changes (no longer need to exit editing one block to edit another, will save/finish the previous block for you).
    - Can now edit/modify ControllerBlocks that were made with a different Material before a configuration change took place, Material only matters for creation of new blocks.
    Version 1.02
    - Whole lot of code refactoring
    - Blocks on when redstone on (can still use torches)
    - Block protection for controlled blocks (Physics events can't modify controlled blocks anymore, fixes duping issues, but allows some odd builds, might implement a "break" feature like the original had, where block changes cause the controllerblock to disable)
    - Added configuration file (creates on first load, in main folder, ControllerBlock.ini). First line is ControllerBlock material type, other lines are disallowed materials.
    - Saves block metadata, allows toggling of minecart tracks.
    - Probably some other stuff I'm forgetting.
    Version 1.01
    - Added controlled block checks, need to edit block before removing controlled blocks
    Version 1.0
    - Release
     
  2. Offline

    jjtcm

    Thx for the Update!
    Now Controllerblock works again for my Server without bugs.
    But first I had to load MultiVerse earlier than ControllerBlock.
     
  3. Offline

    xemnes

    oh, so what do u think would be causing it
     
  4. Offline

    Hell_Fire

    I'd check you don't have another controller overriding the snow one with wood.
     
  5. Offline

    Dashkal

    Issue when starting the server on craftbukkit 493, controllerblock 1.14. I think it's the null world issue.

    Here is my startup log: (Including the exception)
    Show Spoiler

    14:22:57 [INFO] Starting minecraft server version Beta 1.3
    14:22:57 [INFO] Loading properties
    14:22:57 [INFO] Starting Minecraft server on *:25565
    14:22:57 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-493-g8b5496e-b493jnks (MC: 1.3)
    14:22:57 [INFO] Preparing level "world"
    14:22:57 [INFO] Preparing start region
    14:22:58 [INFO] [Permissions] version [2.5.2] (Phoenix) was Initialized.
    14:22:58 [INFO] [General] version [2.1.2.1] (TheBeginningOfTheEnd) loaded
    14:22:58 [INFO] [Permissions] version [2.5.2] (Phoenix) loaded
    14:22:58 [INFO] RedstoneChips: Loading > photocell, pirsensor, rangefinder, daytime.
    14:22:58 [INFO] RedstoneChips: Loading > adder, and, clock, counter, demultiplexer, divider, flipflop, multiplexer, multiplier, or, pisoregister, print, random, receiver, shiftregister, transmitter, xor, decoder, encoder, pixel, pulse, not, synth, srnor, terminal, router, ringcounter, iptransmitter, ipreceiver, comparator, delay.
    14:22:58 [WARNING] RedstoneChips: World creative was not found on the server.. Ignoring circuit.
    14:22:58 [INFO] RedstoneChips: 0 active circuits
    14:22:58 [INFO] RedstoneChips 0.82 enabled.
    14:22:58 [INFO] ControllerBlock: 1.14 by Hell_Fire
    14:22:58 [INFO] ControllerBlock: Using IRON_BLOCK (42) as ControllerBlock, loaded 0 disallowed types from config
    14:22:58 [INFO] ControllerBlock: Loaded v4 data - 1 ControllerBlocks loaded
    14:22:58 [INFO] ControllerBlock: Enabling full redstone check
    14:22:58 [INFO] ControllerBlock: Events registered
    14:22:58 [INFO] [MultiVerse] Permissions Found
    14:22:58 [INFO] [MultiVerse] - Version 1.5 (Permissions 2.1+) Enabled
    14:22:58 [INFO] [MultiVerse] Loading World & Settings - 'world' - NORMAL
    14:22:58 [INFO] [MultiVerse] Loading World & Settings - 'nether' - NETHER
    14:22:59 [INFO] [MultiVerse] Loading World & Settings - 'creative' - NORMAL
    14:23:00 [INFO] [MultiVerse] 3 - World(s) loaded.
    14:23:00 [INFO] [MultiVerse] Loading Portals
    14:23:00 [INFO] [MultiVerse] 2 - Portal(s) loaded.
    14:23:00 [INFO] Done (0.271s)! For help, type "help" or "?"
    14:23:00 [SEVERE] java.lang.NullPointerException
    14:23:00 [SEVERE] at net.servfire.hellfire.bukkit.ControllerBlock.Util.getBlockAtLocation(Util.java:21)
    14:23:00 [SEVERE] at net.servfire.hellfire.bukkit.ControllerBlock.CBlockRedstoneCheck.run(CBlockRedstoneCheck.java:23)
    14:23:00 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    14:23:00 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:345)
    14:23:00 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    14:23:00 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    14:23:00 [SEVERE] Unexpected exception
    java.lang.NullPointerException
    at net.servfire.hellfire.bukkit.ControllerBlock.Util.getBlockAtLocation(Util.java:21)
    at net.servfire.hellfire.bukkit.ControllerBlock.CBlockRedstoneCheck.run(CBlockRedstoneCheck.java:23)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:345)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)



    The other plugins I'm running are: Permissions 2.5.2, General 1.2.1.2, MultiVerse 1.5, and RedstoneChips 0.82 (Basic 0.82, Sensors 0.21)

    I'm working in an alternate (normal style) world called "creative". I created a controllerblock controlling a single redstone torch. I then shut down the server. When I bring the server back up I get that exception in the log.
     
  6. Offline

    Anoniempje

    Does controller block collide with other plugins?
    SInce my upgrade to 1.14, 493 and a bunch of other mods, i cant make new things
    all the old shit still works
    But i can't lmouse new blocks and have a msg show up

    Edit
    Looks like it was Towny.

    Any way, once i fixed that. My server crashed every time I hit a controller block with Lmouse. Once i deleted the Controller block folder (and losing all my controller block contraptions) and redownloaded the latest jar (to be sure) my server stopped crashing and i could make new ones again. Any one else had these problems? when upgrading to 1.14?
     
  7. Offline

    xemnes

    mmm nope i made a new one in a different place and its still wood, no errors in the log =/
     
  8. Offline

    Hell_Fire

    Yeh, I've been able to replicate it (the alternate world bug). Working on fixing it. I've got it loading blocks on alternate worlds now, but editing them after they've loaded isn't working, should have it fixed soon I hope >.<
    --- merged: Mar 6, 2011 1:51 AM ---
    1.15 is up. Fixed multiworld (tested against multiverse 1.5, should work with just about anything though)
     
  9. Offline

    Dashkal

    Thank you very much. Working perfectly now!
     
  10. Offline

    Hell_Fire

    That's fairly strange, I didn't really change all that much in 1.14, not as far as the loading and interaction code goes when it imports the "v3" type data file (which is used on <=1.13). What was your previous version? I can think that there may have been an issue if you were before 1.08/9, but nothing I can think of that would crash the server :/
     
  11. Offline

    Tiramon

    Just upgraded to 1.15 and now i get flooded with this error messages
    I'm running bukkit b493

    [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format

    ant he last message is
    [INFO] ControllerBlock: Loaded v3 data - 0 ControllerBlocks loaded

    looks like a problem in converting from v3 to v4
     
  12. Offline

    xemnes

    ok may i make a suggestion, just to make my life a little easier since theres a flicker between the changing of 2 blocktypes due to how redstone works

    have it the same way
    redstone on top of block, hit block with the blocktype you want
    but optionally have slot 9 with another block type for when the controller block is on?

    and perhaps have the controller block go gold when its on too?

    if this was implemented then perhaps i may convert to bukkit
     
  13. Offline

    hyperch

    hi there

    #495 gives me those errors

    Code:
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 2
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 3
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 4
    16:08:41 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save format
    16:08:41 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 5
    16:08:41 [INFO] ControllerBlock: Loaded v2 data - 0 ControllerBlocks loaded
    
     
  14. Offline

    Simmons

    What exactly does this mean? Yesterday I set up some controller blocks and they worked fine, now today I turn on my server and get this exception. Any help would be appreciated. I'm running bukkit 478
    Code:
    [SEVERE] java.lang.NullPointerException
    2011-03-06 11:24:17 [SEVERE]  at net.servfire.hellfire.bukkit.ControllerBlock.Util.getBlockAtLocation(Util.java:21)
    2011-03-06 11:24:17 [SEVERE]  at net.servfire.hellfire.bukkit.ControllerBlock.CBlockRedstoneCheck.run(CBlockRedstoneCheck.java:23)
    2011-03-06 11:24:17 [SEVERE]  at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    2011-03-06 11:24:17 [SEVERE]  at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:337)
    2011-03-06 11:24:17 [SEVERE]  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:264)
    2011-03-06 11:24:17 [SEVERE]  at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    2011-03-06 11:24:17 [SEVERE] Unexpected exception
    java.lang.NullPointerException
     at net.servfire.hellfire.bukkit.ControllerBlock.Util.getBlockAtLocation(Util.java:21)
     at net.servfire.hellfire.bukkit.ControllerBlock.CBlockRedstoneCheck.run(CBlockRedstoneCheck.java:23)
     at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:337)
     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:264)
     at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
     
  15. Offline

    GOLDdigga1011

    it works fine with me, thanks [​IMG]
     
  16. Offline

    Hell_Fire

    Bug in 1.14, I fixed that in 1.15
    --- merged: Mar 6, 2011 8:26 PM ---
    World IDs are a pain to work with, what that message is saying is it couldn't look up the world by ID, which is why I've changed to world names in 1.14/15, but sometimes it can't look it up (one of the pains of using world IDs)...
     
  17. Offline

    Dashkal

    The flicker can be entirely dealt with when toggling between two blocks if you use a diode/repeater. A diode set to a delay of 1 has the exact delay of a not torch. So if you diode the stright line, it will switch at the same time as the not line whenever you toggle the switch or whatever you're using. No blank period.

    Put another way, when you split your redstone line between the two controller blocks, you put your not gate to one as normal, but add a diode to the other to delay the signal by a frame.

    One thing I note is that the blank period still exists, it's just there for zero frames. So torches will still pop off.
     
  18. Offline

    Kevin Forte

    Code:
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 2
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 3
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 4
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: ERROR: couldn't get world by ID for old save
    format
    16:58:05 [SEVERE] ControllerBlock: Error loading ControllerBlock on line 5
    16:58:05 [INFO] ControllerBlock: Loaded v3 data - 0 ControllerBlocks loaded
    Slight issue?
     
  19. Offline

    Hell_Fire

    Hrmm :/ It should have converted fine :( Really weird it's not picking it up, maybe MultiVerse or something does something strange with the world ID :(
     
  20. Offline

    xemnes

    how about a diagram? confused the hell out of me XD
     
  21. Offline

    Dashkal

    Diagram... ok, here goes.

    [​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [​IMG]
    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]

    [​IMG] = Input (Lever, pressure plate, more redstone, whatever)
    [​IMG] = Redstone wire
    [​IMG] = Diode (Leave it alone when set, it starts on minimum delay)
    [​IMG] = Dirt (or any other block, we're making a not gate here)
    [​IMG] = Redstone torch (attach it to the side of the dirt block)
    [​IMG] = Controller block

    Be certain that the diode is facing in the right direction. Like a real world diode, it will only allow current in one direction: forward towards the direction you face when you place it. You need to be sure it will allow current from your input towards the controller block.

    What we have here is two controller blocks wired to a single input.
    One of them has a diode between it and the input. This will be powered when the input is ON.
    The other has a not gate between it and the diode. This will be powered when the input is OFF.

    With that setup, there won't be flicker when you switch, since there'll never be a time when both controller blocks are powered. When the input changes, the diode will ensure that both blocks change state at the same time.

    If you're really lost, I suggest you check out the redstone circuits page on the minecraft wiki. At minimum you need to understand the function of the redstone torch and the diode.
     
  22. Offline

    PAPABEAR1010

    Thankyou great plugin works perfectly, been trying to get this working since release , many thanks
     
  23. Offline

    Braden1996

    i installed this and when i place a block it wont let me end it even after i hit the iron block again any ideas ?
     
  24. Offline

    Dawodo

    Did you start and end the session with the same material? If created the controllblock by hitting it with Cobblestone, then you have to end the session with cobblestone as well.
     
  25. Offline

    Hell_Fire

    You can actually end it with any material, but if you're not able to, check your server console for error messages, also, check the version you're using as well, it should be 1.15.

    Thanks
     
  26. Offline

    Xavier98

    Is it compatible with Hmod?
     
  27. Offline

    THEK

    Using CraftBukkit 493. I've have done a lot fo testing with different mods and have come to the conclusion that this mod is causing server lag. When I enable it within a few seconds I start getting "Can't keep up" server messages. Please can you look into this.
     
  28. Offline

    Xavier98

    Ok,thank you
     
  29. Offline

    Hell_Fire

    The only thing scheduled to run quickly is the redstone check, and it's actually less laggy to do that than the "QuickRedstoneCheck" I originally implemented because it only checks every ControllerBlock once per frame, rather then scanning through them comparing locations for every REDSTONE_CHANGED event, which happens for every redstone block every toggle event, so if you have a single 5-clock or similar, it very quickly gets expensive compared to checking every block for isBlockPowered().

    Note that if you've got a ControllerBlock wired up to a 5-clock or something toggling on and off, and your disk writes can't keep up (you're now updating the chunk quite quickly), it might cause that message to show up. (I get it quite easily when I turn write caching off on my filesystem), but that's not CB specific, you'd get that message whenever you're running about building stuff in that case.
    [MERGETIME="1299625228"][/MERGETIME]
    No, the original hmod version uses a binary format to save its data and I haven't pulled it apart at all.
     
  30. Offline

    Xavier98

    Kk, thank you
     
  31. Offline

    ill.oOminated

    I just LOVE this plugin! It's the one which made me come from the classic minecraft server to the bukkit solution. This is something which I miss in Minecraft since the first week I played it... Thanks for the great work and keep it on! :)
     

Share This Page