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

    Professor29

    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 -> http://dev.bukkit.org/server-mods/secretpassage/

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

    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 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...)
    Changelog:
    • 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

    toffo

    Watching video, getting the "oh ah aaaaaaaaaah, darn chunk missing" feeling :D
    But why would someone use this plugin?

    I don't say it's not any good, just that I couldn't find a reason for it. Making a structure disappear just doesn't do it for me. Perhaps someone could come up with something else?
     
  3. Offline

    jesse1212

    its good for exactly what the name says... secret passages... i use it for "Floor Doors" to my secret rooms so no one messes 'em up!
     
  4. Offline

    Cave Johnson

    This is a good plugin and all, but I much rather prefer conroller block. It has the same essential properties, but you can use redstone to activate it and its much simpler to set up. Again, no offense to the author, but Im just saying something like this has been done before.
     
  5. Offline

    Professor29

    Actually missed Controller Block when doing my search, thank you for the heads up. And yes, this isn't a "must have" plugin for most servers, but I personally don't like using pistons for hidden passages, which is why I worked on recoding this...
     
  6. Offline

    jesse1212

    well thank you for taking your time to release this either way!
     
  7. Offline

    Professor29

    No problems, and expect to see the To Do list worked on. I don't have a lot of free time to code, but I work on this whenever I get a day off.
     
  8. Offline

    TheGurw

    I think I'll actually prefer this to ControllerBlock. Picking the ONE block out of a wall that activates the secret door seems rather.....traditional. At least compared to using an ironblock hooked to redstone (and besides, mcMMO already uses ironblocks).

    Oh, can you add the ability to have multiple switches? So you can close it from either side.
     
  9. Offline

    t2wave

    It says more than one switch can be assigned to a passage. I assume that means it would work from either one to toggle on and off.

    And this is exactly what I was looking for. I actually requested something similar to this about a month ago. ControllerBlock works, but activation still requires a switch, button, or redstone torch to be visible. This looks much better for making secret passages with no indication that there is one. Can it toggle redstone or redstone torches to appear and disappear?

    And since I'm here, might there be a way to set a timer to the passage. So that after being triggered the blocks reappear a user defined number of seconds later?
     
  10. Offline

    Professor29

    As t2wave stated, you can have more than one switch assigned to a passage. All you do is repeat steps 4 & 5 for each switch you want to create. I was debating on being able to "stack" switches on top of each other, but the code for it gets incredibly messy, and I didn't see much use for it...

    It can't toggle redstone torches yet, simply because it doesn't store the block data for the torch, which actually tells minecraft where the torch is "stuck". As far as timers go, I'll look into that one and see if I can add it - storing the information would be easy, but I have no experience with setting delays on actions.
     
  11. Offline

    t2wave

    I actually just remembered that I can pull power from a block with a repeater. So to do what I would like I just need to have the block in between toggle on and off. Derp.
     
  12. Offline

    Jaiph

    Loving this plugin, just made a massive docking bay door that works flawlessly.
     
  13. Offline

    Professor29

    Plugin updated to store block data in addition to type, so you can now use things like colored wool and birch logs in your structures. Should feasibly allow storage of torches, but I haven't tested this, so I am unsure.

    Also, a small heads up: To add the left-click option I'm going to need to adjust the config, and I'm not sure if I'll be able to modify the existing config files to match. Going to test and see how it works out, but thought I should provide advanced warning before putting any changes in.

    And finally, a question: While I don't want to add any required plugins for this system, SuperPerms seems like it might be helpful on a plugin like this. Only problem is, I'm not sure what I should add permissions for... I'm currently thinking of a permissions node for each command, as well as the ability to modify another person's passages... are there any other spots you can think of? Should I add a node for denying/allowing the use of switches, thereby restricting the groups that can activate passages?
     
  14. Offline

    utahrapter3

    Too confusing for me sorry :(
     
  15. Offline

    t2wave

    I like all the permission ideas you put. And really the more options the better. I know my server has VIP status and it would be awesome if we could lock the door of the VIP zone.
     
  16. Offline

    Galeck

    We've been trying to get this plugin to work on our server, but for some reason the blocks refuse to dissapear. It recognizes everything fine, the switch works and we get the 'Passage toggled' message when we right click it, but the blocks remain untoggled.

    Are there any known plugins that conflict with this one? And is there anything I can send (like a log) that could help you figure out the problem.
     
  17. Offline

    Takel

    I'd say yes that should be a definite.

    A feature request:
    Is it possible to allow for redstone circuits to trip a hidden structure? With the current redstone plug-ins, this could lead to a whole new class of interesting applications...


    I'm also getting NPEs when attempting to build the toggle structures. The error messages:
    Show Spoiler
    Code:
    16:20:52 [SEVERE] Could not pass event BLOCK_DAMAGE to SecretPassage
    java.lang.NullPointerException
            at me.professor29.secretPassage.SecretPassage.constructPassage(SecretPassage.java:146)
            at me.professor29.secretPassage.SPBlockListener.onBlockDamage(SPBlockListener.java:22)
            at org.bukkit.plugin.java.JavaPluginLoader$29.execute(JavaPluginLoader.java:441)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageEvent(CraftEventFactory.java:186)
            at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:90)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:458)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)


    This happens with no other plug-ins loaded with Bukkit builds 1000 and 1060.
     
  18. Offline

    WonderTwirls

    I can't seem to get this to work. I put down the netherrack, turn it into dirt by punching it, I then make a switch. All of this works fine but when I try and write click on the switch nothing happens.
     
  19. Offline

    Galeck

    Getting exactly the same error message.
    And it seems we're not the only ones. Can we get someone to help us out? Cause this plugin is exactly what I was looking for for our server.
     
  20. Offline

    Professor29

    It looks like there's an issue with how I was handling block data. I didn't notice it due to no one building new passages on my server (aside from my test ones to see if colored wool worked...) Going to work on fixing it right now, and hopefully put out a bugfix version within the hour.

    Luckily that was easier than I thought it would be... added a try/catch to where it attempts to change the block data to match the block in hand, and it appears to fix the problem. Tested with colored wool and plain ol' dirt to ensure that construction, deletion, and toggle features work. Working on adding permissions nodes now, here's the current rundown:

    • secretpassage.* - Allows full access to plugin (default: op)
    • secretpassage.create.other - Allows user to bypass the owner-only protection on building passages
    • secretpassage.destroy.other - As above, but allows them to destroy other player's passages
    • secretpassage.list.other - Allows user to see passages owned by another player
    • secretpassage.toggle - Allows use of the remote toggle feature
    • secretpassage.lockout - Prevents player from using the plugin (can't use switches, can't build passages)
    • secretpassage.deny.(Passage Name) - Prevents player from opening a specific passage. I'm worried that I might put too much strain on the system if I have it register every time a passage is created, so I'm planning on having this only register the existing passages when the server is started/reloaded.
    As far as redstone support, I believe there's an onBlockPower event (or somesuch) I can use to activate/deactivate the passages (based on current), but I would recommend you take a look at the ControllerBlock plugin in the meantime. From what I understand, it's a little easier than mine, and uses redstone currents to turn its passages on/off, with the main drawback being that it only registers one type of block per controller block.

    I've got a little bit of time before work, so I'm going to see if I can get the permissions nodes set up and working. Please note that by default all users can still create/activate gates (to prevent having to mess with the config), and you can deny access by using the permissions node "secretpassage.lockout".

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

    Takel

    Absolutely awesome. Working without a problem now and my oh so cliche 'use the bookshelf' piston based secret passage works like a charm and it even has an easy way to have switches on both sides. But wait a minute, why would I want to continue using pistons with this plug-in? Nothing like the positive feedback of hearing pistons move to indicate something has happened.

    Unfortunately, ControlBlock is completely insufficient for what I intend to do. As the switches for your SecretPassages does not need to be adjacent, or indeed in the general vicinity of the actual toggled structures, my intention is to create sequentially animated large gates and the like using redstone circuits to toggle the switches one after the other. Other uses would be to have very elaborately decorated traps or other things my limited imagination has difficulties rendering.
     
  22. Offline

    Professor29

    Glad to hear you're enjoying it ^_^ Again, sorry about that mistake - I had forgotten to test for regular blocks after adding the code to handle blocks with different skins for different data values (e.g. wool, wood, etc)

    That makes sense. Assuming I have time on my "weekend" (Thu/Fri), I'll be looking into adding timer options as well as the redstone power option. At the very least, a version with working permissions should be available by Saturday morning.

    Ok, version 1.0 is out, providing support for SuperPerms. However, please note that the plugin will work exactly as before if you don't want to bother with them - they are to allow access to special features without granting Op status, as well as locking people out of the plugin or specific passages. One word of warning however: the .deny nodes will lock out of activating the passage, but not modifying the passage, assuming they have the .create.other node and know the name of the passage. I'll be fixing this once I have more time to devote to coding, but I wanted to get an initial SuperPerms version out as quickly as possible...

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

    Professor29

    Version 1.0 now prevents users from modifying a passage they are denied from using (using the secretpassage.deny.[Passage] node). Link is the same, please redownload if you need the feature ^_^

    Also, I currently don't use SuperPerms on my own server, due to lack of time to do all the necessary changes... please post your experience with using the nodes, and let me know if they need clarification or renaming...
     
  24. Offline

    TheDIvineKing

    I got everything working but when it switches it kinda fails for me

    2011-09-08 17:16:24 [SEVERE] Could not pass event PLAYER_INTERACT to SecretPassage
    java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.get(Unknown Source)
    at me.professor29.secretPassage.SecretPassage.togglePass(SecretPassage.java:190)
    at me.professor29.secretPassage.SecretPassage.checkSwitch(SecretPassage.java:181)
    at me.professor29.secretPassage.SPPlayerListener.onPlayerInteract(SPPlayerListener.java:25)
    at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:314)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:210)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:573)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-09-08 17:16:25 [SEVERE] Could not pass event PLAYER_INTERACT to SecretPassage
    java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.get(Unknown Source)
    at me.professor29.secretPassage.SecretPassage.togglePass(SecretPassage.java:190)
    at me.professor29.secretPassage.SecretPassage.checkSwitch(SecretPassage.java:181)
    at me.professor29.secretPassage.SPPlayerListener.onPlayerInteract(SPPlayerListener.java:25)
    at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:314)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:210)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:573)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-09-08 17:16:25 [SEVERE] Could not pass event PLAYER_INTERACT to SecretPassage
    java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.get(Unknown Source)
    at me.professor29.secretPassage.SecretPassage.togglePass(SecretPassage.java:190)
    at me.professor29.secretPassage.SecretPassage.checkSwitch(SecretPassage.java:181)
    at me.professor29.secretPassage.SPPlayerListener.onPlayerInteract(SPPlayerListener.java:25)
    at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:314)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:168)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:210)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:573)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  25. Offline

    Professor29

    Looking into it, gimme a few minutes.

    @TheDIvineKing Your stack trace doesn't quite match up with my current code... what version of the plugin are you using? I want to squash the bug, but I'm not seeing it at the moment...

    Also, could you please give me a little more info? Are you trying to activate a switch before the passage is built? Does the passage successfully toggle after throwing the error? And finally, is that an issue only after using the /reload command, or does it persist after a full server reboot?

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

    TheDIvineKing

    Sorry :(
    My Bad:p I had 0.9 Version :confused:

    Thanks for the plugin works like a charm + brilliant [gold][gold] [diamond][diamond][diamond][diamond]
     
  27. Offline

    Professor29

    No problems, I'm glad it's working for you ^_^

    If you use the SuperPerms options, please let me know how it goes... they're sound in theory, but I haven't tested them yet (due to lack of player base).
     
  28. Offline

    Miningdude

    I must try this. :) *Sigh* now to Get a bigger player base somehow. *Grumble*
     
  29. Offline

    Professor29

    If you find a magic formula that works, let me know. I've been attempting that for months now...

    @Takel Been looking into powering the block with Redstone. To put it simply, I can't check if the block itself has power, but I can check if a redstone device nearby does. To avoid stepping on the toes of ControllerBlock, I'm going to avoid putting the redstone powder on top of the switch, but I had another idea:
    The plugin can test to see if there's a redstone torch on one side of the switch, since you can use powder -> block -> torch as a primitive repeater option. It would allow them to be placed in series so that you can have them set off one at a time...

    Would that be sufficient? Or is there another method that would be easier to use?

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

    Takel

    I'm not too familiar with actual Bukkit plug-in programming/the APIs, but I've noticed methods for the Block object which are:
    .isBlockPowered
    .isBlockIndirectlyPowered
    Are those methods applicable?
     

Share This Page