[INACTIVE][TP/MECH] Inception v1.04dev0.5 - World Layering and Overlapping [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Lihad, Jun 5, 2011.

  1. Offline

    Lihad

    Inception - From one world into another (into another, and another, and another)
    v1.04dev0.5




    ------------------------------------------------------------------------
    Just got back from honeymoon!!! woot!!!! I will be updating Inception for 1.8 as bukkit allows :) stay tuned!
    ------------------------------------------------------------------------

    Downloads:
    Most Recent Build

    [1060] - Version 1.04dev0.5 - Full
    [1060] - Version 1.04dev0.5 - jar only
    Past Builds
    [1060] - Version 1.04 - [->] 1.03, 1.02c, 1.02a, 1.01, 1.00

    ---------------------------------------------
    ---------------------------------------------
    Description:
    Allows you to fall (or climb) from one world into another world by catching players that enter a y-coordinate that isn't in the normal range of play (or otherwise defined). With the addition of skyland environments, this plugin can be used to stop players from falling indefinitely, and instead make them drop in another world at the same x and z coordinates.

    -----------------------------------------------------------------------------------------------
    Love Inception? Wanna help out a poor-ass college kid who is about to get married AND working his way through commercial flight school?! Donate!
    [​IMG]
    -----------------------------------------------------------------------------------------------
    ---------------------------------------------
    Other Plugins Worth Your Time!
    Inception works great with:

    StyxSpace

    ---------------------------------------------

    Recent Fixes!For Version 1.04 & dev0.5

    - dev0.4 includes fixes for Exceptions casuesd by minecarts and mobs through Inception
    - dev0.4 allows mobs to not die by passing through Inception
    - dev0.4 includes a MAJOR fix fir a bug that occurred in 1.04 that rewrote parts of the config.yml, assuming there was none there (when there may have been).
    - .jar by itself will auto-generate a config.yml if none are detected :) Hooray!
    - New Developer API shtuff. I'll make a tab regarding info on it later tonight.
    - Bug fixes
    - More bugs
    - Mobs can now technically pass through inception layers IF they fall into a void. Working on this to fix it so it synchronizes with the set limits
    - Minecarts should be able to Inception
    - Boats should be able to pass through Inception layers
    - Console will yell at you more when you mess up stuff in the Inception config.yml, so I won't have to.
    - New command ./inception edit
    - And more stuff!



    Old Fixes!For Version 1.02delta & 1.03

    - Added options for syncing time in all worlds (this only works if time movement is normally enabled in a world type, and for that world)
    - Inception returns more information to the console on start up
    - The ground work for different fall damage has been laid, not Implemented Yet!
    - The config file is more forgiving and lets you use lower case in the environment type ;)
    - Fixed player getting pushed through stairs on inception (or half-blocks)
    - Fixed player getting stuck in the ground (100% success rate in testing, let me know if results differ)

    - Fixed player positioning on Inception being off a couple blocks x,z
    - Config editing commands now reload Inception upon completion automagically (no feedback)
    - Foreign worlds as a 'lowerWorld' aren't stubborn assholes any longer.

    - Fixed teleport looping
    - Fixed chunks being deleted in dynamicOverlapping
    - Colored blocks now reflect properly through an overlap
    - Block facing through dynamicOverlapping is fixed
    - Block facing through standard overlapping is ish-fixed. but not really.
    - Syncing of linked worlds by their spawns is added as an option in the config.yml
    - The exclusion of certain block types the are mirrored in an overlap is added as an option in
    the config.yml​
    - Water and lava pouring through an inception layer behaves more correctly
    - Inception passes priority of world creation with 'environment: null'
    - And other fixes

    ---------------------------------------------

    Installation:
    Download the .zip and throw the contents into your plugins folder. Be sure to configure the config.yml file in the Inception folder or the plugin will fail! If updating from a previous version: Don't delete your old config.yml and expect a new one to generate! Use the new config.yml that is in the new version folder unless otherwise specified.

    Then, read the 'Setup' tab below for Detailed instrutions on the setup of Inception. For those new to the plugin, I don't suggest changing any values for anything outside of defining the worlds and environments for a single link. After you have the motion of Inception down, tweak the setting and add more links as you see fit.

    Setup (open)

    #Inception - Written By Lihad @ beyondminecraft.net

    ----- Using Inception
    Before using this plugin, be sure to backup your world files and etc. Inception has the potential to rewrite entire landscapes! Tread carefully.

    ----- The Initial Setup
    Download the latest .zip, or the one that suits your CB. And place the contents into your plugin folder.

    Be sure to modify the config.yml for Inception before the initial launch, it should look something like this to start:

    Code:
    inception:
        link0:
            worldUpper:
                worldName: renameme
                environment: RENAMEME
            worldLower:
                worldName: renameme
                environment: RENAMEME
            overlap: true
            enableFall: true
            enableClimb: true
            upperLimit: 128
            lowerLimit: 0
            overlapDepth: 5
    [INDENT=1]sync: false[/INDENT]
    
    autoInception: false
    fallDamage: false
    glassStep: true
    dynamicOverlapUpperToLower: false
    dynamicOverlapLowerToUpper: false
    exemptBlockID: 7, 8, 9, 10, 11
    - Setting up your first link!
    Under link0, the options below exist:
    Code:
            worldUpper:
                worldName: renameme
                environment: RENAMEME
            worldLower:
                worldName: renameme
                environment: RENAMEME 
    Fill in the world you want to be top world in the worldName slot for the worldUpper key, as well as the environment type (most foreign world types created by other plugins are NORMAL in origin). The three main world types are NETHER, NORMAL, and SKYLANDS. Follow the same idea for the worldLower key, by adding in the world that you want to be 'below' your top. If your using another plugin to supply a foreign world type, use 'null' as the environment type and inception will pass priority to the corresponding plugin.

    Note: If you write the name of a world in either worldName slot that doesn't already exist, Inception will attempt to create it of the type Environment that you have specified.

    - Setting up your local link variables!
    Within link0, you will also see these options:
    Code:
            overlap: true
            enableFall: true
            enableClimb: true
            upperLimit: 128
            lowerLimit: 0
            overlapDepth: 5
    [INDENT=1]sync: false
    [/INDENT]

    Each does something different, set to maximize the performance you wish to get out of inception. 'enableFall' and 'enableClimb', if set to True, will allow your users to pass from the lower world to the upper world by climbing, as well as passing to the lower world from the upper world by falling. If you wish a player to only be able to fall from the upper world to the lower, but not climb back up, turn 'enableClimb' to false.

    To specify the 'y' coordinates that the inception between worlds takes place, define the values under upperLimit and lowerLimit. Once a player crosses this threshold, they will be beamed away to the other world.

    The 'overlap' is a tool used for those who wish to make their worlds seem to flow together. By turning 'overlap' to true, you are saying that the bottom and top of the worlds will share anything placed or destroyed by a user, within the distance specified by 'overlapDepth'. Thus, with an overlap depth of '5', y-coordinates 1,2,3,4 and 5 of the worldUpper will be shared with y-coordinates 123,124,125,126 and 127 of worldLower. Note: The transfer through normal overlapping will only work for blocks that are placed and destroy while the plugin is running.

    Also note that with overlapping, your lower and upper limits for said link must be equal in spacing. This is new to Version 1.o1.

    Lastly, turning 'sync' to true will line the linked worlds up by their spawns, instead of their x,z coordinates.

    - Creating More than One Link
    To create a second link, simply copy the entire link0:, and paste it under itself, renaming the new copy 'link1'. It would look something like this:
    Code:
        link0:
            worldUpper:
                worldName:
                environment:
            worldLower:
                worldName:
                environment:
            overlap: true
            enableFall: true
            enableClimb: true
            upperLimit: 128
            lowerLimit: 0
            overlapDepth: 5
    [INDENT=1]sync: false[/INDENT]
        link1:
            worldUpper:
                worldName:
                environment:
            worldLower:
                worldName:
                environment:
            overlap: true
            enableFall: true
            enableClimb: true
            upperLimit: 128
            lowerLimit: 0
            overlapDepth: 5
    [INDENT=1]sync: false
    [/INDENT]

    And of course, be sure to add the worlds you want to be involved in the new inception link, as well as changing/modifying any of your new local variables.

    - The Global Variables
    Code:
    autoInception: false
    fallDamage: false
    glassStep: true
    dynamicOverlapUpperToLower: false
    dynamicOverlapLowerToUpper: false
    exemptBlockID: 7, 8, 9, 10, 11
    These keys should only appear once in your config, and should be outside any keys. They are your global variables. 'fallDamage' is pretty obvious in wht it accomplishes.

    'autoInception', if turned to true, will have Inception automatically link all of your worlds for you in the standard manner (no overlap, limits at 0 and 128). This completely ignores any links you have specified. Very much the lazy-persons Inception tool.

    'glassStep' Is used for those who are travelling up to skylands and dont have a block to step on, or get caught in pesky inception loops. Turning this to true will give your user something to stand on when climbing up.

    'dynamicOverlap...' if turned on... be prepared for the shear power of inception to show itself. For every link that you have where 'overlap' is turned to 'true',. dynamic overlapping will take a snapshot (of height defined in 'overlapDepth') of a players current surroundings and places them in the world they are going to. Allows for EXTREMELY seamless transfer.... also has the potential to rewrite sections of worlds.

    'exemptBlockID' is any block id you wish to not be overlapped in an overlap layer.


    Commands (open)

    Only For Op

    Known Bugs (open)

    - Not Setting the config file correctly can cause weird things to happen
    - If a server's flymod catch is turned on, this can lead to players being kicked mid-transfer
    - Block facing is not always correct through overlapping
    - Signs don't overlap well
    - Chests don't overlap well
    - There may or may not be an issue with looping world Inceptions between two worlds that of Normal and Nether types. This has been known to cause issues with deleting chunks and etc. This issue is set for resolve in the next 1.02 release.
    will add more bugs to this section as they are noted and posted.

    Changelog (open)

    Version 1.04dev0.5[CB 1060]
    - Hotfix for dev0.4

    Version 1.04dev0.4[CB 1060]
    - dev0.4 includes fixes for Exceptions casuesd by minecarts and mobs through Inception
    - dev0.4 allows mobs to not die by passing through Inception
    - dev0.4 includes a MAJOR fix fir a bug that occurred in 1.04 that rewrote parts of the config.yml, assuming there was none there (when there may have been).

    Version 1.04[CB 1060]
    - .jar by itself will auto-generate a config.yml if none are detected :) Hooray!
    - New Developer API shtuff. I'll make a tab regarding info on it later tonight.
    - Bug fixes
    - More bugs
    - Mobs can now technically pass through inception layers IF they fall into a void. Working on this to fix it so it synchronizes with the set limits
    - Minecarts should be able to Inception (maybe...)
    - Boats should be able to pass through Inception layers (maybe...)
    - Console will yell at you more when you mess up stuff in the Inception config.yml, so I won't have to.
    - New command ./inception edit
    - And more stuff!


    Version 1.03[CB 1000]
    - Added options for syncing time in all worlds (this only works if time movement is normally enabled in a world type, and for that world)
    - Inception returns more information to the console on start up
    - The ground work for different fall damage has been laid, not Implemented Yet!
    - The config file is more forgiving and lets you use lower case in the environment type ;)


    Version 1.02delta[CB 977+/1.7.3]
    - Fixed player getting pushed through stairs on inception (or half-blocks)
    - Fixed player getting stuck in the ground
    - Fixed player positioning on Inception being off a couple blocks x,z
    - Config editing commands now reload Inception upon completion automagically (no feedback)

    Version 1.02charlie[CB 977]
    - Fixes Everything (almost)

    Version 1.02bravo[CB 977]
    - Technical Unreleased Officially

    Version 1.02alpha[CB 977]
    - Fixed player positioning on Inception
    - Fixed teleport looping
    - Fixed chunks being deleted in dynamicOverlapping

    Version 1.02[CB 953]
    - Overlapping works better and more correctly for block types
    - Added sync'ing
    - Added exclusions
    - Inception passes priority of world creation with 'environment: null'

    Version 1.01 [CB 953]
    - Upon Inception, player placement is now better suited to where they are coming from,

    especially with overlapping​
    - Defining a world in the Inception config.yml that doesn't exist will be automatically create

    by Inception​
    - Water and Lava within a overlap will no longer compound upon itself
    - Recursion was added (1.00), recursion was optimized (1.01)
    - Links now run by priority, and will not randomly place a player if multiple links share the

    same worldUpper or worldLower.​
    - Added more local variables per link.
    - Overlapping is better situated and follows the pattern suggest in 'overlapDepth' better.

    Version 1.00 [CB 953]
    - Rewrote the plugin for better optimization
    - Inception can now manage worlds without a crutch

    Version 0.9 delta [CB 917]
    - Fixed persistent Speed Hack kick

    Version 0.9 charlie
    - Split the dynamicOverlap node into two
    - Fixed an issue with overlapping

    Version 0.9 bravo
    - Added Dynamic Overlapping
    - Fix for 'lowerY' being less than '0'
    Version 0.9 alpha (does that even make sense?!)
    - Overlapping can now occur between links of your choice
    - Overlapping can occur between all Environment types
    - New command for specifying if a link should have overlapping or not
    - The ability to turn the glass block on and off!
    - SphereWorlds should finally be fixed (FINALLY!)
    - Overlapping works better

    Version 0.9
    - Added option for worldOverlay/rowOverlay
    - Fixed Inception identifying foreign world types
    - Fixed various other bugs

    Version 0.8
    - Added option for fallDamage (should already be in your config.yml) to either be on or off when fall damage occurs.

    Version 0.7
    - Added config options for setting the floor and ceiling of inception
    - Fixed '/inception list'
    - Added autoInception

    Version 0.6
    - Added a climbing inception (climbing to y=129 of a world allows a transfer)
    - Changed the config.yml
    - Changed the command '/inception modify'

    Version 0.5
    - Added in-game commands

    Version 0.4
    - If multiple links are created with the same 'worldUpper', it now randomly makes you fall to any of the 'worldLower' worlds under those links (instead of the first notable 'worldLower')

    Version 0.3
    - New config file!
    - The ability for multiple links to be made between worlds.
    - Cleaned some of the code up

    Version 0.2
    - Fixed falling into the nether
    - Fixed a few other minor bugs

    Version 0.1
    - Initial Build


    ---------------------------------------------
    Special Thanks to: JorenCombs, Pherce, Kside, Annilyna and all the members of Beyond Horizon. For giving me testing grounds for Inception-izing you all (like you actually had a choice).
    ---------------------------------------------
     
  2. Offline

    Silarn

    Works great in my primary link .. between a skylands and normal worlds. As stated.
     
  3. Offline

    Lihad

    Awesome! Yah, as of right now, it will only work in the first link between a Sky and Normal world. Of course, this will change in future updates for those who have multiple links between multiple normal and sky worlds. I just wanted to be super careful with this release as it is a major change in the code. Wanted to make sure it was generally working how it should before opening it up across multiple links (and possibly all the combinations of world types).
     
  4. Offline

    sfxworks

    Based on this....If a user falls, somehow, into the void of one world, it will automatically teleport them to another world?
     
  5. Offline

    Lihad

    Automagiclly, or you can set the world connections. All is found in the config file (including better instructions ^ ^)
     
  6. Okay, pretty weird plugin but also pretty awesome :).

    However I do have a feature request:
    The deeper down you go, time moves slower (longer days).
     
  7. Offline

    Zarius

    Can you include more details on "automagically"? I assume it links skylands to world to nether but could be wrong :D
     
  8. Offline

    LtdSupply

    Just a bit of a usage question here for you. Can I have a separate link for bottom of map and top of map collisions? In that I mean can a map be the upper map in one link and the lower map in another link? I'd like to orient a SkyWorld above my main map, and a NetherWorld below my main map. I've paired the main and sky worlds but I'm nervous to initiate another link before I know as I don't want my current link overwritten. Cheers mate!
    [redflower]
     
  9. Offline

    Lihad

    Absolutely!! You can make chains of worlds and link them every which way. Even loops! Experiment with it!

    Yes. And if you don't have one of these world types it will assume the next option. Of no world options besides the one exist, it will loop on itself.

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

    LtdSupply

    Awesome! I've built a SkyHub using a Jump Block mod and some well placed blocks. Is there any way to get rid of that glass block that appears when I enter the SkyWorld? :eek: I'm sure it's there to keep someone from getting stuck in a sky loop or some sort, but I don't personally need it. [redflower]
     
  11. Offline

    Lihad

    Interesting. Maybe ill make an option to turn it off nxt update :)
     
    LtdSupply likes this.
  12. Offline

    LtdSupply

    Awesome, it's not all that annoying, as it appears under the solid blocks that I've built as my platform, just would make a convenient option :) I'm interested in making a video after I'm done with it, so getting rid of the glass for cosmetic sake would be useful. In any case, awesome plugin, and many kudos for this, it's extremely useful. [redflower]
     
  13. Offline

    Silarn

    Only issue I notice right now is that enabling overlay disables the glass block for all worlds, despite the fact that the overlay is only active in the primary link. I'm guessing any error messages come from a setup that has some setting off somehow. Like a primary link that isn't between sky/world.
     
  14. Offline

    jaybud4

    This doesn't seem to work for me.
    CB 860, Inception 0.9, with Essentials 2.3 and MultiVerse 1.7.2 only.
    No errors, but all of the commands just request me to /inception, which does the same thing.
    The link isn't working either.
    config.yml
    Code:
    inception:
        link0:
            worldUpper: Skylands
            worldLower: world
    enableFall: true
    enableClimb: true
    upperY: 129
    lowerY: 0
    autoInception: false
    fallDamage: false
    worldOverlap: true
    rowOverlap: 5
     
  15. Offline

    Lihad


    Without more details... i'm not sure where your issue is coming from... But the commands are only able to be used if you are op, so I would def check that.

    Oh! Good bug find! Thank you! Most def a bug...

    ------------------------------------------
    Oh, and if you get a message on your console that says something like "Hey Kside, I blew a block up" ...... I'm sorry. Thats a debug line I put in there and didnt take it out for the 0.9 release.... Im sorry, lol!

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

    jaybud4

    I thought I was pretty verbose. What else is there? The plugin is loading correctly, and now that I checked the ops.txt, the commands are working. The worlds are both loaded according to Multiverse, so as far as I can tell, it should be working, but it's not.
    Fake-edit: Okay, I teleported up to the Skylands and jumped off the edge. It's working in that direction, but I still cannot get it to let me climb upwards. Is there something I'm missing here?
     
  17. Offline

    Lihad

    Adjust the ceiling setting. 'upperY'. Turn it down from 129 to 127. See if that helps.
     
  18. Offline

    Silarn

    Yes, at 129 you need something to launch you up farther than you can normally jump to reach the level at which you will teleport up -- 127 should be low enough to make that work,

    ---

    I notice if I set the lower normal world to something like 126 I can no longer build as high as I was previously able to, though all of the old blocks remain where they were. Is this intended? Of course, setting it this low makes it dangerous and an infinite teleport loop becomes possible.
     
  19. Offline

    jaybud4

    Yep, that did it. Now there's just that Kside thing whenever a block is broken, but I would imagine you can already replicate that on your side.
     
  20. Offline

    Lihad

    @Silarn : Ohhh... I found a fairly large bug with overlapping worlds, and this is one of the results of it. I'll get out anther version soon that is much more stable than good ol' 0.9 .


    Thanks to all of you who have submitted reports about bugs thus far!!

    Rofl.... yah..... my bad on that one. Will be fixed asap.. Dang my little debug hooks.

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

    Zarius

    Odd, I very definitely have overlap: false but I'm still getting overlap from world to skylands... about three blocks worth I think. Very cool to see it working though :)

    edit: Odd though, couldn't build a pressure plate on the block at y=126 however jumping to skylands (upperY set to 130) I could put a pressure plate on the respective block there - this was reflected correctly in "world".
     
  22. Offline

    desht

    Great plugin, love it. But I too have a problem with climbing and/or overlap (falling seems to be fine). Here's my config.yml:

    Code:
    inception:
        link0:
            worldUpper: sky
            worldLower: world
    enableFall: true
    enableClimb: true
    upperY: 128
    lowerY: 0
    autoInception: false
    fallDamage: false
    worldOverlap: true
    rowOverlap: 5
    
    ("sky" is a skylands environment, "world" is a normal environment).

    I have a tower in world which reaches all the way to the ceiling. If I stand on top of that and jump, I'm ported to sky as expected. However, I then immediately fall out of sky back into world, where I started. I thought setting worldOverlap to true (and rowOverlap as the default 5 rows) would mirror the top 5 rows of world into sky, so I should enter sky standing on the top 5 rows of my tower. But this doesn't seem to be the case?
     
  23. Offline

    Zarius

    You built the blocks after setting worldOverlap to true? They'll only be mirrored after this. Also try setting worldOverlap to false and see what happens.
     
  24. Offline

    desht

    Aha, that would explain it! Yes, working fine now :rolleyes:
     
  25. Offline

    Lihad

    Good catch again, Zarius. For some reason turnin it to false doesnt do anything to placed blocks being mirror. Sigh
     
  26. Offline

    davr

    A few bugs in 0.9 with the overlap thing:
    1. Happens even when worldOverlap = false
    2. Only mirrors block placement, not block destruction
    3. When mirroring signs, it doesn't mirror their contents
     
  27. Offline

    Lihad

    When worldOverlap = true, destruction should work.

    Good finds! Thank you very much!

    At any rate, gents, I'm working hard on the next version of Inception as we speak, hopefully putting a cap on all these bugs and finalizing the overlap feature. This is a big update, so be patient with me, it should be out soon!

    UPDATE!
    I'm doing some basic testing on the new version, and after that we should be good!
    Just to highlight a few fixes:
    - EXPECT TO USE A NEW config.yml
    - SphereWorlds should finally be fixed (FINALLY!)
    - Overlapping can occur between any worlds and can be specified between links of your choice
    - Overlapping works better
    - Recursion?! EDIT: .... err... not this time, too much time to complete (get it, haha, cough)

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

    davr

    I had a funny idea...what if we were to use overlapping on multiple stacked worlds, and it was set to an insanely high value (say 40 or 50)...could we essentially create what appeared to be a single world that went up and down way further than normal? The high overlapping value means you'd never see the actual borders between worlds. And the warp point should be different depending on which direction you're going, so you can't just be warping back and forth at a single Y value. Eg:

    if overlap=40
    then maybe set the warp point at 10 blocks

    lower world: when you get to y=(128-10)=118, warp to the upper world at y=(0+40-10)=30
    upper world: when you fall down to y=(0+10)=10, warp to the lower world at y=(128-40+10)=98

    This will mean that after a warp from one world to the other, you can't warp right back again, stopping those annoying loops I seemed to be getting.

    Let me know what you think, or if it already supports this and I just configured it wrong.

    Thanks
     
  29. Offline

    ultimak

    Thanks for this plugin, it solves all the issues I was having with portals and now I dont have to worry about them!
     
  30. Offline

    Lihad

    Alright! Version 0.9alpha!
    Version 0.9alpha

    USE THE NEW config.yml INCLUDED IN THE .zip!!!!!!

    New Stuff:
    - Overlapping can now occur between links of your choice
    - Overlapping can occur between all Environment types
    - New command for specifying if a link should have overlapping or not
    - The ability to turn the glass block on and off!
    Major Fixes:
    - SphereWorlds should finally be fixed (FINALLY!)
    - Overlapping can occur between any worlds and can be specified between links of your choice
    - Overlapping works better
    - Recursion?! EDIT: .... err... not this time, too much time to complete (get it, haha, cough)
    Lasting Bugs
    - Signs don't overlap just yet.
    - Destroying blocks 'unnaturally' (through use of super-axe or WorldEdit, etc) will not be reflected in an overlap.

    -------------------------------------------------------------------------------------------

    Again, I'm still working out some kinks with overlapping, please post any bugs/comments you may have!
     
  31. Offline

    Zarius

    Woo - sphereworld fixed, will grab this later and test. I'm also planning on adding a StyxSpace world so will test that too. Gonna try nether, world, skylands, styxspace, spheres (haven't decided on what to do if someone falls out of the nether :D) and thinking of adding BlockTowers to avoid people just pillaring up.

    Oh, and shouldn't it be 1.0alpha, as you've already released 0.9? :)
     

Share This Page