[INACTIVE][ADMN/TP] XcraftGate v0.9.1 - Multiworldmanager/-teleporter [1060-1185]

Discussion in 'Inactive/Unsupported Plugins' started by Engelier, Jun 4, 2011.

  1. Offline

    Engelier

    XcraftGate - Version: v0.9.1

    XcraftGate started as a replacement for EpicGates and it's successor RealTeleporter. In the meantime it has grown to a complete worldmanagement solution.

    Features:
    • Create/Delete new worlds (such as Nether, or a specific world for mining, or ...)
    • Set borders for your worlds, so nobody can explore beyond a specific point
    • Create Teleporters between your worlds or to/from your points of interest.
    • Limit the amount of creature spawns on your worlds
    • Completely deny monster or animal spawns on your worlds
    • Allow/Deny PvP on your worlds
    • Allow/Deny weather changes on your worlds


    Commands:
    • /gworld - World management tool
      Code:
      /gworld list - lists your active worlds
      /gworld info <worldname> - displays some basic info about a world
      /gworld listplayers <worldname> - lists the players currently running around in that world
      /gworld create <worldname> [environment [seed]] - creates a new world on your server, <environment> may be "normal", "nether" or "skylands". defaults to "normal" if left blank
      /gworld listenv - lists all available environments/chunkgenerators usable with /gworld create
      /gworld delete <worldname> - unloads a world (and deletes it from the plugin's database)
      /gworld load <wprödname> - loads a given world
      /gworld unload <worldname> - unloads a given world
      /gworld setsticky <worldname> - controls if a world will be automatically loaded/unloaded with dynamic world loading enabled
      /gworld keepspawninmemory <worldname> - controls if a world's spawn is always kept in memory
      /gworld warpto <worldname> - teleports you to the world <name>
      /gworld setborder <worldname> <#> - sets the border for world <name> to <#> (denies exploration beyond x/z +/- <#>)
      /gworld setcreaturelimit <worldname> <#> - limits creature spawns to a maximum of <#> creatures for the world
      /gworld allowanimals <worldname> <true|false> - Allows or denys animal spawns on world <name>
      /gworld allowmonsters <worldname> <true|false> - Allows or denys monster spawns on world <name>
      /gworld suppresshealthregain <worldname> <true|false> - Suppresses automatic health regaining when allowmonsters is set to false
      /gworld allowpvp <worldname> <true|false> - Allows or denys PvP combat on world <name>
      /gworld allowweatherchange <worldname> <true|false> - Allows or denys weather to change on world <name>
      /gworld setweather <worldname> <sun|storm> - Sets the current weather for world <name> (ignores allowWeatherChange setting)
      /gworld timefrozen <worldname> <true|false> - (Un)freezes the current time on world <name>
      /gworld settime <worldname> <sunrise|noon|sunset|midnight> - Sets the current time for world <name> (also sets time for timefrozen)
      
    • /gate - Gate management tool
      Code:
      /gate create <gatename> - creates a new teleportation point at your current position - make sure you look at the direction your users should look at, when they ARRIVE at this point
      /gate move <gatename> - moves a gates location to your current position
      /gate delete <gatename> - deletes a teleportation point
      /gate link <gatename1> <gatename2> - creates a link from <name1> to <name2>, so when you step on <name1> you will be teleported to <name2>
      /gate loop <gatename1> <gatename2> - same as /gate link, but for both ways
      /gate unlink <gatename> - deletes the destination for <name1>
      /gate unloop <gatename1> <gatename2> - deletes a loop between the two gates (if it exists)
      /gate info <gatename> - displays some basic info about a gate
      /gate list - lists all gates in all worlds in alphabetical order
      /gate listnear [radius] - lists all gates near you (radius defaults to 10, BE CAREFUL WITH BIG NUMBERS!)
      /gate listsolo - lists all gates without a source or destination
      /gate warp <gatename> - teleports you to the given teleportation point
      /gate reload - reloads all gates from gates.yml
      


    Video: HowTo create gates



    Permissions
    XcraftGate.* - permission to use everything this plugin provides

    XcraftGate.use.* - permission to use all gates
    XcraftGate.use.<gatename> - permission to use a gate

    XcraftGate.gate - access to /gate
    XcraftGate.gate.* - access to all /gate commands
    XcraftGate.gate.create - /gate create, /gate move
    XcraftGate.gate.link - /gate link, /gate loop
    XcraftGate.gate.unlink - /gate unlink, /gate unloop
    XcraftGate.gate.delete - /gate delete
    XcraftGate.gate.info - /gate listsolo, /gate list, /gate listnear, /gate info
    XcraftGate.gate.warp - /gate warp
    XcraftGate.gate.reload - /gate reload

    XcraftGate.world - access to /gworld
    XcraftGate.world.* - access to all /gworld commands
    XcraftGate.world.create - /gworld create
    XcraftGate.world.delete - /gworld delete
    XcraftGate.world.warp - /gworld warpto
    XcraftGate.world.setborder - /gworld setborder
    XcraftGate.world.setcreaturelimit - /gworld setcreaturelimit, /gworld allowanimals, /gworld allowmonsters, /gworld suppresshealthregain
    XcraftGate.world.pvp - /gworld allowpvp
    XcraftGate.world.weather - /gworld allowweatherchange, /gworld setweather
    XcraftGate.world.time - /gworld settime, /gworld timefrozen
    XcraftGate.world.info - /gworld info, /gworld list

    If you don't use a permissions plugin, only OPs are allowed to use those commands and all users are allowed to use all gates.


    Downloads:
    Stable Version (use this if unsure): XcraftGate.jar (wget friendly)

    Some people are repeatedly asking for development versions, so here it is:
    Development Version: XcraftGate-Dev.jar (wget friendly)
    I WILL NOT SUPPORT THE DEVELOPMENT VERSION! USE THIS AT YOUR OWN RISK AND DON'T COME CRYING IF IT EATS YOUR KITTEN BABYS!
    Development Changelog (open)

    • implemented chunk resending on teleport - should fix death/lag on arrival
    • rewrote plugin management
    • added Register support
    • added /gate rename <gate> <newname>
    • added /gate settoll <gate> <amount> - set amount of money to be taken from the users account when he uses the gate
    • added /gate setdenysilent <gate> <true|false> - don't print error messages when gate usage is denied by permission or not enough money
    • added /gworld suppresshunger - prevents foodbar depletion on the given world
    • added /gworld setspawn - sets the spawn to your current location
    • added /gworld setgamemode <world> <survival|creative> - sets gamemode for the world
    • added /gworld setdifficulty <world> <peaceful|easy|normal|hard> - sets difficulty for the world
    • added /gworld setannouncedeath <world> <true|false> - set if player deaths in the given world should be broadcasted
    • /gworld suppresshealthregain now also affects health regaining by saturation
    • new worlds now obey the spawn-monsters and spawn-animals settings in your server.properties
    • "fixed" bukkit leaking tears when not using SuperPerms



    Installation:
    Put the XcraftGate.jar into your plugins folder and reload/restart your server. All files will be created automatically.

    If you already have some extra worlds add them with /gworld create <name> <environment>. If there's already a world with the same name in your server's folder, it won't be freshly generated, but just get loaded.

    Do not edit the config files manually, as your changes will get overwritten on reload/restart. Use the ingame commands. Tell me when there's an option missing.


    FAQ:
    Is there a way I can clear the inventory of anyone entering a specific world? (open)

    Use MultiInv.

    Can we have something like /gworld allowflying? (open)

    No. This is a global setting controlled by craftbukkit. Plugins are not able to change that.

    How do I allow my users to use all gates? (open)

    Add the following permission to your users: XcraftGate.use.*


    Source Code:
    github (Licence: GPLv3)


    Donations:

    I put a lot of work into XcraftGate and intend to do so in the future. If you're able to efford some EUR to motivate me further, I'd really appreciate it :)
    Note: For sure donating is purely optional! XcraftGate is released under the terms of GPLv3, so you have (and will always have) the freedom to use, study, share and improve it as you like!
    [​IMG]


    Changelog:
    Version 0.9.1 (CB1060+)
    • fixed NPE in /gate listsolo
    • changed the way gates teleport players - should fix spawning to high
    Version 0.9 (CB1060)
    • enabled gworld-commands (except "warpto") to be used from the console
    • added support for SuperPerms
    • implemented dynamic world loading - on startup only your default
      world(s) will get loaded. Any other world will be loaded as soon as a
      player tries to access that world and will be unloaded when no player is
      active in that world for 5min. Disabled by default. This can be enabled/tweaked in the config.yml
      Please be aware of this bug when playing around with this feature.
    • added /gworld load
    • added /gworld unload
    • added /gworld setsticky (controls if a world will be automatically loaded/unloaded with dynamic world loading enabled)
    • added /gworld keepspawninmemory
    • implemented custom chunkgenerators (referred to as additional "environments") - currently available: flatlands, island, hillvalley
    • implemented getDefaultChunkGenerator(), enabling craftbukkit to use the custom ChunkGenerators for your default world(s)
      Example (open)

      in your bukkit.yml:
      Code:
         worlds:
             worldname:
                 generator: XcraftGate:FLATLANDS
         
    • added /gworld listenv - shows available environments
    • new worlds now obey the pvp-setting in server.properties
    Version 0.8
    • added seed argument to /gworld create
    • added /gate reload
    • added /gate move
    • added /gate info
    • added /gate list
    • added /gate listnear
    • added /gworld listplayers
    • added permissions for gates (XcraftGate.use.<gateName>)
    • worlds with active players cannot be deleted anymore
    • /gworld info now shows the environment
    • improved world detection
    • probably fixed ConcurrentModificationExceptions
    • probably fixed off-gate spawning (corresponding gates have to be recreated)
    • fixed animals always despawning on server reload/restart
    • another workaround for the PLAYER_MOVE event location bug (fixes players getting stuck when reaching the border)
    • fixed /gate warp triggering the target gate
    Older Changes (open)

    Version 0.7.2 (minimum CB-Version: 949, recommended: 953)
    • Update for CB953/MC1.7
    • Food working again as expected
    • added workaround for move-event location bug introduced in CB949 (fixes endless loops, again)
    Version 0.7.1
    • Great, seems using food also triggers the regain-health-event, so supresshealthregain will suppress that, too. Mostly fixed. Cookies still won't work. I've no better solution at the moment. :/
    Version 0.7 (minimum CB-Version: 896, recommended: 935)
    • added /gworld settime
    • added /gworld timefrozen
    • added /gworld suppresshealthregain - craftbukkit automagically let users regain health when allowmonsters is set to false. So we have to control this ourselfs.
      NOTE: XcraftGate automatically sets allowmonsters to false, when the creaturelimit is reached
    • removed "moved too quickly"-workaround
    • removed bukkit-bypass for spawncontrol
    • /gworld info now displays the world's seed
    • /gworld warpto now teleports you to the spawn location of the given world (no more searching for a safe spot in sky worlds)
    Version 0.6.2
    • made teleport check more restrictive (fixed endless loops)
    Version 0.6.1
    • fixed allowAnimals/-Monsters flag handling
    • added workaround for commands not being registered correctly by craftbukkit when being enabled by another plugin
    Version 0.6 (minimum CB-Version: 860)
    • rewrote world management - should fix most problems/inconsistencys
    • added /gworld allowpvp
    • added /gworld allowweatherchange
    • added /gworld setweather (ignores allowWeatherChange setting)
    • /gworld warpto now trys to find a save spot in a 64 block radius around the destination and denys teleport when unable to find one
    Version 0.5 (minimum CB-Version: 834)
    • check for creaturelimit regulary, instead on ENTITY_DEATH. Fixes creature counts dropping very low on low population servers
    • changes are now saved immediately, instead only in onDisable() (reload/restart)
    • added option to completely deny animals or monster spawns on a world
    • removed workaround for crossworld teleportation bug in CB818
    • unload world on /gworld delete
    • added support for SKYLANDS environment
    • complete permission nodes overhaul (s. above for the new permission nodes)
    Version 0.4.1
    • tweaked creatureLimit so the server doesn't try to spawn new creatures when the limit is reached (fixes "Can't keep up"-Spam)
    • typofix
    Version 0.4
    • added /gworld setcreaturelimit -- limits creature spawns
    • added /gworld info -- displays some basic info
    • border now defaults to 0 (disabled) instead of Integer.MAX_VALUE
    Version 0.3
    • public release
     
    regzand, Masterflapdrol and Rwembee like this.
  2. Offline

    Mr_H4mm3r

    Can i use this for setting portals up in the same world?
     
  3. Offline

    IownYourFinger

    how can i import worlds???
     
  4. Offline

    Sonorpearl

    Hello can you transform this from XcraftGate.use.<Gate> to XcraftGate.use? Because you can give XcraftGate.use.* in PermissionsBukkit. And so you have to give Acces to every Gate per Hand....
     
  5. Offline

    iTiamo

    I used it normally untill yesterday, now my console is flooded with errors like this one:

    Code:
    13:00:08 [SEVERE] Could not pass event PLAYER_MOVE to XcraftGate
    java.lang.NullPointerException
            at de.xcraft.engelier.XcraftGate.XcraftGatePlayerListener.onPlayerMove(X
    craftGatePlayerListener.java:23)
            at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.ja
    va:286)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:332)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:164)
            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:85)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    What can I do, everone is going crazy!
    This is the error on startup, my worlds.yml is cleared and I can't load them anymore!

    Code:
    13:01:30 [INFO] [XcraftGate v0.8] by Engelier loaded.
    13:01:30 [INFO] [XcraftGate v0.8] loaded world world (Environment: NORMAL, Seed:
     -1623774494)
    13:01:30 [INFO] [XcraftGate v0.8] loaded world world_nether (Environment: NETHER
    , Seed: 8403150244157422467)
    13:01:30 [SEVERE] java.lang.NullPointerException
    13:01:30 [SEVERE]       at de.xcraft.engelier.XcraftGate.XcraftGate.loadWorlds(X
    craftGate.java:210)
    13:01:30 [SEVERE]       at de.xcraft.engelier.XcraftGate.XcraftGate.onEnable(Xcr
    aftGate.java:96)
    13:01:30 [SEVERE]       at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:126)
    13:01:30 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
    JavaPluginLoader.java:878)
    13:01:30 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
    mplePluginManager.java:272)
    13:01:30 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe
    rver.java:162)
    13:01:30 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.enablePlugins(Craf
    tServer.java:146)
    13:01:30 [SEVERE]       at net.minecraft.server.MinecraftServer.e(MinecraftServe
    r.java:284)
    13:01:30 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:271)
    13:01:30 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:148)
    13:01:30 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:335)
    13:01:30 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
     
  6. Offline

    RustyDagger

    A lot of the commands in the gworld section should be <world> not Name ..... just saying its a tad confusing how it is now.
     
  7. Offline

    Engelier

    The idea of hooking into other plugins and using their methods is not having to care about how they store their data. You don't have to mess around with permission config on the harddrive. You just "ask" the corresponding plugin if playerxyz has permissionabc - and it returns a true or a false. That's it.

    This should only happen when those users logged out in a world that's not currently active on the server.
    There's no way to get a players last world on login (see http://leaky.bukkit.org/issues/1118) so there's currently no way to get around that.

    Sure. For example we use this also for fast travelling through our main city.

    PermissionBukkit is not supported, yet. There's much work to be done before the internal permission system reaches a state of "usable". Maybe I'll add some workarounds for this in v0.9.

    Looks like your worlds.yml got corrupted and not all worlds are loaded properly. Please post your worlds.yml and the result of /gworld list.

    Seems I missed some posts ... the missing answers:

    Here's your problem. XcraftGate doesn't know about that world and so doesn't load gates for it. This will be much more flexible with v0.9, but for now you have to create your worlds with /gworld create

    Reading the first post would've helped. It's XcraftGate.use.*

    There's a plugin called MultiInv, which does exactly what you need.

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

    Mr_H4mm3r

    Ty
    Download 100% :D
     
  9. Offline

    iTiamo

    I solved it, my backup system didn't unpack the files properly. ;)
     
  10. Offline

    slater96

    Thanks for this plugin, worked first time! Could you please add something so you have to pay money to go through the portal please which will work with iConomy. Or if not do you know of a third party plugin which can do this, thanks.
     
  11. Offline

    xLoGiiKzZo

    This plugin fucked up my server. i created a world 1month ago and deleted it 3 days ago and since i deleted it my server has been laggy horibble i cant even play on it anymore. I have 8GB of ram and the server was running fine before i deleted the world. I also tried switching to a new IP, didnt work
     
  12. Offline

    Engelier

    That's already on my ToDo, but not with a very high priority.

    I don't think so. Even if there was a memory leak or something similar (which is impossible) it would've been gone with a server restart. One possible chance remains, but that would flood your server.log insanely. You'd probably have noticed that.
     
  13. Offline

    xLoGiiKzZo

    Im not the only one who had this happen
     
  14. Offline

    Mr_H4mm3r

    Didnt work for me. It looks like it destroyed my Essentials Groupmanager??
     
  15. Offline

    Captain Donut

    Hi, I was just wondering about the nasty hp auto-reg that kicks in when a player enters, say, a separate PVP and monster-enabled world on my server using XCraftGate. Any way to shutting it off without disabling monsters? Tried a few other plugins like NoRegen but with no avail. Thanks. :)
     
  16. Offline

    Engelier

     
  17. Offline

    Captain Donut

    Yeah, the thing is I want allowmonsters to be enabled. I want monsters on and reg off.
     
  18. Offline

    Engelier

     
  19. Offline

    Captain Donut

    Hm. Then it must be some other plugin interfering. I still get HP reg on a monster enabled world.
     
  20. Offline

    klutch2013

    is my config file supposed to look like this?
    Code:
    Survival_nether: {setTime: 100, suppressHealthRegain: true, allowWeatherChange: true,
      allowPvP: false, allowMonsters: false, timeFrozen: false, allowAnimals: true, setWeather: SUN,
      name: Survival_nether, border: 0, type: NETHER, creatureLimit: 0}
    Survival: {setTime: 100, suppressHealthRegain: true, allowWeatherChange: true, allowPvP: false,
      allowMonsters: false, timeFrozen: false, allowAnimals: true, setWeather: SUN, name: Survival,
      border: 0, type: NORMAL, creatureLimit: 0}
    
     
  21. Could we get a feature that costs a player to go through a teleporter? :D

    Like 20 coins to be teleported.

    I'm trying hard to create a magic shop, using teleporters, but all the "pay to enter" mods don't work. its maddening.
     
  22. Offline

    Engelier

    Just set suppresshealthregain to true for your world. :)


    Look's okay to me.


     
  23. I would kill for the pay to enter the gate haha. You see, I have been working on this shop for my server for a week, gone through 3 different pay to enter plugins, and each one didn't work for <insert reason here>

    Like the first one, the gates weren't connecting right.
    Next one, wasn't taking money.
    Last one, was taking too little money, and not what I specified.

    It's become a total nightmare. And now, I think I'll just have to have a [CLOSED] sign on my shops doors, until a decent pay to enter plugin comes out.
     
  24. Offline

    TheDanidox

    I have some trouble using this plugin, although I use the latest version of the permissions plugin, only OPs and Admins can use the portals, and I don't no, how to fix that...

    Kind regards Daniel
     
  25. Offline

    Engelier

    As said. It's on my ToDo. I'm trying to put this into v0.9, if my time allows.

    Reading the documentation would've helped :)

    Each gate has a permission node for it to use: XcraftGate.use.<gatename>

    Depending on the permissions plugin you're using you can just give your users XcraftGate.use.* to allow them to use all gates.

    If you rely on SuperPerms, you'll have to wait for v0.9 or create the corresponding permission(s) in your permissions.yml
     
  26. Just a quick note, for anyone experiencing "pvp not working" and have this plugin, make sure you type /gworld allowpvp true

    I spent like 2 hours trying to figure out why pvp suddenly broke XD

    and

    /gworld allowpvp <name> <true|false>
    is the solution.
     
  27. Offline

    Vas

    So there is 100% no chance for a single player version of this mod? As I said once, my PC is incapable of running a server. Not even id I somehow managed to make my operating system only use 300MB of memory. I think my processor is to slow. Intel Core 2 Duo 2.0GHz. On top of that, minecraft it's self barely runs. I run out of memory every few hours, I skip randomly (no clue what's been causing the completely random freezes every few minutes or later). It mostly happens with my server, which is being hosted through hamachi on a friend's PC.

    Oh and before I forget, I wanted to ask if you can make portals indestructible? Maybe make the area around them indestructible and if the block under the portal is removed, it removes the portal as well?

    One more idea is to use the actual portal item to work for your portals instead of just being air. Making the item not transport you into the nether but into the next gate you are linked to. I do kinda like the warpy effect. Maybe when Spout gives us the ability to add new items to the game, you can make colored portal blocks for our portals?

    An idea I just now thought of as I was about to save changes, sign based teleporters. Example:
    Gate 1 (top line) (Gate Links to sign with Gate 1 in top line) - Also, if 3rd gate is found with Gate 1 in top line, that sign chances top line to [?] like lockette. Top line can be anything. Even "XYZ" as long as another sign exists with XYZ on it to loop to.
    Delay: 3 (3 second delay)
    Cost: 5.00 (iConomy Coins)
    VasVadum (Bottom Line) (Owner)
     
  28. Offline

    uncovery

    There is an issue with the skylands. People who drop into the void sometimes do not get killed fast enough, fall and get kicked for flying. Then, they respawn where they were falling in mid-air, and this causes the server to freeze. I am not sure how you can fix that, but I used "DeathonVoid" plugin. If I can do it without an additional plugin this would be great of course.

    It would be also great if the gate list in the text file could sort the gates alphabetically!
     
  29. Offline

    BENNETTMAN

    hey, this is an amazing plugin, i'm just having a little trouble with something.
    i have set all the correct permission nodes, but anyone who isn't op can't use the gates, even if they have the permissions, am i being an idiot and missed something? haha
     
  30. Offline

    Seo

    Do i need to add each gate or can i add permission so ppl can acess them all?
     
  31. Offline

    MarcJ

    I don't know if this has been asked before.. Please make a command "/gworld allowfly [world] true/false" We can't fly anymore in the other world. We can still fly in our starter world. The Server_Properties allows flying, but in our new world we can't fly..
     

Share This Page