Inactive [MECH] IntelliDoors v1.1.11 - Open and close doors with ease. [1.1-R4]

Discussion in 'Inactive/Unsupported Plugins' started by moltendorf, Jun 9, 2011.

  1. Offline

    moltendorf

    IntelliDoors - Open and close doors with ease.
    Current Version: 1.1.11

    Make your doors easier to manage! No more complicated redstone systems required to control double doors with redstone. Never close a door you just opened again. Stop doors from slamming on your face when you press a button or step on a pressure plate to open them. Need to keep that door open instead of closed? Power it with redstone!

    I was originally inspired to write this as a replacement by Yurij's SelfClosingDoors plugin. However, later I found FrozenBrain's replacement for it, Self-Closing Doors, and then added more functionality based on some of the goals of his plugin. This plugin does not contain any original code from either plugin but I will admit to snagging the idea of using bit manipulation from FrozenBrain's source code. [​IMG]

    Current Features:
    • Inverts the response to redstone on the right door in a double door set.
    • Holds doors open for two seconds after they lose redstone power.
    • Keeps double doors in sync by mimicing your actions on either door to the other door.
      This includes redstone controlling one door causing the other to respond.
    • Individual reverse iron doors retain old functionality.
      This means it closes them when powered, and it opens them when not powered.
      Additionally, instead of delaying their response when losing power: it delays their response when receiving power.
    • Prevents you from accidentally shutting a door after opening it, or opening it after shutting it.
    • Resets all wooden and trap doors to their original power state after five seconds.

    Download IntelliDoors v1.1.11 at moltendorf.com/download/IntelliDoors.jar
    Now on BukkitDev at dev.bukkit.org/server-mods/moltendorf-intellidoors

    Previous Releases:Get the source code on GitHub at github.com/moltendorf/IntelliDoors
    You can also find it in IntelliDoors.jar itself. Just open it as a zip file.

    Known Issues:
    • Monsters don't seem know how to pass through doors opened with redstone.
      In another sense, wouldn't this actually be considered a feature?
    • Opening and shutting a door with redstone does not respect protection plugins.
    • It is only possible to break a door by breaking the block under it.

    Planned Features:
    • Close doors when you walk away from them instead of after a set time (planned for branch 1.2.x).
    • Add configuration file (planned for branch 1.2.x).
    • Add in any additional fixes for security plugins (planned for branch 1.3.x).

    Changes:
    Version 1.1.11
    • Added in support for Fence Gates.
    • Updated ignored blocks in door orientation detection.
    Version 1.1.10
    • Fixed powered wooden doors resetting too quickly after being shut by clicking.
    Version 1.1.9
    • Fixed cancelling of an event pertaining to a door not being respected.
    • Fixed door sound not being played to other users when interacting with a door.
    Older Changes (open)
    Version 1.1.8
    • Fixed placed doors not responding properly without a server restart.
    • Fixed the ability to dynamically change a doors orientation.
    • Improved synchronized code even more.
    Version 1.1.7
    • Improved handling of combinations of manual triggering and redstone triggering of doors.
    • Now prevents you from flipping a door by clicking it shortly after it is opened or shut by redstone.
    • Standard auto-close reduced from 10 seconds to 5 seconds.
    • Redstone hold delay reduced from 2.25 seconds to 2 seconds.
    • Minimum manual flipping delay reduced from 0.5 seconds to 0.25 seconds.
    • Fixed a large number of issues caused by doors being added and removed.
    • Fixed some rare issues with doors being grouped together when they should not be.
    • Moved the sound played to the center of the door set from the left one.
    • Completely reworked the synchronized code, as the amount of synchronization going on was superfluous.
    • Completely rewrote the library.
      • Replaced deprecated code with new code.
      • More garbage collection friendly.
      • More initial memory use.
      • Less memory use per door.
      • Doors are now grouped, improving seek time for active sets.
    Version 1.1.6
    • More major reworks of logic.
    • Fixed doors staying locked open when there is redstone power provided.
    • Fixed doors not shutting in a timely manner when open and shut before removing power from them.
    • Fixed some issues with events being cancelled by protection plugins not being respected.
    Version 1.1.5
    • Major rework of logic for slight change in how redstone triggers occur.
      This fixes my plugin for build (approximately) 953 and later.
      It, however, retains backward compatibility with previous builds.
    • Reverse iron doors that are not in a set now respond opposite to how reverse wooden doors respond to redstone.
    • Doors now orient themselves to their proper power state after being placed.
    • Door sets will no longer form when either door can belong to more than one door set.
    • Bukkit fixed trap doors not staying open after losing redstone power.
    Version 1.1.4
    • Wooden and trap doors now restore themselves to their power state rather than closing when clicked.
      This means you can keep doors open by powering them with redstone power.
    • Fixed reverse door switching with redstone.
    Version 1.1.3
    • Doors now take two extra seconds to close after redstone power is shut off.
      Trap doors do not feature this currently.
    • Fixed an issue with opening or closing doors manually while redstone is powering them.
    Version 1.1.2
    • Fixed a very rare server-crashing infinite loop caused by a race condition.
    • Got really mad at race conditions and fixed every feasibly possible one even if CraftBukkit does not have the possibility of triggering them.
    • Now including the current release in the previous releases list to allow people who use plugin updaters to get the latest version and prevent it from auto-updating.
    Version 1.1.1
    • Fixed an issue with input being ignored to one door in some cases.
    • Fixed an issue with doors that are open on plugin load not responding to redstone until closed for at least ten seconds.
    • Added lots of comments to the main functions triggered by events.
    Version 1.1.0
    • Inverts the redstone power to the second door in a set.
    • Redstone now powers both doors in a set rather than just one door.
    Version 1.0.18
    • Now works with trap doors.
    • Does not consider adjacent trap doors as door sets.
    Version 1.0.17
    • Sounds now only play once per door set rather than for each door.
    Version 1.0.16
    • Added sounds to any automated effects with doors. Thanks to SpaceManiac.
    • Added a period to my topic title.
    Version 1.0.15
    • You can build again with this plugin installed.
    Version 1.0.14
    • Broke the ability to build. Oops.
    • Another nearly complete rewrite of the code; retains all previous features.
    • Fixed several theoretically possible bugs that should otherwise never occur in a single-thread setup.
    Version 1.0.13
    • Fixed a possible race condition.
    • Fixed an issue with doors that are open on plugin load being unable to close unless left closed for at least ten seconds before opening them again.
    Version 1.0.12
    • Introduced a race condition.
    • Now prevents you from accidentally opening or shutting a door (set) right after you did the opposite by cancelling any attempts to open or shut a door (set) within half a second of opening or shutting it.
    Version 1.0.11
    • Improved handling of sync delayed tasks. Now cancels the previous one and creates a new one rather than just creating a new one but telling the old one to do nothing when it's run. It feels like a much cleaner way to handle things.
    Version 1.0.10
    • Checks against more blocks than air to determine the proper closed state.
    • Now only pairs doors together if they are a matching set.
    Version 1.0.9
    • Now detects whether or not your doors match the orientation they were originally set to before closing them.
    Version 1.0.8
    • Fixed an issue with the surrounding block detection resulting in false positives in very rare block placements.
      It now follows my rules no matter what.
    Version 1.0.7
    • Now detects surrounding blocks to determine the proper closed state of a door.
    • Changed the set detection to ignore doors at different elevations to the door clicked.
    • Cleaned up the constructor of the IntelliDoorsDoor class.
    Version 1.0.6
    • Original intended state of the 1.0.4 release.
    Version 1.0.5
    • Instead of misplacing the left or only door in three of the four possible facings, I broke it. Double oops.
    Version 1.0.4
    • Misplaced the left or only door in three of the four possible facings. Oops.
    • Fixed some minor issues with placing other blocks before the automatic closing occurs.
    Version 1.0.3
    • Fixed an issue with the doors always closing ten seconds after every time you clicked.
      They will now only close ten seconds after you last clicked.
    • Completely rewrote code to contain significantly less duplication.
    • Fixed some theoretically possible bugs (theoretically).
    Version 1.0.2
    • Fixed an issue with door protections causing the second door in a set to be opened when the original one was not opened successfully. Thanks to Sleaker, and SpaceManiac.
    Version 1.0.1
    • Fixed an uncaught exception that was pointless to fix other than to prevent server log spam and server administrator heart attacks.
    Version 1.0.0
    • Initial release.
     
    Jimmylobo, Cenarius and olimoli123 like this.
  2. Offline

    moltendorf

    Done. Also don't forget there's a thing you can click above and below the first post that says "Collapse First Post." It appears to also set a preference to keep it hidden on subsequent pages. So it's visible on the first page, but not the second and beyond. :)

    It's a known bug. Just break the block under the door, or the block behind the trap door. As I've stated to people before... It's in the original post.
     
  3. Offline

    mrgreaper

    since adding this all doors with LWC locks open to all users can u add support for lwc please other then that nice plugin
     
  4. Offline

    moltendorf

    I am aware of this, and it's on the todo list.
     
    mrgreaper likes this.
  5. Offline

    mrgreaper

    thank you
     
  6. Offline

    Monkey78

    For some reason when I place a pressure plate or button next to an iron door, the 1st activation opens it, but it never closes again no matter what I do.
    Is this a known issue?

    I don't have any other plugins that manage door actions or security, and I only use WorldGuard for general protection, but this happens in any areas, protected or not.
     
  7. Offline

    moltendorf

    The only known issues are listed in the original post. I don't have any steps to reproduce this other than "place a pressure plate by an iron door," which is exactly how I test all my door setups, and none of them currently fail. Make sure it isn't a reverse iron door (i.e. hinge is on the right) is about all I have to offer because it responds the opposite. It closes two seconds after being powered and opens instantly after losing power.
     
  8. Offline

    Monkey78

    That's all I can tell you. I thought it odd that something so simple had not been picked up earlier.
    I place an iron door on flat ground (the hinges appear on the left), place one dirt block on one side (same happens whichever side you pick), then put a button on the dirt block on the same side I am facing. See Here for screenshot.
    When I press the button the door opens, but stays that way until I dig it up again. No amount of using the button or putting redstone torches next to it will get it to close again.
    The same thing happens when using any other form of power source to open it.

    If I then remove the door (from above picture) and replace it in the same spot, the hinges then appear on the right, but it still won't move no matter what I try powering it with.

    I've also tried removing various plugins which alter any kind of door/redstone mechanic to see if it's a conflict, but other than taking the main ones I use to keep the world from imploding on itself (WorldEdit/WorldGuard and Essentials), none of them have changed the behaviour.

    Hope this helps! :eek:
     
  9. Offline

    moltendorf

    I will try to reproduce and fix it when I get home in about 8 hours.

    This is standard unmodified behavior of Minecraft. It picks the side with more blocks than the other to attach the hinge to, defaults to the left if they're the same.

    This should have no impact on my plugin as far as I'm concerned.

    Much more so. :D
     
  10. Offline

    iMattxC

    Im the owner of a server that uses lwc and this plugins seems to limit my ability to open locked doors created by users on my server. Can someone else confirm this bug?
     
  11. Offline

    Monkey78

    Sorry I don't use LWC. :oops:

    This was more for mentioning that it started off broken and couldn't be activated even for the first time, rather than where the hinges were placed. Just in case it might be significant.:)

    Additionally, I've discovered that any iron door with a button/pressure plate trigger that I built before installing your plugin works fine with your plugin and works as intended (i.e. triggers open, then closes a few moments later), but if I remove the working iron door and then re-place it in the exact spot again (changing nothing else) it's suddenly broken like all the others I create with your plugin installed, and it gets stuck in the open position once activated for the first time.

    This is reproducible by removing the addon, placing the iron door + doorway with button/plate, then reinstalling the plugin. The door then works as intended (until rebuilt while the plugin is installed).
     
  12. Offline

    God0x

    I get some problem, when i reload the plug-in a few times, it doesn't work any more. The dooble doors are still opening together but, they stay open. There is the same problem with single doors, trap doors, iron doors etc...

    Has someone an idea ?
     
  13. Offline

    moltendorf

    Released 1.1.8. This should fix the issues submitted by Monkey78.
     
  14. Offline

    Monkey78

    Thanks for the update!

    That seems to have fixed the main issue with the iron doors getting stuck open after activation, much appreciated! :D
    Although, I thought you might want to know about a smaller related bug which is still there.

    If you make a reverse iron door by placing the right hand door frame blocks first, then placing the iron door to the left of that (positions shown here) then the door will auto open as soon as you place it and will refuse to close. It actually seems all reverse doors auto open right after being placed, but the wooden one will then close a few moments afterwards, where as the iron door will stay stuck open.
    No amount of trying to activate it with a button/plate/etc will get it to close again.

    This bug's not such a big deal, as I would think not many people would be using a reverse iron door on it's own, but if you build a reverse iron doorway without realising it, then the whole mechanics gets messed up the same as before.
    Just thought you may want to know about this. :oops:

    Other than that, loving the plugin, thanks! :D
     
  15. Offline

    moltendorf

    It's not a bug. It's a feature. The doors close when provided power. But, like the other doors, they take two seconds to close, and open instantly. It's intended to keep the vanilla iron door lock in place so that you can't break in by placing a Redstone torches by the door, etc.
     
  16. Offline

    Monkey78

    Ah, I never saw it stated anywhere that it has to be powered for 2 full seconds before it closes, I was still using buttons, which you cannot keep on. :)
     
  17. Offline

    Deathlysteve-

    uhm when are you planning to fix the LWC problem....? 1.1.8 doesnt fix this am i right?
     
  18. Offline

    moltendorf

    I've been trying to fix the majority of issues that affect everyone first. I'm also currently deciding the best way to handle multiple protection plugins as I don't plan on supporting only specific ones.
     
  19. Offline

    God0x

    I can see on the planned features that you want in the future config file set a distance to walk before the door close itself. So why don't you make a delay instead of a distance ? I use lockette to private my doors and i don't wanna other players follow me when i use my private doors, if there was a delay, i could pass, and just after my passage the door would close itself. I think that's a better idea. However you can still do a delay OR a distance, this would be configurable in the future config file. What do you think about that ?
     
  20. Offline

    moltendorf

    Both will be available. Currently it is time based.
     
  21. Offline

    moltendorf

    Released 1.1.9. This should fix the protection plugin issue. I introduced a minor regression, but I figured that the protection fix was more important than delaying an uncommon setup the full five seconds (rather than two).

    Released 1.1.10. This fixes the issue I introduced in 1.1.9.

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

    Musaddict

  23. Offline

    sintri

    Brilliant, finally got around to updating doors, not that the old self closing doors was broken or anything, but this does add a bit more functionality.
     
  24. Offline

    RedAlex

    On my server CF 1063 with LWC protection, Towny 0.74 ,Intellidoor 1.1.10 i have random door not autoclose. Single and double door too.
     
  25. Offline

    IronPython

    very nice been using it on my server, but there is one thing my users have asked and i thought it was a good idea. what i thought you could do if it is not to hard to add is when you left click a door/trapdoor it will close after a set time just like it is set up now, but if you right click a door/trapdoor it will stay open/close and will not have a timer set to it. that way we can make things like chairs or lamp post, puzzles. things that you want the trap door to stay open for looks or to be used but with out having to add red wire to it (things like lamp post were your putting trapdoors on the side of the glowstone, it has no space to put red wire on it to keep them up)
     
  26. Offline

    Don Redhorse

  27. Offline

    moltendorf

    I apologize with the lack of updates. I've been really busy on a PHP based project, and will revisit this within the month, unless anything breaks that I can reproduce, in which I will attempt to fix as soon as possible. :3

    Could you please whitelist me (my username is moltendorf) if you have a whitelist, and send me a private message with info on how to join your server? I couldn't quite get this to break my plugin on my test setup.

    Use redstone torches hidden under the door. That will keep them open. :3
     
  28. Offline

    Don Redhorse

    thanks for the update... just wanted to make sure you are still there before I use your plugin... atm plugindevelopers are disappearing into a black hole as it seems..
     
  29. Offline

    IronPython

    cant do that to a glowstone block on a fence post with trap doors around it to look like a lamp post tho. that can work on some things but i can see a lot of areas were it would be nice to keep a door/trapdoor open and there is no easy way (or way at all) to put redstone to keep them open. thats why i thought it would be nice to have a right click and left click differ ^,..,^
     
  30. Offline

    moltendorf

    Right. I'll add this in in my configuration update.
     
  31. Offline

    IronPython

    sounds good ty (i understand if you dont want to add it in just letting you know why i think it would be nice incase other people like making things with trapdoors like i do lol) ^,..,^
     

Share This Page