[MECH] BlockDoor v005 - Doors out of Blocks - [released]

Discussion in 'WIP and Development Status' started by Arcwolf, Mar 28, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Arcwolf

    BlockDoor v005d bukkit re-work/port! With ho0ber's permission and using parts of his code. Credit goes to him for the original concept and its original hey0 plugin this is based on.

    Single state door Tutorial Video: HERE

    Two state door Tutorial Video: HERE

    or check the readme for basic info.

    Source: HERE

    Download: HERE

    Idea Video:
    HERE .......&...... HERE

    Intro:
    This is a port and re-working of the BlockDoor plugin originally created by ho0ber for Hey0 server mod. The basic jest of the plugin is to allow players to define and use "doors" made out of blocks. The term "doors" doesn't really cover all the possibilities a creative player might come up with though.

    Features:
    • Player created doors made from blocks of your choosing in any shape or size
    • An admin editable item database
    • Many different ways to trigger doors: Clicking triggers, redstone, and different detection zones
    • Mapping of as many triggers and zones as you please to any number of doors you create
    • Multiworld safe
    • Permissions support with either GroupManager 1.0 a5 or permissions that GroupManager emulates. Permissions plugin is not a requirement. If no permissions available plugin defaults to Server OPs mode.
    Commands:
    • /ddoor [doorname] - Creates a door with the given name and starts door selection. Right click two blocks to select the door region.
    • /dtwostate [doorname] <lock/unlock> - Creates a two state door with the given name. Also allows players to unlock or lock the door for editing.
    • /dtrig [triggername] - Creates a trigger to toggle doors. Right click to select a trigger block, which will toggle the door when right clicked.
    • /dmytrig [triggername] - Creates a player owned trigger - Only the creator can toggle
    • /dfill [doorname] <blockid or blockname : offset> - Sets the specified door to be made of the given block type.
    • /dempty [doorname] <blockid or blockname : offset> - Sets the specified door to be made of the given block type.
    • /dzone [zonename] - This creates a trigger zone which toggles the door when players enter or exit. Right click two blocks to select the zone region.
    • /dmyzone [zonename] - Creates a player owned zone - Only the creator is detected. Right click two blocks to select the zone region.
    • /dmzone [zonename] - This creates an any Mob type triggered zone which toggles the door when mobs enter or exit. Right click two blocks to select the zone region.
    • /dezone [zonename] - This creates a zone that toggles a door if any living entity (mobs or players) enter it. Right click two blocks to select the zone region.
    • /dazone [zonename] - This creates a zone that toggles a door if any aggressive mob enters it. Right click two blocks to select the zone region.
    • /dpzone [zonename] - This creates a zone that toggles a door if any passive mob enters it. Right click two blocks to select the zone region.
    • /dlink [redtrig/trigger/mytrigger/myzone/zone/mzone/azone/pzone/ezone] [triggername] [doorname] [toggle/open/close] <1/2>- Used to connect triggers and zones to a given door (or doors) 1 and 2 option used for single state and two state door linking.
    • /ddel [door/twostate/trigger/zone/mzone/pzone/azone/ezone] [name][playerName][world] - Deletes specified door, trigger, or zone
    • /dredtrig [triggername] - Creates a redstone trigger. Right click an object that outputs redstone current and that object's state changes will be used to toggle a door.
    • /dinfo <cancel> - Will show information about BlockDoor objects.

      with admin permissions
    • /dlist <all> <type> <player> <page>- Lists all doors, zones, and triggers you created or anyone else crated.
    • /dtoggle [doorname] <player>- Toggles the specified door. This state is also what is saved to file, and will be the state when the plugin reloads.
    • /dtoggle2 [twostatedoorname] <player> - Toggles the specified two state door. This state is also what is saved to file, and will be the state when the plugin reloads.
    • /ddel [door/twostate/trigger/zone/mzone/pzone/azone/ezone] [name][playerName][world] - Deletes specified door, trigger, or zone
    • /dreload - reloads the blockdoor datafiles

      with player permissions
    • /dlist <type> <page.- Lists all doors, zones, and triggers you created.
    • /dtoggle [doorname] - Toggles the specified door. This state is also what is saved to file, and will be the state when the plugin reloads.
    • /ddel [door/trigger/zone/mzone/pzone/azone/ezone] [name] - Deletes specified door, trigger, or zone

      Console commands: (must be enabled in config file)
    • /dlist <type> <player> <page>
    • /ddel [door/twostate/trigger/mytrigger/zone/myzone/mzone/pzone/azone/ezone] [name] <player> <world>
    • /dreload - reloads the blockdoor datafiles.
    Internal Database Acceptable Block Types: *for single state doors
    List (open)

    air
    stone
    grass
    dirt
    cobblestone
    wood or woodplank or woodenplank
    bedrock or adminium
    water or stationarywater
    lava or stationarylava
    sand
    gravel
    goldore
    ironore
    coalore

    log offset usual or normal
    log offset redwood
    log offset birch

    leaves offset usual or normal
    leaves offset redwood
    leaves offset birch

    sponge
    glass
    lapislazuliore or lapisore
    lapis or lapisblock or lapislazuliblock
    sandstone

    wool or cloth
    offset white, orange, magenta, lightblue, yellow, lightgreen,
    pink, grey or gray, lightgrey or lightgray, cyan,
    purple, blue, brown, darkgreen, red, black

    gold or goldblock
    iron or ironblock

    doubleslab or doublestep
    offset stone or stoneslab or stonestep
    offset sandstone or sandstoneslab or sandstonestep
    offset wood or woodenslab or woodenstep
    offset cobblestone or cobblestoneslab or cobblestonestep

    slab or singlestep or step
    offset stone or stoneslab or stonestep
    offset sandstone or sandstoneslab or sandstonestep
    offset wood or woodenslab or woodenstep
    offset cobblestone or cobblestoneslab or cobblestonestep

    brick or brickblock
    bookshelf
    mossycobblestone or mossystone or mossstone
    obsidian
    diamondore
    diamondblock or diamond
    redstoneore or redstone
    glowingredstoneore
    redstonetorchoff
    redstonetorch
    ice
    snow or snowblock
    fire
    cactus
    clay or clayblock
    fence
    pumpkin
    jackolantern
    netherrack or netherrock or bloodstone
    soulsand or slowsand or nethersand
    glowstoneblock or glowstone or brittlegold
    web

    (all item id's for the above also apply)
    (offsets for the block types are entered like the following example cloth:blue)
    (item main-type colon sub-type)


    Permissions: Not required but GroupManager 1.0 alpha 5 is incorporated.
    Nodes (open)

    blockdoor.door​
    blockdoor.player.twostate​
    blockdoor.admin.twostate​
    blockdoor.trigger​
    blockdoor.mytrigger​
    blockdoor.admin.breaktriggers​
    blockdoor.player.breaktriggers​
    blockdoor.redstonetrigger​
    blockdoor.link​
    blockdoor.link.trigger​
    blockdoor.link.mytrigger​
    blockdoor.link.redtrig​
    blockdoor.link.zone​
    blockdoor.link.myzone​
    blockdoor.link.azone​
    blockdoor.link.pzone​
    blockdoor.link.ezone​
    blockdoor.link.mzone​
    blockdoor.admin.toggle​
    blockdoor.player.toggle​
    blockdoor.admin.toggle2​
    blockdoor.player.toggle2​
    blockdoor.fill​
    blockdoor.empty​
    blockdoor.zone​
    blockdoor.myzone​
    blockdoor.azone​
    blockdoor.pzone​
    blockdoor.ezone​
    blockdoor.mzone​
    blockdoor.info​
    blockdoor.usetriggers​
    blockdoor.usezones​
    blockdoor.player.list​
    blockdoor.admin.list​
    blockdoor.admin.delete​
    blockdoor.player.delete​
    blockdoor.reload​


    Known Issues:
    • Things that havent been discovered yet.
    Brief ChangeLog:

    Version 0.05d
    • Tested with permissions 3.0
    • Changed permissions checks for easier use
    • made changes to usage help
    • fixed a typo
    Version 0.05c
    • Performance enhancements
    • incorporated Server OPs mode if no permissions detected.
    • Fixed a potential AIOBE
    Detailed Changelog

    If you notice any bugs and stuff please try and post a detailed report on how it happened, if other plugins are running, craftbukkit versions and an error message.

    So there ya go, enjoy!
    ArcWolf
     
    Samkio and Piercing Goblin like this.
  2. Offline

    Arcwolf

    I think I managed to get permissions incorporated and what not... which means it works for me. :) duno about everyone else yet. I compiled this using Bukkit 483 for CraftBukkit 594. So if you have something less then that version I dont know if it will work right. It should but <shrugs>

    Node list is in the post above. Permissions are not required but if you use Groupmanager 1.0 apha 5 then it should support it alright.

    Tested and seems to be working with CraftBukkit 621
     
  3. Offline

    Arcwolf

    Did some more updating pushing version up to 0032c.

    In this version I have added in a few more zone types with the following commands:

    /dmzone - This creates an any Mob type triggered zone which toggles the door when mobs enter or exit.
    /dezone - This creates a zone that toggles a door if any living entity (mobs or players) enter it.
    /dazone - This creates a zone that toggles a door if any aggressive mob enters it.
    /dpzone - This creates a zone that toggles a door if any passive mob enters it.

    I also did some more clean up on the code. Tweaks here and there I guess. I'm really hoping to be able to get some kind of redstone torch like trigger working in a few days. Maybe when thats working I can push this over into the submissions forum?

    Strangely, Ho0ber has not emailed me back since my initial contact with him. He must be super busy...

    Test it out, error reports or strange glitch reports are welcome. I'd like to get this plugin nice, smooth and bug free!

    This version was compiled with Bukkit 493, and seems to run fine on CraftBukkit server 621
     
  4. Offline

    dupsmckracken

    hey downloaded and installed a few minutes ago, and I think the zones are a bit messed up on the new build. the doors flicker off and on, whether i'm in the zone or not. ididn't try the passive or aggressive zones so idk. The zone in question is a single zone that covers both sides of the door if that matters
     
  5. Offline

    Arcwolf

    Confirmed... /dzone is messed up... crap, well the other zone types seem ok.
    ---

    Ok, I think I fixed it. It was a part of that regression that occurred some time between 32 and 32b..

    A ! or two were put in the wrong place in the playermove event listener. Caused the zone to start counting wildly. Stupid over sight on my part. ... Anyway, try the new version I just uploaded. Just redownload the 0032c.zip in the Main post above.

    Thanks for posting about the issue...
     
  6. Offline

    Arcwolf

    v0.0032d
    added in color to the messages received when performing commands to help make things clearer.
    moved the write and read fuctions of the data file to its own helper class
    re-enabled the ability for admins to delete other player doors/triggers/zones new permissions are blockdoor.delete.player & blockdoor.delete.admin
    Players can only delete the stuff they create /ddel <objectname>
    Admins have the ability to use /ddel <objectname> <playername>
    Readme update, Forgot to mention the permissions required for individual zone types. Added those to the list above.

    Next up is to figure out how to get the /dfill and /dempty command to accept the actual names of blocks instead of their id number. That challenge might take a little rewrite of somethings :-/

    Posted the new version above BlockDoor602+v0032d.zip

    Test it out if you like and post bugs.
     
  7. Offline

    Arcwolf

    v0.0032e
    added in the ability for the /dfill and /dempty commands to accept the item names and not just the item id numbers. Because remembering id numbers sucks!
    This change shouldnt break the BlockDoor.txt file. I managed to get around it by changing the way the fill and empty variables are read in and
    bypassing a need to add a new field. Old doors should work as they used to and if the fill or empty is changed will be automatically converted to the new
    format. New door will use the new format already obviously.

    example of how to use /dfill and /dempty

    Code:
    Usage: /dfill <door_name> <item_ID or item_NAME : offset>
    
    example:
    
    /dfill myDoor cloth:blue
    /dempty myDoor 44:2
    
    
    In the above example the door myDoor would be filled with blue cloth
    In its empty state the door myDoor would be filled with wooden half steps.

    The issue fixed in this version has been bugging me since I first started using this plugin way back in heyO days. Damn I'm glad I nailed that.

    Test it out and let me know if it bugs out. I think I found most of the issues and I've tested it for about an hour with different blocks and configurations. Seems to work ok. But I cant test for everything. I recommend you back up your BlockDoor.txt just in case something wacky happens with the 0032e version. I dont think it will but its always good practice.

    Enjoy!
     
  8. Offline

    Arcwolf

    v0.0033
    I have changed how the /dlist command works. I totally rewrote it from the ground up. It now takes into account the following arguments
    for admins:
    /dlist
    /dlist <page>
    /dlist <player>
    /dlist <type>
    /dlist <type> <player>
    /dlist <type> <page>
    /dlist <player> <page>
    /dlist <type> <player> <page>
    /dlist <all>
    /dlist <all> <type>
    /dlist <all> <page>
    /dlist <all> <player>
    /dlist <all> <type> <page>
    /dlist <all> <type> <player>
    /dlist <all> <player> <page>
    /dlist <all> <type> <player> <page>

    for players:
    /dlist
    /dlist <page>
    /dlist <type>
    /dlist <type> <page>

    The command also separates lists larger then 8 entries into separate pages allowing for easy reading of all the doors, triggers and zones in the BlockDoor database.
    Moved into a beta testing phase now. I want to make sure all the kinks are worked out then we can start adding new features again. Big Mile stone! :) BlockDoor is now far more advanced then it was for Hey0.

    Test it out and let me know if its workin ok. The list command especially. The logic behind it might need some more tweeking. After the 3rd rewrite of it I think I managed to get it working right now but it needs thoroughly tested to be sure.

    So, guess thats it for a little while. Maybe a week or so, just to get the kinks out if I find em. Then I guess I can submit this to the submissions forum? and then maybe start playing around with new features instead of bug and alpha fixes. Yippy! :D
     
  9. Offline

    Piercing Goblin

    Love the plugin! Working flawlessly so far!
     
  10. Offline

    Arcwolf

    Thanks, unfortunately deeper inspection of the code has revealed a flaw in the new Zone code. With the way the current entity zones work if a mob or player enters a zone and multiple zones of that type exist then the plugin incorrectly assumes that the zone count applies for all zones of that type. meaning if I step into myzoneA I am counted to like I am also in myzoneB. Its a issue I'm working on trying to resolve. ... and damn if it doesnt have me stumped right now.

    The player zones work ok. Its just the ezone mzone azone and pzone types that are fundamentally flawed in their execution right now.

    [​IMG]

    Thats how this plugin is making me feel right now!

    v0.0033a
    I believe I've finally fixed most of the issues with zones. I still have one last problem to resolve involving mobs or players despawning in a zone or teleporting away from the zone. I'm not sure how to fix that one yet. However, I've tested the zones out now and the previous problem noted with zones of the same type counting wrongly has been resolved. I've also moved the player zone away from the player_move event and into the new entity zone detection class. Now there is only one type of zone detection coded in instead of two. (no more one for players using player_event and one for entities using a seperate timer thread) All zones now run on a timer thread instead. Lastly, in this version I've updated the /dzero to accept the following arguments /dzero [zoneType] [zoneName] <playerName>
    The first two arguments are required, the last one is not. I think thats all I fixed for this version.

    There, so I think that should be just about it for zones. That last little issue with de-spawning mobs or teleporting out of zones. I'll have to think about... Lets hope 33a fixed the last major problem though...

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

    johngear

    Nice goint to try this soon ;P
     
  12. Offline

    Arcwolf

    33b is uploaded. I think I've managed to fix the issue with player detecting zones loosing count if a player quits or teleports away from that zone type. It will need some more testing but it seems like it works ok.

    The only problem I see now is the special case where mobs can be despawned while still in a zone, thereby causing that zone to loose count. Not sure yet how to fix that one... :-/
     
  13. Offline

    Xenon808

    I Love this Plugin :D

    but...

    some doors dosent work after a Server restart :(
     
  14. Offline

    Arcwolf

    [creeper] I found a stupid typo in a detection method with a few zones. <sigh> I reuploaded 33b with that fixed. If that was indeed your problem then this fix will solve it. Otherwise I'll need more information then what your giving me.

    well this sucks... I cant think of a single way of detecting if a mob has despawned from within a zone. IE chunk unload... Short of rolling through all the entities on the server and cross referencing them with the ones known about in zones... which I am pretty sure would be a drain on larger servers because it would have to happen quite regularly. I dont think I'm going to be able to include /dezone /dazone /dpzone and /dmzone in the release. They just cant be used for any reliable door triggering. <sigh>

    If I cant think of something better to do code wise to fix this by tomorrow night. I'm going to shelve that part and wait till bukkit gets an event or something that reliably detects mobs despawning other then death. (I've incorporated the only way I can think of into the plugin and I'm going to let it ride until people bitch about it)

    Anyway, On the plus side, once I move out of beta I do plan on adding in Redstone torch checks as a valid trigger. I think that would allow players to create a trigger which could use Mob Sensor
    ... at least in theory :D heh

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

    Piercing Goblin

    Any way I could use a redstone wire or redstone torch as a door so when a block is pressed, it would activate/complete a redstone circuit?
     
  16. Offline

    Plague

    Do not use a plus sing in your version tag, you cannot guarantee that for future updates.
     
  17. Offline

    Piercing Goblin

    Also, zones don't appear to be working when using CB 674
     
  18. Offline

    Arcwolf

    yea, its an array index out of bounds error. I'm on it. IN fact I'm just about to upload the new version that fixes it now. Sorry about that. I was pretty exhausted yesterday when I uploaded the c version so I wasnt thinking 100% when I did the update :-/ I've just tested all the zones now and they are working in test cases. Its not throwing a index out of bounds error now and the zones trigger doors correctly so far.

    Try v0.0033d in the first post and see how that works.
     
  19. Offline

    Piercing Goblin

    I can create certain types of zones, like ezones, but not regular zones using /dzone. It just doesnt show up in the list.
     
  20. Offline

    Arcwolf

    When you type in /dzone what does it say? Is there any message returned to you?Like creating zone?
     
  21. Offline

    Piercing Goblin

    Usage: /dzone <zonename>

    I can make /dezones and they appear in the list, but not regular zones, not sure why. :p
     
  22. Offline

    Arcwolf

    the only way to get that error message is if you are not entering the zone name correctly. example

    /dzone my zone

    cant have spaces in the zone name.

    /dzone myzone

    would be correct.
     
  23. Offline

    Piercing Goblin

    I'm entering it as follows:
    Code:
    /dzone test
    and when I type
    Code:
    /dlist
    or
    /dlist 2
    I don't see my zone in there, but I do see a dezone I made.
     
  24. Offline

    Arcwolf

    ok, so when you type /dzone test its saying Usage: /dzone <zonename>

    that shouldnt be possible. I say that because /dezone and /dzone are using the same command code in the onCommand function.

    The only difference between the two is one listens for /dzone and one for /dezone.

    its possable that the zone test was not created correctly. Is there an entry for it in your BlockDoor.txt file? If so post that plz.
     
  25. Offline

    Piercing Goblin

    After running these commands
    Code:
    /dzone test2
    /ddoor test
    /dlink zone test2 test toggle
    When I walk through my zone, it does not toggle my door.
    I also misread something, the zones are in my .txt, but still aren't triggering my door.
     
  26. Offline

    Arcwolf

    I'm not sure why that would be happening to be honest. I just created a zone just now and linked it to a door and it toggled just fine. I'm using the same version as posted above. 33d

    can you please post the entries for those from you BlockDoor.txt file. I would very much like to see them.
     
  27. Offline

    Piercing Goblin

    From blockdoors.txt
    Code:
    #Be careful if you must edit this file
    #
    #Example entries:
    #
    #DOOR_OBJECT_TYPE:USERNAME:DOORNAME:START_X:START_Y:START_Z:END_X:END_Y:END_Z:COORDINATES_SET:FILL_ID,FILL_OFFSET:EMPTY_ID,EMPTY_OFFSET:OPEN_OR_CLOSED:WORLD
    #ZONE_OR_TRIGGER_OBJECT_TYPE:USERNAME:TRIGGER_OR_ZONE_NAME:START_X:START_Y:START_Z:END_X:END_Y:END_Z:COORDINATES_SET:OCCUPANTS:WORLD:DOORS_LINKED_TO DOOR_CREATOR DOOR_TYPE
    #DOOR TYPES: TOGGLE, ON, OFF, DISABLED
    #ZONE TYPES: EZONE, AZONE, PZONE, MZONE, ZONE
    #
    #
    DOOR:PiercingGoblin:bankwin1:-40:68:29:-40:68:29:true:85,0:0,0:false:TrevorGrass
    DOOR:PiercingGoblin:bankwin2:-40:68:22:-40:68:22:true:85,0:0,0:false:TrevorGrass
    DOOR:PiercingGoblin:bankwin3:-40:68:15:-40:68:15:true:85,0:0,0:false:TrevorGrass
    TRIGGER:PiercingGoblin:bankswitch1:-41:68:17:true:TrevorGrass:bankwin3 PiercingGoblin TOGGLE|
    TRIGGER:PiercingGoblin:bankswitch2:-41:68:24:true:TrevorGrass:bankwin2 PiercingGoblin TOGGLE|
    TRIGGER:PiercingGoblin:bankswitch3:-41:68:31:true:TrevorGrass:bankwin1 PiercingGoblin TOGGLE|
    DOOR:PiercingGoblin:bankfront1:-27:68:30:-27:70:35:true:85,0:0,0:true:TrevorGrass
    DOOR:PiercingGoblin:bankfront2:-27:68:23:-27:70:28:true:85,0:0,0:true:TrevorGrass
    DOOR:PiercingGoblin:bankfront3:-27:68:16:-27:70:21:true:85,0:0,0:true:TrevorGrass
    DOOR:PiercingGoblin:bankfront4:-27:68:9:-27:70:14:true:85,0:0,0:true:TrevorGrass
    TRIGGER:PiercingGoblin:banklock:-26:67:22:true:TrevorGrass:bankfront1 PiercingGoblin TOGGLE|bankfront2 PiercingGoblin TOGGLE|bankfront3 PiercingGoblin TOGGLE|bankfront3 PiercingGoblin TOGGLE|bankfront4 PiercingGoblin TOGGLE|bankfront3 PiercingGoblin TOGGLE|bankleft PiercingGoblin TOGGLE|bankright PiercingGoblin TOGGLE|
    DOOR:PiercingGoblin:bankleft:-32:68:36:-28:70:36:true:85,0:0,0:true:TrevorGrass
    DOOR:PiercingGoblin:bankright:-32:68:8:-28:70:8:true:85,0:0,0:true:TrevorGrass
    TRIGGER:PiercingGoblin:clubbartrig:20:49:16:true:TrevorGrass:clubbar PiercingGoblin TOGGLE|clubbarbottom PiercingGoblin TOGGLE|clubbartop PiercingGoblin TOGGLE|
    DOOR:PiercingGoblin:clubbarbottom:19:48:15:19:48:15:true:5,0:0,0:false:TrevorGrass
    DOOR:PiercingGoblin:clubbartop:19:49:15:19:49:15:true:44,2:0,0:false:TrevorGrass
    
    Hmm! Interesting fact, when I make a zone 2 high by 1 wide (enough for a player to fit through) it doesnt trigger, but does when I make a wider one thats even only 1 high. Is there some restriction or problem to 1x1x2 zones?

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

    Arcwolf

    But you said the zones were in your txt. I dont see them... I need to see what BlockDoor did when it created zone test2 and what it did when it created door test

    The info you have shown me above doesnt contain those objects but looks normal otherwise. I assume that the doors and triggers above all work correctly?

    That is true yes 1x1x2 wouldnt work I believe. I have yet to resolve that issue but I've seen it in other plugins as well. Something to do with how Bukkit spits out x,y,z corrdinates.

    a zone of 1x1x2 would be zero wide.

    While a zone of 2x2x2 would be I believe 1 wide... No idea why, it doesnt make sence and I cant figure out how to fix it or work around it really. I actually tried like a week ago and gave up :-/

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

    Piercing Goblin

    Ah okay, that was really the problem then, sorry for all the confusion. Just one last thing :)
    I have a tube that's 3x3 that a player falls through (1 wide) and I made a zone that is technically 3 wide by 2 high in that tube, but the player only passes through part of that zone, and it still doesn't trigger, even though its 3x2.
     
  30. Offline

    Arcwolf

    In the current version the zone detection for players and indeed all entities in the game are in a sync'd thread that runs every 10 server ticks. So if they fall through the zone between detection cycles then the door will not trigger.

    To simplify things a little I moved all the zone stuff away from the player move event. That was one side effect. Maybe try making the zone longer? Experiment with its length. I have a feeling that will solve it.

    Just for future reference, here is an example of what a zone would look like if it were highlighted after creation.

    [​IMG]

    The blue cloth is the zone start and the red cloth is the zones end point. Everything in yellow and black is the zone detection area. Note that the zone is shifted to the top of the image. That is why a 1x1x zone doesnt work. A 1x1x zone would shift its self out of existence I think. There would be no area for the player to enter to be detected. Hence the problem.​

    I'm still puzzled on why it does that... if anyone has a solution. Please feel free to post it. I'd love to fix it so the zone is exactly as wide as it was created to be.​

    ho0ber Just emailed me back with some interesting information. Seems his github version(the only version I knew about/the version that was ported) was very old. So, it seems that there was some more features added and some things changed in a future version of blockdoor that I didnt know about. I've asked him for the source of his most current version so it can be incorporated into the Bukkit version. Pending that source transfer I'm going to put further changes and submission of this on hold. Bug fixes for 33d will continue but nothing further added until I can get ahold of that source code for the version ho0ber was talking about in his email...

    Here is a video of the version he has

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
Thread Status:
Not open for further replies.

Share This Page