[INACTIVE][TP/FUN] NetherGate v0.56 - Just Like Single Player! [803]

Discussion in 'Inactive/Unsupported Plugins' started by NathanWolf, Feb 4, 2011.

  1. Offline

    NathanWolf

    NetherGate - A plugin that uses multi-world to create a completely automatic Nether experience.

    If you're using Essnetials, go no further.

    Essentials breaks NetherGate in strange and frustrating ways, I'm not going to support it anymore. I'll try and get this resolved by NG beta, at which point I'll remove this message.

    [​IMG]


    Use
    To use NetherGate, drop the required jars in your plugins folder.

    Then you can create and light a portal to travel to the nether!

    Downloads
    Grab elBukkit.zip to get all of my plugins- take out the ones you don't want.

    For more details on NetherGate, or for individual jar downloads, see the NetherGate entry on bukkit's wiki.

    Tip Jar
    If you really love my stuff, and you're feeling generous, I'd more than appreciate a donation.

    Go here if you're interested!

    Changelog
    View changelog on github
     
  2. Offline

    iSushi

    Code:
    2011-02-09 17:56:08 [WARNING] Persistence error getting field targetLocation for teleporting
    java.lang.NullPointerException
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedObject.load(PersistedObject.java:154)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.load(PersistedClass.java:662)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.createInstance(PersistedClass.java:679)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.loadCache(PersistedClass.java:613)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.loadCache(PersistedClass.java:596)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.checkLoadCache(PersistedClass.java:529)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.checkLoadCache(PersistedClass.java:516)
        at com.elmakers.mine.bukkit.plugins.persistence.core.PersistedClass.get(PersistedClass.java:303)
        at com.elmakers.mine.bukkit.plugins.persistence.Persistence.get(Persistence.java:175)
        at com.elmakers.mine.bukkit.plugins.nether.NetherManager.getPlayerData(NetherManager.java:131)
        at com.elmakers.mine.bukkit.plugins.nether.NetherManager.onPlayerMove(NetherManager.java:202)
        at com.elmakers.mine.bukkit.plugins.nether.NetherPlayerListener.onPlayerMove(NetherPlayerListener.java:23)
        at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:154)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:60)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:214)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.a(SourceFile:232)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:310)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:225)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    
    There's the whole error message. It still works thought :)
    --- merged: Feb 9, 2011 5:29 PM ---
    Woot!, I love how it respawns in a spot where there isn't any other nether gates. It'll make me able to make a one way nether gate, and one way back to world gate :p ... Could make it an "adventure" for those who find the nether gate. And make a story to it.

    EDIT: I want a feature, exact spawns when exiting the nether. Seems to change from time to time.
     
  3. Offline

    NathanWolf

    Prolly have to delete the db files... I may just start making this automatic until I get data migrating, since the data doesn't migrate anyway if I have to make you all delete it :)

    I also could just extend the /persist RESET command to reset an entire schema. I the only reason I haven't been giving you console commands is you'd have to issue one per entity that I've changed, and that could get tedious- at least right now, when I'm still changing things around a lot.

    Anyway, if that's all too technical, the take-away is, for now, delete your db files. Hopefully after this next release (testing now!) you won't ever have to delete your data again.... hopefully.

    Speaking of testing! I noticed someone came and visited... sorry I wasn't around :)

    Glad you like it!

    Actually, the previous version didn't change your (x,z) location at all- just switched worlds and then made sure it was safe (vertically- y location) to put you somewhere. So it really should've been matching things up exactly, at least on the above-world side :)

    The next version will be moving you around between worlds, but it still should work out that you'll get back to where you left from- as long as I did all my vector math right :)
     
  4. Offline

    DREAD_XI

    It is working!!!!!!!!!!!! I am still testing and attempting to be able to log into both of my main worlds in the server. I believe I read somewhere here that I need the nether world first. I am going to try to test making a nether world and going to it first. TY soooo much for this amazing plugin!

    Not a single error in my console after moving the .db files to a sub folder(I hate to delete things until I know for sure I never need them again) Working great though. About ready to put this on my real server. XD
     
  5. Offline

    iSushi

    Heh, so your plugin actually support worlds in sub-folders?... So it was another problem causing it :p
    Awesome!, your the first plugin developer having more features than you know about! :D

    At least of those plugins that need to get maps.

    Moving you around between worlds?! :D ... You mean setting where the specified nether gate put you? o.o ... That would be so awesome ;) .

    It changed the spawn/teleport location from one nethergate (in the nether) to the main world. It spawned me inside a stone, so I made a hole where I spawned. When I tested it again, it put me above ground, not in the spot I spawned before, in mah hole. ;(
    Console command here:
    Code:
    Got position -38.0, 67.0, 339.0
    Expected -38.0, 35.200000047683716, 339.30000001192093
    
    of course I like this plugin, it's made out of awesomeness!

    More edits:
    Errr... When I deleted the file, the plugin created a new world. However, at the last file that I just deleted I had used /nether create world maps/nether
    Can I use the same command to specify the nether map I want to use (already generated. Like I said), or will it just output an error or something?...
     
  6. Offline

    DREAD_XI

    ok when going to other worlds I know I can create with normal but, if I /nether go it always lands me in the nether unless I go back to the default world started by the server. Any ideas?
     
  7. Offline

    Archironus

    Enjoying the plugin immensely (And so are the players of my server)

    All we need now is a method to set up portals so they link to a specific world and we're set. Cause at the moment my players can't really get back to the over-world from the nether xD
     
  8. Offline

    NathanWolf

    Ok- updated to 0.15!

    Don't have much time for details, but basically it works much better, builds a bigger platform for you to stand on, and the distance mapping is "working".

    It doesn't seem to maintain direction for some reason, so it's hard to use it for reliable fast-travel... but I will say that using a wand, phase and blink I was able to move around my map frightingly fast. Something to keep in mind if you don't want your mapping getting HUGE! :)

    Ok, back later.
     
  9. Offline

    heeen

    why do you center on the spawns? its not like you'd recognize the spawn in the nether anyways.

    Some thoughts about persistence: the portal in the world maps to a 1x2 region, so no information is required in this direction. From the Nether back home, the 1x2 portal maps to a 8x16 region in the real world. I'd just scan this region on loading the map and use the first or a random portal in this region. All portals in this region lead to the same nether portal anyways. This way you could just skip on persistence altogether.
     
  10. Offline

    NathanWolf

    Oh- When you update delete:

    <server>/plugins/Persistence/*.db

    while your server is shut down. PLEASE do this before reporting problems!

    Thanks.
     
  11. Offline

    Mukrakiish

    Hate to cause a stir...but I made a nether realm. I can't get it to delete off the server and now that I've spawned down here I'm locked in the nether. I tried using Essentials to get out, no go. Warps, no dice.

    Installed nether gate in hopes of getting out of here so I can be rid of the nether realm to fix my server but it doesn't work either (latest craft bukkit snapshot and latest nethergate). Also can't break blocks nor 'ignite' portal to get out. Frustrating...
     
  12. Offline

    NathanWolf

    Actually, each world does have a spawn point. If you die in the Nether, and re-spawn, that's the spawn point :) It should also be where a portal placed at any other world's spawn point takes you.

    I've already got my Nether spawn set up as a walled-off-in-glass safe area because of all the darn Ghasts.

    If you're curious, and have a SQLLite manager, you can take a look at the portal.db - I've already got the data structures set up to store all the data I need. There will be a bit more added to Portal by the time its ready- at least a BlockList for undoing the portal creation later. This could also pave the way for custom gates types, one day- but I'm not sure that's a fit for this plugin.

    I could easily just plop a portal where you land right now, but I want to be keeping track of these things before I start pooping them all over your worlds :)

    Should be soon, really- soon as I get some real time to work on this. I want to figure out what's up with the direction change on tp, too.

    BTW, a word on Spells- just to be clear, when I talk about using phase and portal, please don't think I'm working on Spells functionality. Those spells are just wrappers for NetherGate functionality- it's a testing tool, more than anything.

    It all calls the exact same code, so whatever I'm doing playing around with spells applies to you doing the work of actually building a portal, too.
     
  13. Offline

    heeen

    2011-02-09 20:30:47 [INFO] NetherGate version 0.15 is enabled

    I created a portal but nothing happens when I walk into it. No error message either.
     
  14. Offline

    NathanWolf

    The block-breaking thing is a known error, I think if you can get out of the Nether and back in it'll fix itself- that's what I've heard, anyway, I've never actually had the problem myself!

    As for Nethergate, it may be able to help, assuming that your original world is still there. It should be, but it sounds like you created your Nether outside of NetherGate- I hate to say it, but if you created a Nether map using "World1" as the name (or whatever your default world name is), you may have blown your map away. I want to stress that Nethergate would not do this, since it keeps track of worlds.

    If your world is still around, you should be able to get out- use "/nether create world <worldname> normal".

    THE "normal" AT THE END IS VERY IMPORTANT!

    I haven't tested this, but I think if you're in the Nether, and you create a new world that NetherGate doesn't know about, and you make it a Nether world, and that world already exists- Bukkit/mcserver will overwrite it with a new Nether world. I'm not entirely sure, but I thought this kind of thing had happened to me once or twice in testing.

    Anyway, that being said- that would bind NetherWorld to your normal world- you could then use /nether go <worldname> to get back home.

    I tested out /nether create world funkytown normal on my public box just now, to be sure- and it worked, made a new normal world. Like I said, i did not test this with a normal world in place- back up your map, if it's not already been Nether-ized by your previous actions...

    Also, you're wary about using /nether create and have some SQL skills, just add your default world to global.world and nether.world, picking some reasonable defaults for all the values.
    --- merged: Feb 9, 2011 8:03 PM ---
    Have you tried deleting db files? If you're a brand-new user, that doesn't really apply, and I'd have to think on it and do some testing real quick.
     
  15. Offline

    heeen

    Yes, I deleted all database files before starting the server.
     
  16. Offline

    NathanWolf

    Ok, I just logged back into my server and did some more testing- portals seem to work fine for me.

    I'm also happy to report that auto-daisy-chaining new worlds works :) I hadn't gotten a chance to test that yet, but now instead of returning back to my home spawn portal, I guess I'm at spawn in funkytown. Going to have to build a portal there now :)
    --- merged: Feb 9, 2011 8:10 PM ---
    Hm.. any other plugins going on? I don't think NetherGate would get along with other portal plugins.

    That being said... there are portal blocks inside your portal, right?
     
  17. Offline

    heeen

    I have Essentials, Persistence and NetherGate.
    Yes there are portal blocks after I lit the gate.
     
  18. Offline

    NathanWolf

    Bah- I was going to really be happy I had it, and ask you to use "/persist list nether.world" .. but I just tried it on my server, and apparently I broke "persist list" at some point. Going to need to fix that, it's super handy, especially for issues like this.

    Anyway, try this- "/nether create world nether"- does it say "created world"?

    Also, are you using Permissions?
    --- merged: Feb 9, 2011 8:21 PM ---
    I'm thinking maybe the worlds didn't auto-bind correctly.

    In theory, as of this new version that auto-positions and allows you to tp into other portal blocks, if a world is not bound to another world, it will still tp you to the same world- and, by default, the same gate... so it may appear as if nothing is happening :)

    I just fixed a bug in the "find a place to stand" code that wasn't allowing you to tp into a portal- so, if you actually set up a paired portal by hand, they' each take you on top of the other portal- kinda silly ;)

    UPDATE: Now that I think about it, I need to double-check and make sure that entering a portal is enough to actually create the world- it may not be. I'll fix that if so- by default (Permissions-free), I want to allow worlds to auto-create (as well as portal pairs) - this should be really drop-in.

    Meantime, you can create a world by hand- it should auto-bind it the same way. If you name it "nether", you're doing exactly what it would've done for you.
     
  19. Offline

    heeen

    I assumed it already has a nether:
    Code:
    2011-02-09 20:30:44 [INFO] Starting minecraft server version Beta 1.2_01
    2011-02-09 20:30:44 [INFO] Loading properties
    2011-02-09 20:30:44 [INFO] Starting Minecraft server on XXX
    2011-02-09 20:30:44 [INFO] This server is running Craftbukkit version unknown (MC: 1.2_01)
    2011-02-09 20:30:44 [INFO] Preparing level "world"
    2011-02-09 20:30:44 [INFO] Preparing start region
    2011-02-09 20:30:45 [INFO] Preparing spawn area: 24%
    2011-02-09 20:30:46 [INFO] Preparing spawn area: 77%
    2011-02-09 20:30:46 [INFO] Persistence: Created table global.sender
    2011-02-09 20:30:46 [INFO] Persistence: Created table global.plugin
    2011-02-09 20:30:46 [INFO] Persistence: Created table global.pluginAuthors
    2011-02-09 20:30:46 [INFO] Persistence: Created table global.pluginCommands
    2011-02-09 20:30:47 [INFO] Persistence: Created table global.pluginMessages
    2011-02-09 20:30:47 [INFO] Persistence: Created table global.message
    2011-02-09 20:30:47 [INFO] Persistence: Created table global.command
    2011-02-09 20:30:47 [INFO] Persistence: Created table global.commandUsage
    2011-02-09 20:30:47 [INFO] Persistence: Created table global.commandSenders
    2011-02-09 20:30:47 [INFO] Persistence version 0.31 is enabled
    2011-02-09 20:30:47 [INFO] NetherGate version 0.15 is enabled
    Preparing spawn area for nether, 89%
    2011-02-09 20:30:48 [INFO] Loaded Essentials build 171 by Zenexer, ementalo, Eris, and EggRoll
    2011-02-09 20:30:48 [INFO] Done! For help, type "help" or "?"
    
     
  20. Offline

    NathanWolf

    It probably does- it the world exists already, "nether create" just tells NetherGate to bind to it- as long as the world is the same type, it should be safe. I've tested it with nether worlds, I haven't gotten a chance to back up my map and be brave enough to test it on my default world, though.

    Basically, it will just fix your data if it's broken, since I can't tell from here without "/persist list".
    --- merged: Feb 9, 2011 8:42 PM ---
    It is very strange that it didn't auto-bind though... I do need to look into this, don't get me wrong, I'm just trying to get you up and running in the meantime :)
     
  21. Offline

    theLephty

    seems to be converting the vertical as well... I don't think this is right. The vertical number (Y) should not change when you warp... the biggest problem this causes, besides lots of falling deaths, is if you build a portal way high in the real world, you end up on top the the nether, locked out by bedrock.
     
  22. Offline

    NathanWolf

    If you're talking about that code I pasted- yeah, I fixed that :) Whoops! I now use your current y location, and start looking up from there (if necessary). I think I then look down if that fails, but I have been dropped in a rather painful way from quite high up when returning from the nether a couple of times, so that code bears investigation ;)

    If you're seeing this behavior in-game (you'd probably notice pretty quick, for all the reasons you mention), please let me know!

    I have been re-spawned (on death) up on top of the nether a couple of times- I'm not sure what causes this, but I don't think it's anything NetherGate is doing (maybe if it was trying to put you back to your home world on death or something, but it doesn't do that yet)
     
  23. Offline

    heeen

    it said it created world nether, but it didn't change anything
     
  24. Offline

    theLephty

    I'm seeing this in game, but I'm running .14... cause that's the only download link I can find, how do we get .15?
     
  25. Offline

    heeen

    A different portal on our map seems to at least portal you somewhere, so the setup seems to work.
    Also:
    Code:
    sqlite> select * from world
       ...> ;
    nether|0|0|world|1.0|
    world|0|0||1.0|
    
     
  26. Offline

    NathanWolf

    Well, that ain't good!

    I just downloaded the zip, cracked open NetherGate.jar and looked at plugin.yml - it said 0.15

    You weren't still using the test link I posted above, right? If so, sorry- I deleted that file, that was just a temp thing. 0.15 is an official release, download link in the OP. It should say 0.15 - looking at the yml is a pretty sure way to tell.

    Once it's reporting 0.15, if you still see this happening, please let me know!

    --- merged: Feb 9, 2011 9:29 PM ---
    Ahhh... thank you for that! If all admins had sql skills, I woulnd't need "persist list". I should've asked :)

    Your worlds don't look bound right- since you're good with sql, try changing the targetWorld of the "world" row to "nether"- (notice it's null there- that's the "||" field) that should fix it.

    Something like

    Code:
    update world set targetWorld='nether' where world='world'
    Should do the trick. (EDIT: the field may be "targetWorldWorld", actually, due to some goofy encapsulation I've done and laziness on my part not marking up that field to have a cleaner name- anyway, check the schema if you can, I don't use the command-line, but it's disappointing to me that the column headers don't show up there in your query. Makes life much easier if they do :) I linked to SqlLite Manager above- it's a cross-platform FireFox extension, allows for WYSIWYG table editing, very handy. I can recommend it, but honestly I haven't really shopped around- I'm just not a fan of the command-line, generally :)

    Also, make sure you've got 0.15 - this may be broken if you're still using the 0.14 code from that test zip. If you upgrade, delete your db files and try again- it should auto-bind correctly.

    Now that the worlds are created, it won't auto-bind it- in case you want that world to be intentionally one-way. Only new worlds are auto-bound.

    As soon as I can get some console commands in to re-target worlds and such, this will all be a lot easier.
     
  27. Offline

    heeen

    Code:
    sqlite> select * from player;
    0|heeen|nether|389|390|world||||||
    
    what does this mean, by the way?
    Is that scale factor actually used? which one should be 8?

    That other portal that a player reported to be working apparently also doesn't work for me. Maybe there's a glitch involving mod status or something? or with that players table?
     
  28. Offline

    NathanWolf

    That's NetherGate-specific player data (global.data is the built-in data). If you had column headers, it would actually be pretty clear what all is in there :)

    Once it's all working, you coud change your home world that way. Most of it is state, though, and you wouldn't want to mess with that- stuff like whether or not you're teleporting, and, if so, where to.

    Once "persist list" is working, you'll be able to explore all this data easily in-game or from the server console. I say "once it's working"- it was working, I apparently broke it- it'll be fixed in the next Persistence/NetherGate release.
     
  29. Offline

    theLephty

    Noob question I'm sure, but what is the OP? The zip (elBukkit) on the FirstPost is still showing:

    "name: NetherGate
    main: com.elmakers.mine.bukkit.plugins.nether.NetherGatePlugin
    version: 0.14"

    in the plugin.yml of the NetherGate.jar, is the OP something beside the first post?
     
  30. Offline

    Fischkopf

    For me, stepping into a portal did absolutely nothing .... but I could create a netherworld named nether using your command, and I could also go there with your command and i could come back with your phase spell ;) but stepping into a portal still isn't working, even with the created netherworld. :S
     
  31. Offline

    NathanWolf

    Yes, it is! You can change it and issue a /persist reload nether.world and modify your world's scale in-game, in fact.

    Speaking of persistence- it bothered me that /persist list was broken, so I just fixed it. Since it's a server console command, I could even test :) Since this isn't a NetherGate release, really, I didn't bump anything- but I did update the zip. If you re-download and update (no data wiping needed if going from 0.15 already) you'll (ops/admins) will have access to the "/persist list" command, which is extremely handly.

    Well, I'd honestly be extremely surprised if any portals are working without your default world being bound to anything!

    If you were running some test version of 0.14, there was a bug where worlds would unbind themselves randomly- so maybe it worked for a bit under 0.14, then broke- and now it's broken in the data and needs to be fixed there. That's my best guess, anyway :)[/quote]
    --- merged: Feb 9, 2011 10:18 PM ---
    Really? I swear I downloaded from that link, cracked it up and looked at the yml as described above.... it said 0.15, unless I hallucinated it.

    I did just re-update the jar (also as described, this time immediately above) for something unrelated, so you could try downloading again.

    If you're really in doubt, try "jar xvf Nethergate.jar plugin.yml" on the command-line. Open plugin.yml up in notepad and double-check the version.

    EDIT: I just noticed that you did that already! Uh, well, hrm- I really have no idea then. Maybe just try again?

    --- merged: Feb 9, 2011 10:19 PM ---
    That's especially weird- geez, something odd is going on.

    Are you going to a world by name? What happens if you just do "/nether go"? That should act just like stepping through a portal.
    --- merged: Feb 9, 2011 10:27 PM ---
    Ok, since so many people are having problems- I just did a quick run-through without magic or anything weird like that.

    I wiped all of my data, so I should have been starting as fresh as you start if you do the same.

    I then used /nether kit to give myself some obsidian and what-have-you, built a portal, lit it, and walked through- took me to the nether.

    I already had some gates over there already, so I used one and it brought me back. (It automatically re-bound to the existing nether world I already had, because it was named "nether").

    So, I think it's all working, unless something screwy is happening at runtime.

    I will say that, both times I went to the nether, it killed me. Once from lava, once from suffocation. So, something is clearly not right with the placement code- but the actual portaling is working as it should be, I think :)

    If you're having issues, please update to the latest and delete your .db files. I'm going to put this in the OP.

    We can then look at your data and see what's up if you're still having issues.
    --- merged: Feb 9, 2011 10:31 PM ---
    Oh, sorry, that got me for a while, too :) Original Post.
    --- merged: Feb 9, 2011 10:36 PM ---
    I just checked the version in the OP zip again, it should be good. I was on a different computer, OS and browser this time, so I guess that's a pretty thorough test :)
    --- merged: Feb 9, 2011 10:46 PM ---
    Ok... this is really embarrassing, but I went back and looked and apparently I lost the y-value saving code in a small refactor (I moved the location mapping to happen until after the chunk has loaded.... for some reason I can't even remember right now).

    I think this explains why I keep dieing on tp. Testing now...
    --- merged: Feb 9, 2011 10:50 PM ---
    Ok- 0.16 updated. Fixes this- things seem to be working much better :)

    No data wipe from 0.15 required, but if you're already having issues, this isn't going to fix anything. It'll just keep you alive through the transition :)
     

Share This Page