[INACTIVE][TP] Nether v1.2 (2.0 in progress) - Super-Simple Nether Portals [1000]

Discussion in 'Inactive/Unsupported Plugins' started by SpaceManiac, Feb 14, 2011.

  1. Offline

    SpaceManiac

    Nether - Super-Simple Nether Portals
    Version: v1.2
    Tested on: should work on all RBs 450+; tested on 766. DOES NOT work on 1060.

    I'm updating Nether very soon to work on 1060+ and also adding some nifty new features!

    I use Bukkit, but have no plugins except a bit of my own tinkering installed. When multiworlds came out I decided that the denizens of my server could use some Nether action, but every plugin I could find came with too many frills, so I wrote up a simple one to use. There is no configuration and no commands. Figured I'd post it here in case somebody found it useful. It's basically designed to be used when you just want to add a classic Nether to your currently single-world server.

    Features:
    • World coordinates are scaled 8x like in single player.
    • No configuration, commands, or persistent storage - drop and go!
    • Teleportation is smooth and usually lag-free (especially when the chunks on the other side are already loaded)
    • Portals are auto-created when teleporting through a new portal, carving a small cavern and placing a platform if needed.
    • Dying in the Nether teleports you back to the Earth spawn!
    Known Issues:
    • Portal frames are not detected, only active portals, so if you try to portal through to an inactive portal, a new portal might be generated a few blocks off.
    • Both sides of a portal must be uncovered or there is a risk of suffocation when teleporting in.
    • The area carved around new portals can sometimes cut into existing structures if you're not careful, though this is unlikely.
    • Ghast noises can still be heard on Earth in some cases (Bukkit bug).
    Download: Nether v1.2
    Source code: GitHub (MIT License)

    Changelog:
    Version 1.2 (April 13)
    • Portals no longer make a giant platform and air bubble and instead seek vertically for a suitable location (thanks Acru).
    • The Nether world name is now configurable (thanks Acru).
    • The Nether world is now loaded on startup instead of first portal use.
    Version 1.1 (February 25)
    • Removed some vestigial debugging methods.
    • Dying in the Nether now respawns players on Earth.
    • Fixed TSLPC.
    Version 1.0 (February 15)
    • Initial release.
     
  2. Offline

    Azraeil

    I think it would still preserve the utility of the plugin but is it possible to take all the complaints about spawns in the nether and just teleport back to the first world spawn after death? That's my biggest hurdle right now and it makes me a little sad I can't seem to get that to work with any combination of plugins.
     
  3. Offline

    Dreadreaver

    how is it like in single player when you die in the nether? i think it should perform the same here OR teleport you in front of the portal from whom you entered the nether
     
  4. Offline

    SpaceManiac

    @phondeux Like I said, I may add more functionality later, but for now I'm keeping it simple as is.

    @Dr_Cox1911 I haven't a clue what is happening. When I make the next release I'll just ask that you try it again. In the meantime, make sure the 1x2x3 area on both sides of the destination portal are all air.

    @Xon It looks like this bug has been fixed - I will work on it.

    @RenStrike Yes, I noticed this bug testing yesterday. It is a Bukkit bug and there is no easy workaround - I will ensure it gets on Leaky.

    @DIENER This sounds like spawn protection and some luck in your portal ending up right next to the Nether spawn. Try moving the spawn, turning down spawn-protection

    @dubca7 This will be fixed in the next update (though I suppose you mean 404, there is no 440 yet).

    @Azraeil @Dreamweaver Returning to the first world was my original intent. Bukkit has had a few bugs that appear to have been fixed recently that have prevented me from doing so, but next update should have it working.

    Yes, I know CraftBukkit is currently unusable, just bear with me. :) There's a few changes on github (including a nagfix) if you care to compile from source, but I will get a new release out as soon as I can.
     
  5. Offline

    dubca7

    I was referring to the git version that the console is giving me, and not the jenkins page versions.
    It's 442 now
    Code:
    [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-[B]442[/B]-gc0e93f2-b416jnks (MC: 1.2_01)
    Thanks for fixing it, really love your plugin :)
     
  6. Offline

    Xon

    One thing I like about this plugin is it is nice and simple. Tweaking the scaling factor and the netherworld name is probably the only configuration options which would be nice to have. But otherwise the defaults are good.

    Once respawning in another world is fixed the issues with respawning in the nether and being bumbed to the roof of the world should go away.
     
  7. Offline

    minecraftworlds

    added this to my server giving it a try
     
  8. Offline

    SpaceManiac

    To my knowledge nobody uses that version number, the Jenkins numbers are by far the most common and should be the ones you tell to plugin devs. :)
     
  9. Offline

    DIENER

    You were right I though I had turned down spawn protection in "server.properties" enough but apparently not so I turned it down from 8 to 1 and it is working now.

    Code:
    2011-02-23 07:52:06 [WARNING] Using the stupidly long constructororg.innectis.Nether.NetherMain(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of Nether to remove it! (Nothing is broken, we just like to keep code clean.)
    Do you think you can fix the code so this message don't appear in the next update?
    I would really appreciate that.
     
  10. Offline

    Xon

    With the super-recent changes to bukkit (for minecraft v1.3), respawn across worlds now works.

    I added the following into NetherPlayerListener.java into a private build, striped the very long constructor out, and it works great.
    Code:
    	@Override
    	public void onPlayerRespawn(PlayerRespawnEvent event)
    	{
    		// died in the nether, bounce to the normal world
    		if (event.getRespawnLocation().getWorld().getEnvironment().equals(Environment.NETHER))
    		{
    			// For now just head to the first world there.
    			World normal = main.getServer().getWorlds().get(0);
    			if (!normal.getEnvironment().equals(Environment.NORMAL)) {
    				// Don't teleport to a non-normal world
    				return;
    			}
    			Location respawnLocation = normal.getSpawnLocation();
    			main.log(event.getPlayer().getName() + " respawns to normal world");
    			event.setRespawnLocation(respawnLocation);
    		}
    	}
    
    Since it bounces you to the normal world when you die, getting stuck on the roof of the nether is a non-issue now.
     
  11. Offline

    DIENER

    Can you upload NetherMain.java, NetherPlayerListener.java and NetherPortal.java?
    I am a newb when it comes to java and I have no idea what this "Using the stupidly long constructor" is but I can compile I just want to check what you changed in those files to fix it. So I get a little better understanding what this error is.
     
  12. Offline

    Xon

    The "Using the stupidly long constructor" thing is really trivial, it's just removing the constructor with the stupidly long argument list (3-5 arguments) and just using the default constructor "classname()".
     
  13. Offline

    Dreadreaver

    plz post the compiled .jar! =)
     
  14. Offline

    Xon

    I compiled this against craftbukkit 424, there are already a few later versions which look to have some bugfixes from the Minecraft 1.3 update.

    One thing I'm probably going todo is create a KeepChunkAlive plugin which automatically tags portal and player respawn points to keep in memory. Cos flicking back between portals is fine, but if you don't have anyone near the other-side you get an anoying delay because suddenly no one is near the portal.
     

    Attached Files:

  15. Offline

    Dreadreaver

    would be great if you could implement that too =)
     
  16. Offline

    DIENER

    @Xon
    Nice work there.

    I wonder why I can't open a portal with flint and steel on a completely new generated world.
    Must be a bug with CB or Essentials because it worked before MC update 1.3.
    Edit: How stupid can I get, I completely forgot that I had set flint-fire to false in config.yml for Essentials.
     
  17. Offline

    DanDaMan

    @Xon
    Thanks Dude
     
  18. Offline

    SpaceManiac

    I have pushed the changes for v1.1 to the GitHub repository but I still don't have access to my main computer yet, so I'll get an official build out later today. The only fixes are respawning and TSLPC.
     
  19. Offline

    Legoboy1134

    AWESOME!! Thanks.

    (BTW, I spawned in a hill or the roof, haven't found out yet. :eek:)
     
  20. Offline

    Dreadreaver

    could some1 compile 1.1(maybe Xon + your own changes if they are still needed?)

    would be great, thanks =)
     
  21. Offline

    Xon

    Code wise, the only real difference is a comment with slightly better English, and consistent use of braces (this is a religious thing).

    As the thread title claims, this really is a super-simple netherworld portal mod.
     
  22. Offline

    alexander_q

    Another problem I've just noticed. Upon dying and respawning in the normal world, I took several ghasts with me.
     
  23. Offline

    Brennan Mathers

    Great plug in!
    Just wish that there was an option to spawn in or out of the nether on death AND to change the wait time before warp!
     
  24. Offline

    SpaceManiac

    Yep, what you had written was just too close to what I would have written if you hadn't beaten me to it. Pretend it was a pull request! [​IMG]

    @Dreadreaver Xon's jar is good, all I changed he didn't was the version number and some readme additions, neither of which are major.
     
    Xon likes this.
  25. Offline

    Xon

    @SpaceManiac I've been meaning to actually figure out how to use github & git. I can figure out how to get an SVN merge to work, so working with a slightly more sane version control should be nicer right?
     
  26. Offline

    mattburnsey

    This is awesome! Thank you. I even like how you place a platform and hollow out instead of (as in single player) finding a nearby safe place. Great work, thanks a million!
     
  27. Offline

    EdGruberman

    The spawn fix is pure sex.

    So now my next wish is it save player positions across a server restart. I know this is a persistence type of thing, but that plug-in seems overkill for a simple plug-in like this. Can you just save player position out to a text file for simplicity sake for now?
     
  28. Offline

    SpaceManiac

    Make sure you're updated to the latest CraftBukkit - I heard this has been fixed but I'm unable to confirm at the moment.
     
  29. Offline

    DIENER

    @SpaceManiac
    Have you updated Nether but still use Nether 1.0 as the name?
    What did you change if you did and is it better than Xon's Nether 1.0.1?
     
  30. Offline

    EdGruberman

    Just tried it with dev-Bukkit #412 and dev-CraftBukkit #440. If I'm in the nether and disconnect, then restart the server, then reconnect, I spawn back in the normal world.

    Also, To emulate SSP portals, can you get it to generate only the portal itself and a small (2 block) ledge of obisidian if in air and avoid the large pocket of air it creates? That could rip into existing structures decently and minimizing the pocket it creates not only emulates SSP but minimizes potential damage...
     
  31. Offline

    SpaceManiac

    @DIENER No, Nether 1.1 is basically the same as Xon's build. I'll update the thread title and first post as soon as I figure out how to make Eclipse open the project again...

    @EdGruberman Leaky is not cooperating with me, but I talked to Tahg on IRC and he said he will talk to Dinnerbone. I'll probably tone down the open spaces as well.
     

Share This Page