SecretPassage

Secret Passage

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!

Credit:
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 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.

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.

Features:

  • 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 Other Plugin Support: 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, I have a request: share it here and alert me, 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.


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files