Inactive [EDIT/FUN] SecretPassage v1.6 - Create Structures That Can Disappear [1.2.5-R4.0]

Discussion in 'Inactive/Unsupported Plugins' started by Professor29, Aug 12, 2011.

  1. Offline


    Secret Passage
    Current Version: v1.6
    Old versions available on request - Shoot me a message

    NOTICE: I finally stopped stalling and made a BukkitDev page for this project. All future updates will be posted there, and I check for messages / posts frequently... Hope to see you over there!

    Link ->

    Have you ever wanted to create a wall that could disappear at a touch? Or a massive pit to trap your "friends" in? Are pistons just not enough to make the secret door of your dreams? Look no further!

    I did not come up with the original idea of this plugin. During the days of hMod and Alpha, I played on a server called "Kingdom of Strongholds", run by Rockslide. A few weeks before the server was shut down, a plugin similar to this one was added, and it was a blast to use. Sadly, I haven't been able to find anything like this for hMod or Bukkit, so I opted to write my own version from scratch...
    Also, I would like to thank @nisovin for helping me solve an inventory issue.

    How to Install:
    Download the .jar file from the link above (next to "Version:") and place it in your plugins folder. Start the server as normal. Then, stop the server and modify the config.yml file in plugins/SecretPassage/ to your liking. Finally, restart the server.

    How to Use:
    1) Start by building the shape of the structure out of any of the "active materials" you chose in the config. If you didn't change the config, use either Netherrack or Sponge. (I made this for a server with no nether, so netherrack isn't common...)

    2) Type in the command below to create a passage. It's worth noting that you can change the "create" part of the command in the config file, so it may be different based on what you entered.

    3) Hold the block that you want to replace the active material with, and punch it. If the material is allowed (also in config), the active material will absorb the item you're holding, and change to look like it. Repeat this until you have the structure built - you can safely place more active material if you need to, the plugin will only respond if the active material is punched while holding another item. By default, any solid block unaffected by gravity (aside from netherrack and sponge) can be used to decorate a passage.

    3b) If you punch (and activate) the wrong block, you can break it to remove it from the structure. Doing so will not return the active material used, so that will need to be placed again.

    4) Place another active block somewhere that you'll remember, then hold one of the items you chose for creating switches (in config) and punch it. The block will absorb the item and change into another material (chosen in config) to show that it is now a switch block. By default, you use a stone button to make switches, which turn into wooden planks for confirmation.

    5) If desired, break the switch block and replace with another block of your choosing. It must be selectable with a right-click to work (so no water, lava or air).

    6) Right-click the switch to test if the gate is working. If so, all the blocks you placed in step 3 will turn into air. Right-click the switch again to bring the structure back.

    7) Type the command /spass to end the passage construction process. You can always come back and modify it by using the create command again.

    New and Improved Video Version by LiekMudkipzz

    Old Tutorial (open)

    Command List:
    • /spass [Alias: /sp, /secretpassage] The main command for the plugin. Also ends the passage building process.
    • /spass create* (PassageName) - Starts building on the named passage, creating it if necessary.
    • /spass destroy* (PassageName) - Destroys a passage you own (blocks are not removed). You can give a permissions node to let people destroy any passage on the server.
    • /spass destroy* switch - Sets you up so that a switch bound to the next block you right-click on is destroyed.
    • /spass list* - Lists all the passages that you own, in order of creation.
    • /spass list* (PlayerName) - Permissions-based command that lists passages owned by the named player.
    • /spass toggle* (PassageName) - Permissions-based command to toggle a named passage, provided you are in the same world.
    • /spass reset* - Permissions-based command that resets all passages based on redstone power to switches.
    • /spass timer (ticks) - Adds a reset timer to auto-close the passage after a set delay (specifically built to prevent making it accidentally auto-open...)
    • /spass timer 0 - Removes the timer of the passage you are working on.
    • /spass info (Passage Name) - Provides information on the listed passage. If you do not give a passage name, it provides information on the passage you are working on (if any).
    • /spass help - Lists all basic commands you have access to, as well as the proper structure for typing them.
    • /spass access - Lists the commands for working with white or black lists for passages.
    • /spass access allow (Name) (Name) (Name) (Name) - Adds the names included to the whitelist of your current passage, and sets the passage to use a whitelist.**
    • /spass access deny (Name) (Name) (Name) (Name) - Adds the names included to the blacklist of your current passage, and sets the passage to use a blacklist.**
    • /spass access remove (Name) (Name) (Name) (Name) - Removes the name from the whitelist/blacklist of your current passage.**
    • /spass access clear - Removes the access restrictions on your passage, allowing anyone to use it.
    * - Create, Destroy, Toggle, List, and Reset can all be replaced in the config.yml file, to allow for ease of use.
    ** - At the moment, you must use the full name, and the player must have logged in at least once. I am working on a name-finder to allow partial names for any online players, but that is not included yet. Also, ops and anyone with the antilockout permission will be able to bypass any access restrictions, and you cannot modify the passage owner's access.

    • Create structures that can disappear.
    • Includes option to prevent blocks in passages from being broken (to stop easy duplication)
    • Includes options to consume resources when decorating passages, as well as the ability to choose what can be used in their creation.
    • Choose your own commands to replace create, destroy, toggle, and list.
    • Includes option so that only the owner of a passage (or an op) can modify it, while anyone can use the switches made by them to toggle the passage.
    • More than one switch can be assigned to a passage, but only one passage can be assigned to a switch.
    • Passages do not have to be continuous, but cannot have blocks on multiple worlds. You could build a disappearing village if you felt so inclined.
    • SuperPerms support (as of v1.0)
    • Preliminary Redstone support (as of v1.2)
    • Ability to have passages close themselves after a set delay (as of v1.4)
    • Provide access on a passage-by-passage basis (as of v1.6)
    • If passage protection is active, pistons will break when trying to push a passage block, and cannot pull out a passage block if sticky (as of v1.6)
    Permissions Nodes:
    • secretpassage.* - Provides all nodes other than lockout and deny (Default: Op)
    • secretpassage.create.other - Allows user to bypass the owner-only protection option if it is enabled
    • secretpassage.destroy.other - Allows user to destroy any passage on server, regardless of owner
    • secretpassage.list.other - Allows user to check passages owned by other players
    • secretpassage.toggle - Provides access to the toggle command
    • secretpassage.reset - Provides access to the reset command.
    • secretpassage.lockout - Prevents user from using any portion of the plugin
    • secretpassage.antilockout - Prevents admin using all-nodes plugins from accidentally barring themselves from using plugin
    A Note on SuperPerms (open)
    I know I stated that I wouldn't add support for any plugins to this, and I stand by that statement. SuperPerms are integrated into Bukkit itself, meaning that I don't have to worry about waiting for it to update to keep my plugin compatible with recommended Bukkit builds.

    You can use this plugin without using SuperPerms (I personally do, strange as that may sound...), as the extra features will default to Op, and everyone by default can create and destroy their own passages. However, it's worth noting that the .lockout node is checked for first, and will restrict access no matter who the person is, or what other nodes they have. This means that the server owner can actually lock other Ops out from their private area, and the plugin won't question it.

    To-Do List:
    • PRIORITY: Add ability to restrict access on a per-passage level. - in v1.6
    • Add saving of block data (for colored wool, logs, torch placement, etc) - in v0.9
    • Refine saving of block data for block orientation.
    • Allow Ops to toggle passages from any world.
    • Add timer options to passages. in v1.4
    • Add option to enable/disable based on redstone current hitting a switch.
    • Improve redstone support.
    • Add option to activate switches on left click.
    • Figure out how to make system accept things like doors and beds during placement (I feel a massive IF structure coming on...)
    • v1.6 - Pistons will naturally break when they attempt to push a block out of a passage. Sticky pistons cannot pull blocks out of passages. Added the allow/deny options for passages.
    • v1.5a - The .deny permission has been a pain for several versions now, and has been removed. Working on a command-based replacement.
    Old version changelog (open)

    • v1.5 - Cleaned up code for new syntax, as well as (hopefully) squashing the SuperPerms bug (again). Also killed the unintended bug of being able to stack timed reactivations of a passage.
    • v1.4 - Fixed logic bug in SuperPerms support, added timers and building in creative mode.
    • v1.3a - Hopeful fix for accidentally breaking protection plugins.
    • v1.3 - Tried to make redstone more multi-world friendly, added redstone options to config file, provided variable to allow automatic updating of config if needed later.
    • v1.2a - Added code to Redstone enabling process for stability.
    • v1.2 - Preliminary redstone support.
    • v1.1b - Fixed faulty logic from trying to code at 1am.
    • v1.1a - Quick fix to counter accidentally gaining the deny permission
    • v1.1 - Fixed support for new blocks, as well as removing blocks from passages.
    • v1.0 - Added SuperPerms support, putting this at a comfortable "proper release" point.
    • v0.9.1 - Bugfix for NPE in passage construction.
    • v0.9 - Added storage of block data, with legacy support for older passages.
    • v0.8 - Stable release with source included.
    • v0.1-v0.7 - Unstable versions as I destroyed bugs and added features.

    A Note on Other Plugin Support (open)
    While a lot of other plugins are great matches with this plugin (iConomy, etc), I will not be personally adding support for these options. However, the source code is included in the .jar file, so that anyone who wants to make changes can take a crack at it. Sadly, I'm not the greatest at uniform code structure or commenting, so the only assistance you'll find in there is a small comment at the top of each function to describe it.

    If you add a feature that you believe should be shared (such as permissions support), I have a request: add an option to the config.yml file to disable it. If you're willing to do that, then post it here and tag me in the post, that way I can take a look at it. I'll test it and add it as a proper version, making sure to include your name in the credits section.
    Xilador and jesse1212 like this.
  2. Offline


    Awesome plugin! Now when you leave, You can toggle your house and not get it griefed. I'm getting it. :)
  3. Offline


    Just make sure to not put chests or furnaces you care about in the passage - the contents will disappear for good when they are toggled.
  4. Offline


    This is by FAR one of the best plugins I have :D
    Keep up the good work!
  5. Offline


    i was wondering if u could make it possible to when clicking a button make 1 wall disapear and another appear like when building it u clikc switch when it switches continue building then it will switch between the too....i was thinking of mazes color changing walls traps stuff like that
  6. Offline


    Sadly, no. With how I have the code set up, it prevents switches from overlapping, either from the same passage or different ones. It's because of how the plugin checks if you've clicked on a switch. I'll see if I can change that, but I won't make any promises - it's a cool feature, but I'm not sure how much gutting would need to be done for it.
  7. Offline


  8. Offline

    Merrick King

    How about adding an optional timer, so that some passages can't be accidently left open?

    You could set the button up to be connected to a redstone circuit. One part could turn on a passageway, and the other could be inverted (made opposite) and could thus turn off a different passageway. When the switch is pressed, this swaps around. :) (**I haven't tested this yet, so give it a try :D**)

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


    Can i have version of this plugin for Bukkit 1.1 R4?

    Thx man and grettings
  10. Offline


    It's actually already in there. Start work on a passage with /spass create PassName, then type /spass timer ##, where ## is the time (in ticks) that the passage should stay open. You can close it early if you want to, but it will automatically close at the end of the timer. Passages don't have a timer by default, for ease of use...

    Also, 20 ticks = 1 second. So 30 second delay would be 600 ticks.

    If I remember correctly, the current version should be compatible with 1.1 R4. could you try running it, and post any errors it gives you? I can use it to find the code that would be offensive, and tweak it rather quickly...
    Valdifer likes this.
  11. Offline



    Thx man, but it'll fit better not just because I have the R4, I'll wait until bukkit this in version 1.2.4 and there I will use it, for truth, this plugin I'm attracted to many things I have thought to do: D

  12. Offline


    Does it work for 1.2.4?
  13. Offline


    Sadly, I haven't been able to test it as of yet. I know that it will work with Bukkit as-is, since the API for plugins didn't change between 1.2.3 and 1.2.4... but I don't know if it will properly retain the new sandstone or wood blocks. If they work like wool colorations, it will work just fine. If they work like Stone Brick styles, then I believe I can turn the system to work for it - been meaning to do that for a while. If they have a new, unique system... no guarantees.

    If you run your server with SecretPassage and it throws errors, take the text and paste it here. I will be able to quickly fix any bad code, I just don't have access to a test server at the moment...
  14. Offline


    well the way this game works like this there are 3 by 3 floating plat forms above water or lava if you want it to be more deadly
    and if you right click the center block then the other blocks go bye bye one the 3 by 3 plat form leaving you standing on one block for 3 seconds but sense the the space between is 1 block the other surrounding plat form's middle block disappears for 3 seconds as well so you can see how that works i have already made a 20 plat form one on my server( took me forever) but now my friend want on there server and well they just think its to much work so if you could some how make it easier to set up i would love that thanks
  15. Offline


    Professor, would it help if I tried it out on my server?
  16. Offline


    Definitely. If it throws any errors, I'll be able to fix them. Main reason I haven't updated the thread title is because I can't guarantee it works error-free on the new RB. It should... but I can't test =\

    That's actually quite brilliant. I don't think I could make the commands easier with how the system is set up... and that would be the main part of building all the platforms. I'll see if I can at least make construction easier.

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


    thx i figured the game out by just fooling around with the plug in
  18. Offline


    Professor, the whole plugin works in 1.2.5. It runs like a charm.
  19. Offline


    this plugin works PERFECT!
    but is it possible to let users only use a defined passage like
    with the secretpassage.* node you can open/close all passages but with the secretpassage.use.test you can ONLY open the passage named test

    cause i want my players to be able to use them, but they can't open all of them like the one to the admin HQ
    i hope you can put this in

    a lockout could also been put in like secretpassage.lockout.HQ
    that way they can use all passages EXEPT the hq one

  20. Offline


    I had a permissions-based lockout in the plugin, but it kept failing in a very spectacular fashion. You can lock people out of using the passages with the "/spass access" commands - I'd recommend using allow for the Admin HQ, as that sets up a whitelist. For example:

    /spass access allow Yentel025 Admin01 Admin02 Admin03

    That would set up Yentel025, Admin01, Admin02, Admin03 to be the only people who could access the passage (not including anyone who has the .* permission node, since that bypasses access restrictions). Should you need to remove someone later, you'd use /spass access remove (Name), or you can add more people to the white list by using the command again - it will retain all names added to the access list until the style of list is changed (white <-> black)
  21. Offline


    thanks a lot :)
  22. Offline


    Great plugin! i love it and use it a lot specifically on gates ;)
  23. Offline



    I made a zone called waterdrop and wanted everyone to be able to use its switch so I gave everyone the permission:
    - secretpassage.use.waterdrop

    I also tried /spass access allow jazza910 tom160 Will472000 and still no luck.

    What am I doing wrong?
  24. Offline


    please please please please please make a update for the 1.3.1, your plugins broken now. DX sadfaces:(:(:(

    all my animated buildings are gone.
    Jaiph likes this.
  25. Offline


    Just tried it in 1.3.1 and my secret passages seem to still work fine.
  26. Offline


    I have a suggestion :) Could you add a " cooldown " for the secretpassages as an option?
    i mean like when you activate a secretpassage it deactivates itself after a set amount of time :)

    Now for my problem:
    I have updated to 1.3 (I've got this error ever since 1.2.5) anyways my secretpassages works and everything but at startup i get this error:
    11:27 AM [INFO] [SecretPassage] Enabling SecretPassage v1.6
    11:27 AM [INFO] [SecretPassage] User settings successfully loaded.
    11:27 AM [SEVERE] java.lang.NumberFormatException: For input string: "secret11.passIlocblobÃxˇˇˇˇˇˇ"
    11:27 AM [SEVERE] at java.lang.NumberFormatException.forInputString(
    11:27 AM [SEVERE] at java.lang.Integer.parseInt(
    11:27 AM [SEVERE] at java.lang.Integer.parseInt(
    11:27 AM [SEVERE] at me.professor29.secretPassage.PassageManager.loadPassage(
    11:27 AM [SEVERE] at me.professor29.secretPassage.PassageManager.setup(
    11:27 AM [SEVERE] at me.professor29.secretPassage.SecretPassage.onEnable(
    11:27 AM [SEVERE] at
    11:27 AM [SEVERE] at
    11:27 AM [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(
    11:27 AM [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(
    11:27 AM [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(
    11:27 AM [SEVERE] at net.minecraft.server.MinecraftServer.i(
    11:27 AM [SEVERE] at net.minecraft.server.MinecraftServer.d(
    11:27 AM [SEVERE] at net.minecraft.server.MinecraftServer.a(
    11:27 AM [SEVERE] at net.minecraft.server.DedicatedServer.init(
    11:27 AM [SEVERE] at
    11:27 AM [SEVERE] at
    11:27 AM [INFO] [SecretPassage] Loaded 37 passages.
    11:27 AM [INFO] [Secret Passage] Loaded switches for 36 passages.
    11:27 AM [INFO] [Secret Passage] Loaded access lists for 0 passages.
    11:27 AM [INFO] SecretPassage v1.6 enabled.

    What could the problem be?
  27. Offline


    Sorry about taking so long to respond guys - no reliable net access (again), which also means I don't currently have access to the code base for updating... Hoping to resolve this soon.

    On the plus side, I can verify Jaiph's statement - plugin works as-is on current RB for 1.3.1, with the exception of redstone power. I seem to have broken that one, and will restore its function ASAP.

    By default, anyone can use a passage. By using the /spass access command, those listed should be able to use it... If they cannot, I'd check to see if one of the following is happening:
    • Anyone has the "lockout" permission, which will make the plugin auto-deny them access.
    • Another plugin is controlling right-click options on the specified blocks (such as WorldGuard preventing the use of doors/buttons, if it does this anymore)
    • There are no switches tied to the waterdrop passage. Without a switch, you can only open/close it with the /spass toggle command, which requires special permissions.
    It's also worth noting that the SuperPerms options for allowing people to use passages has been removed due to constant migraines, which is why I added the access commands...

    It's throwing an error when trying to grab the x coordinate of a block in one of your passages. It could be that there's an extra character in the file, which would cause the issue. I'm unsure as to what it would effect, but I'd assume that there will be one or two blocks that don't toggle with the rest of the passage, or possibly a redundant corrupted line for one of the blocks in the passage file. If you can zip up your passages folder (plugins/secretpassage/passages), I can take a look next time I have net access and see which one has the offending character.

    Losing access to a feature on your server is a horrible thing... and I want to help. Does the plugin throw any errors when the server is started? If not, are the animated buildings toggled by redstone? Cause I know that part is broken, and fixing it will be my first priority once I've got constant net access... second priority will be supporting console commands finally...
  28. Offline


    Oh okay :) I've sent the file in a ZIP format to you in a PM
  29. Offline


    Losing access to a feature on your server is a horrible thing... and I want to help. Does the plugin throw any errors when the server is started? If not, are the animated buildings toggled by redstone? Cause I know that part is broken, and fixing it will be my first priority once I've got constant net access... second priority will be supporting console commands finally...[/quote]

    the server is hosted so we don't have access to the console and its not about the red stone its that it just will not allow us to paint or turn the blocks on and off. so even if i put the lever Right on the block it will not activate and we can't make any new spass blocks either.

    also if you were to update it then maybe you could add some way for it to detect what angle the logs i place are on so it can make spass sideways logs.

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


    Does the plugin respond when you type any commands? If none of those features work, it might be that the plugin isn't installed at the moment... try using "/spass help" and see if it will list the commands for passage creation. If it works, I'd need to see the console to know how to fix it. If not, then you'd need to remove SecretPassage from your hosted server and reinstall it... my knowledge of hosted servers is sadly limited, so aside from that I really don't know...

    Honestly, I've been trying to figure out the best way to do this, which would also allow me to do stairs. I can find the relative location of the player based on where they are and where the block is, but I don't know how to check the exact location you've clicked on the block. Once I have more regular internet access I'll be looking into this to see what can be done...
  31. Offline


    Dude this really needs to updated to 1.4.5, my server has it and it only half works, i can toggle the passage what was made while minecraft was in 1.4.4 and the switches worked fine and everything in 1.4.4 but when 1.4.5 came out, one of my staff for my server told me the switches no longer work so I've just tried myself as i'm more experienced with the plugin and the switches didn't work, i tried re-doing the switches when i come to make a new switch, i punch the sponge with a stone button and the sponge just breaks, no switch made, so when this happened i looked at the command side of things, i tried toggling the passage by command and it worked, i tried this on all the passages on the server and they're all the same, can only toggle via command, help please dude

Share This Page