Inactive [Tp] cbTeleport v0.10 - a ceiling/bottom Multiworld-Teleport-Plugin [1.1R5]

Discussion in 'Inactive/Unsupported Plugins' started by MG127, Jun 12, 2011.

  1. Offline

    MG127

    [​IMG]
    a ceiling/bottom Multiworld-Teleport Plugin
    connect worlds in a new way

    Version: 0.10

    Teleport without a command, without a specified area to other worlds.
    Just dig a hole to the bedrock or build a tower to the roof of the world.

    Requires:
    • at least one World :D
    • with more worlds a world-administration plugin like multivers is required
    Supports:


    • Permissions v2.7 and 3 (or via superperms)
    • WorldBorder v1.2.1+ (v1.2 or less is not supported!)
    • Skylands environment
    • Floating Islands and Cave-Worlds on Normal Environment (and more)
    Features:


    • Teleports a Player when he reaches the bottom or the ceiling of a world to another world (or the same) at ceiling or bottom on the same X- and Z- coordinates
    • Distancemodifier: multiplier for the destination-coordinates (negative values are also possible to teleport to the opposite side of the map)
    • Multiple links: set extra permissions for groups to get to different worlds or distances
    • Falldamage-protection
    • creates a bubble of glass if the player spawns in lava
    Permissions:


    - cbtp.teleport (to use all the default links)
    - cbtp.admin (/reload and /cbtp add)
    - cbtp.yourDepartWorld.yourDestinationWorld (this is only for optional routes, read the config-part)

    Commands:
    /cbtp
    displays all connections​
    /cbtp reload
    reloads the config & connections​
    Code:
    /cbtp add (dl) (c:)[world1] (c:)[world2] ([dm])
    ( ) - optional; [ ] - replace with something​
    adds a connection​
    dl - create a doubleLink - else: create a singleLink​
    c: - depart und arrival on ceiling​
    dm = distancemodifier (default = 1 )​

    examples:
    /cbtp add world2 caveworld -- bottom <->bottom connection
    /cbtp add dl c:normalworld skylands 2.5
    --> twoSidedConnections:
    skylands:​
    dest: normalworld​
    dm: 2.5​
    Fun:
    • create a link on a world with it self
    • create eaqual links (bottom<-> bottom or ceiling <->ceiling)
    DOWNLOADvia bukkitDev (source included in jar)
    v0.10 for 1.1 R4-1.2.5 R0.1
    v0.9 for cb#1367-1.1R4
    v0.6.1 for cb#1000-cb#1337



    Config
    Show Spoiler

    the simple way of creating a connection via config is twoSidedConnections
    Code:
    twoSidedConnections:
        world1:
            dest: world2
            dm: 2.0
    
    if you reach the bottom of world1 you'll get to ceiling of world2 and vise versa
    dm= distancemodifier; if you leave world1 on x=100, z=-200 you will arrive world2 at 200;-400 . in the other direction its 1/dm in this example 0.5

    for a more detailed connection use the singleConnection
    con1 and con2 is just something for counting, you can write anything except pure numbers for this.
    cob is ceiling or bottom.
    you can create more than one destination from one world (seperate connection), these will only be accessable with the right permission
    - cbtp.[world1].[world2]

    for example, if you have:
    Code:
    singleConnections:
        con1:
            from:
                world: world1
                cob: bottom
            to:
                world: world2
                cob: ceiling
            dm: 1.0
        con2:
            from:
                world: world1
                cob: bottom
            to:
                world: world3
                cob: bottom
            dm: 2.0
    
    if you have only "- cbtp.teleport" you will get to world2
    if you have additional "- cbtp.world1.world3" you will get to world3 instad world2

    cob means ceiling or bottom
    dm is the distancemodifier
    you will leave world1 from bottom
    you will arrive world2 at ceiling on the same X and Z
    with the additional permission you will arrive at world3 on bottom with twice the X and Z

    you could also use this plugin with one world:
    Code:
    singleConnections:
        con1:
            from:
                world: world1
                cob: bottom
            to:
                world: world1
                cob: ceiling
            dm: 1.0
    
    or this for both directions
    Code:
    twoSidedConnections:
        world1:
            dest: world1
            dm: 1.0
     
    
    Settings:
    BlockType: 20
    block that will be createted if player spawns and has no block beneath​

    falling: true
    teleports also if player has no block beneath​
    if you set this to false, you might lower the ceiling-air arrival and depart a bit​

    ceilingBlock: false


    if true, will let the player spawn at ceiling-air-arrival and creates a block under him​
    if false, the player spawns at 10 blocks above the ground (no fall dmg)​

    Bubble: true


    lava/sand/gravel protection for spawns of the cathegory 'bedrock'​

    suppressBorderWarning: true


    if false, it will spam the chat that you cant teleport​
    cause the border of the other map is reached​

    light: true


    will set a light above the player after teleport (bedrock environment)​

    fallDamage: true
    enables/disables the fall-damage​
    only the next falldamage that will happen after a teleportation will be prevented​

    toGround: true
    teleports the player 5 blocks above the ground (from above)​

    toTheSurface: false
    teleports the player to the highes spot on the surface (from underground)​

    advancedSearch: true
    searches for the next free spot till it finds one above the destination​
    (when false, it searches only a small area around the destination if it doesn't find something, it creates a hole)​

    debug: false



    writes some more debug infos to the serverlog​

    following values are the hights to trigger the events


    bedrock:
    bedrock-environment are nether (bottom&ceiling), normal maps bottom, and cave-maps ceiling&bottom

    ceiling:
    depart: 124
    arrival: 123
    bottom:
    depart: 5
    arrival: 6
    air:
    ceiling:
    depart: 128
    arrival: 129
    bottom:
    depart: 0
    arrival: 1

    v0.4+ the arrival in air:ceiling could be higher than depart, the player will only be ported back if he gets lower than air:ceiling:depart

    the following values will be automatic generated, but you can add them manual if you want, but dont use counters with w + a number, these will be the generated ones
    for default, all worlds will count as "bedrock" environment, when the player reaches the depart-hight, the plugin checks the area for bedrock, if there is none, the world will count as "air" and the air-values for depart and arrival will apply. additional the world will be listed here for the next reload (for performance increase) to avoid the bedrock check next time.

    airworlds:
    ceiling:
    a: world
    b: celestia
    bottom:
    c: celestia


    complete example config.yml
    Code:
     
    singleConnections:
    #one way-connections
    #sorted by priority
        c1:
            from:
                world: midgard
                cob: bottom
                #cob = ceiling or bottom
            to:
                world: nether
                cob: ceiling
            #distance modifier
            dm: 0.5
        c2:
            from:
                world: nether
                cob: ceiling
            to:
                world: midgard
                cob: bottom
            dm: 2.0
    #connection 1 and 2 are the same as the twoSidedeConnecion world1: dest: world2
     
    twoSidedConnections:
    #these connections work in both directions
    #bottom:
    #  dest: ceiling
    #  dm: distance modifier
    #bottom*dm->ceiling;  ceiling/dm->bottom
     
        world:
    # this is not 'world' as type of world, my main-world is named 'world' :D
    #the depart-world is allways bottom
            dest: midgard
    #destination is allways ceiling
            dm: 0.5
        celestia:
            dest: world2
            dm: 2.0
     
    settings:
        BlockType: 20
        falling: true
              #teleports also if player has no block beneath
              #if you set this to false, you might lower the ceiling-air arrival and depart a bit
        ceilingBlock: false
              # if true, will let the player spawn at ceiling-air-arrival and creates a block under him
              # if false, the player spawns at 10 blocks above the ground (no fall dmg)
        Bubble: true
              # lava/sand/gravel protection for spawns of the cathegory 'bedrock'
        suppressBorderWarning: true
              # if false, it will spam the chat that you cant teleport
              # cause the border of the other map is reached
        light: true
                # will set a light above the player after teleport (bedrock environment)
        bedrock:
            ceiling:
                depart: 124 # depart hight for cave-maps and nether
                arrival: 123
            bottom:
                depart: 5
                arrival: 6
        air:
            ceiling:
                depart: 128
                arrival: 127
            bottom:
                depart: 0
                arrival: 1
     
    #this is not realy important, the plugin will check on runtime if a world is threaded as air or bedrock
    #and will create the nodes with w0,w1...w999, so dont name them with w...
    #airworlds:
    #    ceiling:
    #        w1: world  #<-- this is automatic generated
    airworlds:
        ceiling:
            a: world  #<- manual added
            b: celestia
        bottom:
            c: celestia
    
    if you set falling to false you might want to set the air ceiling arrival and depart -1 and the air bottom arrival and depart +1
    then the only way to get down from a floating island is a waterfall
    and if you set ceiling-block to true, you might want to take a bucket of water with ya :)


    ToDo:
    • teleport players with their vehicle
    • add permissionsBukkit support
    known Bugs:
    • bubble mode doesn't seem to work
    Changelog:

    Version 0.10

    • reincluded toGround (got lost with the 0.9 update)
    • added toTheSurface and advancedSearch options
    • updated to the new event system (for R5)
    Version 0.6.1
    • fixed adding connections via command
    • reimplemented the old config cause cb#1337 doesn't support the new one
    Version 0.9
    • updated the Configuration system for new bukkit versions
    • added a sampleconnection to the default config.yml
    • fixed adding connections via command
    versionhistory (open)


    Version 0.6
    • added automatic removal of the blocks that are created when there is air below the player at the destination
    • fixed an error when no permission-plugin where used
    Version 0.5

    • fixed a bug where players got stuck and suffocated
    • speedimprovement of free-area search
    • added option to show some debug infos
    Version 0.4

    • added falldamge setting
    • added toGround setting
    • air:ceiling:arrival can now be higher than depart (port back prevention)
    • simple search for free spots near the destination
    • when fallDamage=true the old speedvector will be applied to the new position
    • fixed chat spam when supresswarn = false
    Version 0.3

    • added response for /cbtp add
    • fixed a small counting bug in /cbtp add
    Version 0.2

    • added permission node - cbtp.admin
    • added command /cbtp add
    Version 0.1


    • Release
    • lastminute-bugs defeated [creeper]
     
  2. Offline

    Andrew1431

    *Maybe someone in the comments can make this more understandab.... oh shoot*

    Lol this makes no sense I've tried like 100 different configuration none to which work, maybe i'm just stupid or something xD

    GREAT idea tho!! Need it to work!!

    I have world_skylands
    I have world

    I want to fall from skylands to world

    /cbtp add dl world_skylands c:world

    is that right?

    Nevermind I deleted all the mess I had made and then tried again with dl seemed to work perfect!

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

    MG127

    just to make it clear, i didn't test the add command :D
    ill add some output if the add is completed and oops, there was a mistake for the counting, but this does only metter if you add multiple connections

    and is the config to complex or is it ok?
     
  4. Offline

    Andrew1431

    I'm 'fairly' experienced with all different types of config files, it makes sense to me for sure!

    Thanks for this plugin its awesome! I wish I had skills to make plugins :(
     
  5. Offline

    Bdl2

    Hm. Shame this hasn't got more attention. I recently tried the Inception plugin, which does pretty much the same thing, but it didn't work out. Couldn't pass from the lower world back to my skylands world despite it being linked properly.

    Time to see if this works better. :3
     
  6. Offline

    MG127

    if even my plugin doesnt work for you, make shure that you can teleport to the world normal (via multiverse /mvtp)
    i have a cavemap and i cannot reach it anymore, whatever i try.
     
  7. Offline

    Devboi

    Hey is there any way to add the option of fall damage - so u fall from sky limit - not just to 10 blocks above ground -
    I have space world I would like people not to be able to jump down from space :D
    thanks
     
  8. Offline

    MG127

    so you just want them to go down where for example a tower is?
    im implementing a search for free spots now, or for the ceiling/air variant i can drop them at 130 and only let them teleport back at 128 if they reached hight 127 before

    i will seperate the ceilingBlock-setting from the teleporting to 10 over ground
    in v0.3 it is:
    ceilingBlock: false -> player will be teleported to 10 overground with no fall-dmg
     
  9. Offline

    nsko

    Awesome plugin! But could you have it "dig" you out a small hole where you're tped? On my server I'm trying to create the illusion that the world is taller than it really is with multiple worlds (skyworld -> surface -> underground -> nether), but when they dig down and get tped by cbTeleporter, they end up inside blocks in the next world, where they suffocate and die.

    Or maybe I'm missing something?
     
  10. Offline

    MG127

    that shouldn't happen. i'll do some tests tomorrow. i had this kind of bug b4 with a teleport from my skylands to the normal world and there was a tower blockading the teleport, the player gets tp't somewhere underground and suffocated.
    you could make "toGround" to false and this shoulnd't happen again. but i will try to get this bug out.
     
  11. Is there something for creating a 'caveworld' that's entirely subterranean? Because that would be amazin'. It was mentioned here, but I don't know how to do it.
     
  12. Offline

    MG127

    you can do it the same way i did it, -> create your caveworld with worldedit, but its not endless subterran

    PhenixTerrainMod will hopefully get a subterrain-function in the next few versions
     
  13. Offline

    Celeixen

    This sounds great but i dont think i am going to like the idea of random single block towers and random holes throughout the place :)
     
  14. Offline

    MG127

    well, then say to your ppl that if they want to build a tower to the sky that is has to be monumental (and realistic) and not just a simple dirt 1x1 tower :D
     
  15. Offline

    Celeixen

    Lol, i Guess that could be done. Just wondering do you think it could be restricted to certain areas in the world, so then players have to take the city tower or the city hole.
     
  16. Offline

    MG127

    well, lemme see what i can do ...

    oh well, i thought worldguard could do that, but these functions are not implemented yet and not planned as multiworld-tp only for a vector
    in the end it would be the same as teleporting with portals, but without a portal

    i think i will make 2 posibilities for allowing teleport:
    1.e.g: stand anywhere above 64, write /cbtp denydefault and /cbtp allow [radius] ([world]) to allow the teleport on the ceiling (default values) to teleport to the default world or to [world]
    2. select a cuboid with worldguard and write /cbtp selection connect ([world])

    i could also make the function i thought worldguard would do it: to teleport a player that enters the cuboid to a target warppoint. but then the name of the plugin doesn't realy fit anymore :D
    although ... cb could als been read as cuboid. ok it fits
     
  17. Offline

    Celeixen

    Well thats a lot of ideas you have, they all sound great. I don't want you to change you plugin in anyway that conflicts with your original idea, i just want an efficient way of people teleporting without 1x1 towers. I could probably just make a few stair cases around the place and call them skystairs or somthing. Hopefully that would stop annoying dirt towers :)
     
  18. Offline

    MG127

    your users don't have to know how it actualy works :)
     
  19. Offline

    Celeixen

    goodpoint, hopefully they don't know about you plugin
     
  20. Offline

    Otoris

    Permissions are all setup on my server with just 4 cbtp connections and this is spammed in console like CRAZY
    Code:
    2011-09-01 20:03:15 [SEVERE] Could not pass event PLAYER_MOVE to cbTeleport
    java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
        at de.mg127.cbt.cbTeleportPlayerListener.checkPermissions(cbTeleportPlayerListener.java:297)
        at de.mg127.cbt.cbTeleportPlayerListener.onPlayerMove(cbTeleportPlayerListener.java:46)
        at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:286)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:174)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:89)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:454)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Everyone on the server has cbtp.teleport.
     
  21. Offline

    MG127

    @Otoris
    what cb and permission plugin do you use?

    beside this ... i forgot to implement a few securities if the server doesn't have permissions 2 or 3
    maybe i should add permissionsBukkit support next

    btw if you use permissionsBukkit, you should also add SuperPermsBridge to your plugins and the permissions are called: superpermsbridge.cbtp.teleport etc
    edit: i hope its fixed with my tips and i updated the v0.6 to prevent such errors (i hope)
     
  22. Offline

    ElitexvxRampage

    Great for my custom map thanks.
     
  23. Offline

    vax35

    I try to link 3 worlds :
    - space
    - aether
    - world

    In this order...

    But I have this error :

    Code:
    22:55:53 [SEVERE] [cbtp]: shit happend
    22:55:53 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: 3
    22:55:53 [SEVERE]       at de.mg127.cbt.cbTeleport.onCommand(cbTeleport.java:177
    )
    22:55:53 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginComman
    d.java:40)
    22:55:53 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    mmandMap.java:163)
    22:55:53 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    aftServer.java:355)
    22:55:53 [SEVERE]       at net.minecraft.server.NetServerHandler.handleCommand(N
    etServerHandler.java:757)
    22:55:53 [SEVERE]       at net.minecraft.server.NetServerHandler.chat(NetServerH
    andler.java:722)
    22:55:53 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:715)
    22:55:53 [SEVERE]       at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:3
    3)
    22:55:53 [SEVERE]       at net.minecraft.server.NetworkManager.b(NetworkManager.
    java:226)
    22:55:53 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:92)
    22:55:53 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile
    :108)
    22:55:53 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:471)
    22:55:53 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:374)
    22:55:53 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:417)
    Can you help me ? :)
     
  24. Offline

    MG127

    @vax35 that happens when i'm not testing much. in v0.6 the "add dl" was more or less broken, and i fixed the wrong parts :confused:
    update is on the way (v0.8)
    the manual adding via config still works in all versions!
     
  25. Offline

    vax35

    Thx for the answer.

    First, excuse me for my bad english, i'm french :/

    But I make it and I try to link my 3 worlds, but I continue to fall in the void and i am kicked because Flying is not enable on my server.

    My 3 worlds are :
    - space (you can just fall in the aether) (NORMAL but no bedrock)
    - aether (you can fall in the normal world) (SKYLANDS)
    - world (you can't fall but you can climb to the aether from this world) (NORMAL)

    What I do write in the config file to it works ?

    I use multiverse 2 to load my worlds.

    Thank you ! I think your plugin is great :)
     
  26. Offline

    MG127

    @vax35
    if you want still to disallow flying on your server, use nocheat for this and allow flying in the server.prop
    the built-in check for flying is a bit sensitive and not configurable, only on or off
    most teleport plugins have that problem with flying

    i've added a sample config as comment in the config.yml (default)
    since empty connections in the default file aren't that good

    it depends how you want to link them ...
    i think you want to connect them in both directions or?
    then the config should be like this:

    Code:
    twoSidedConnections:
        space:
            dest: aether
            dm: 1.0
        aether:
            dest: world
            dm: 1.0

    if you just want it one way:

    Code:
    singleConnections:
        con1:
           from:
                world: space
                cob: bottom
            to:
                world: skylands
                cob: ceiling
            dm: 1.0
        con2:
            from:
                world: skylands
                cob: bottom
            to:
                world: world
                cob: ceiling
            dm: 1.0
    update in a few hours :)
    at least someone that finds some (critical)bugs and reports them
    edit: i see ... i've allways tested with the config but never looked what the commands write in the config with the doubleconnection. i only tested the singleconnection, but not after i tried to fix the doublelinks
    edit2: its a more serious problem, but it only disables the commands ... i'm using a method that craftbukkit doesn't know :/

    edit3: the functions from the config are from a newer cb version, its 1367+
    so i will make 2 versions 0.6.1 for cb#1060+ and one for 1367+ (0.9+)

    @vax35 i have now both versions online, in both versions the commands are fixed

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

    vax35

    Thank you !!!!

    Very greate plugin ! It works so good ! :)

    You are the best, my server takes an other dimension :p
     
  28. Offline

    dandaman1001

    So, this is the same thing as the Inception plugin?
     
  29. Offline

    MG127

    yes, in most parts ... 3 days before i was going to release my plugin, inception was released.
    i see, it's inactive. it has many options per world that i have global.

    there are still a few things that you can do only with my plugin, the distancemodifier (dm) e.g. is a helpfull thing, it ports you like the vanillaport to and from the nether, with a multiplier

    if you have any suggestions that i should add, go ahead
     
  30. Do you have any plans to update this plugin for 1.1R2?
     

Share This Page