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

    thescreem

  3. Offline

    moltendorf

    I thought I did a pretty good job originally... But I redid it again.
     
  4. Offline

    thescreem

    The original post wasn't bad, it's just that all plugins have to follow the release guidelines to get moved to Plugin Releases. (Why do you think all plugin threads look roughly the same? :p)
     
  5. Offline

    moltendorf

    Well, is it up to par now? ;)
     
  6. Offline

    superjack010

    This looks cool, But I'm confused about this
    • "Opens the second door in a set when you open a door in a set.
    • Closes the second door in a set when a door in a set is closed."
    What do you mean by "Second door in a set"
    Like two doors put next to eachother?
     
  7. Offline

    thescreem

    It should be, but I am not a Moderator, so I can't move your thread. :/ Wait a little bit, a Moderator should move your thread soon.

    This is a pretty interesting plugin BTW, it looks pretty useful. Nice job!
     
  8. Offline

    moltendorf

    Yes, you open the left door, it opens the right. You open the right, it opens the left. Same goes for closing doors, regardless of whether you did it or the plugin did it.
    No problem, I was just wondering if you approve as you are the one who previously pointed out the lack of proper formatting. :)
     
  9. Offline

    superjack010

    Oh, Thats epic :)
    Trying it out now.

    Edit:
    Do you think you could make the plugin so if i step on a pressure plate both doors would open?
    But It is an amazing plugin.
    Thanks for making this.
     
  10. Offline

    moltendorf

    Yes. On it.

    Released 1.0.1.

    Released 1.0.2. Sorry for the spam. Done for today.

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

    grinch843

    Nice plugin, anyway to make it work with iron doors??
     
  12. Offline

    moltendorf

    I can make it work with Iron Doors. I'm also going to make it work with Trap Doors. However, it's usually expected for Iron Doors to only respond to Redstone. I will be adding in more Iron Door related features when I release my Redstone related fixes.

    Released 1.0.3. Contains the biggest "bug" fix so far, requiring me to do something I haven't done in Java yet. :D

    Linked lists to save the day!

    Released 1.0.4, 1.0.5, and 1.0.6. However, please don't use 1.0.4 or 1.0.5: they're broken.

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

    moltendorf

    Released 1.0.7.
     
  14. Offline

    moltendorf

    Released 1.0.8.
     
  15. Offline

    Musaddict

    Glorious, this even works with Lockette :D Happy to use this! No more messing with buttons and double doors :cool:
     
  16. Offline

    moltendorf

    Released 1.0.9.
    Glad you like it. :)

    Released 1.0.10.

    Hopefully I'm not spamming too much with my release cycle when I'm actually able to work on my plugin. :)

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

    Musaddict

    I cant keep up lol
     
  18. Offline

    moltendorf

    Hehe, don't worry about it. Nothing critical since 1.0.4 and 1.0.5. Which in the end wasn't really too bad as it didn't actually "lose" the doors (you could pick them up after they broke). You would only really need to update if you're having a specific issue that I fixed in the patch(es) you are upgrade(/ing) t(hr)o(ugh). Although, if you have spare time, might as well upgrade as it doesn't hurt to prevent those issues in the first place. :)

    1.0.11 should be out tomorrow. It works just fine, but I changed some core code to offer improved performance (which you will, guaranteed, never notice as this plugin has such a low impact on performance anyway), and I want to verify that there's no bugs going on behind the scene, but I am far too tired to do that right now (again, I wish to reiterate, you will never notice the performance improvement, ever, well maybe if you had thousands of people opening and shutting the same set of doors hundreds of times each second, but if that were the case then you would probably have a much bigger issue on your hands than my plugin poses). :D
     
  19. Offline

    grinch843

    Hi, got another request if possible....Can you make it so that when you use a switch or pressure plate with double doors that both of them are activated instead of just the 1 with the switch/pressure plate?

    Again, good job on the plugin...

    Grinch...
     
  20. Offline

    moltendorf

    Yes. This is coming with the Redstone update which will add the functionality to iron doors as well.
     
  21. Offline

    grinch843

    Thank's......
     
  22. Offline

    moltendorf

    Released 1.0.11, and 1.0.12. Did not make an announcement for 1.0.11 as it wasn't a very important change.

    Use 1.0.11 if you do not like the new feature in 1.0.12 as there is no way to configure this yet.

    Officially began work on 1.1.x branch.
     
  23. Offline

    olimoli123

  24. Am on 1.0.12

    Code:
    2011-06-16 15:18:53 [SEVERE] Could not pass event PLAYER_INTERACT to IntelliDoors
    java.lang.StackOverflowError
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:287)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java:289)
            at com.moltendorf.bukkit.intellidoors.IntelliDoorsDoor.createTimeout(IntelliDoorsDoor.java
    
    It kept spamming, barely managed to delete the plugin and /reload before it died entirely.
     
  25. Offline

    moltendorf

    This was code added in 1.0.12. Please try 1.0.11. For some reason I'm having a very hard time tracking down the cause as, after all, it is a stack overflow. :p

    Aha. Fixed a race condition (introduced in 1.0.12) that, almost guaranteed, would only crop up in extremely rare situations, but more likely on very populated servers (like yours). I can't be one hundred percent sure though, there's always more bugs. Care to try it again?

    Released 1.0.13.

    Also, sorry for requesting you to download 1.0.11 earlier, I just noticed that the link was broken (however, I have since fixed that link). If you have the same issues with 1.0.13 as with 1.0.12, please test 1.0.11.

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

    moltendorf

    Released 1.0.14.

    I hope to have my Redstone update ready by tomorrow for you guys.
     
  27. Offline

    KarnEdge

    ^ I'm having the same problem.

    I even disabled all mods but IntelliDoors and it would not let me place or destroy blocks. Very odd. Otherwise, this mod is awesome.
     
  28. Offline

    iMattxC

    dude if oyu add a timer for holding a door open a customizable amount when using a button I will love you. Door with buttons hate me... -___________________-
     
  29. Offline

    moltendorf

    I guess that's the problems with rewrites... You end up forgetting to do simple things like checking if the block you're working with is a door. D'oh. Fixed the issue created in 1.0.14 in 1.0.15.

    Released 1.0.15.

    Released 1.0.16.

    Released 1.0.17.

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

    moltendorf

    Released 1.0.18.
     

Share This Page