Inactive [TP] Wormhole X-Treme - Multi-World Capable Stargates v0.854 [766]

Discussion in 'Inactive/Unsupported Plugins' started by Ben Echols, Jan 24, 2011.

  1. Offline

    Lologarithm

    This is now inactive - http://forums.bukkit.org/threads/tp-wormhole-x-treme-multi-world-capable-stargates-v1-011-953.23973/ is where you can find the currently active developed version.




    Release v0.854 contains the fix to stop the IndexOutOfBoundsException that happens when 3d shapes have no light blocks. Also contains the fix for 2d gate iris levers (they get added properly again). The Wormhole X-Treme Worlds support is for a version of WXW that is still under development, expect things to break badly if you enable it without the proper version of WXW (0.5, which is not released as of yet).

    If this is your first time downloading this please download the zip, it contains the database software we depend upon.
    You are also encouraged to read the changelog and readme. Especially the readme.
    Basic instruction for use and configuration can be found below.

    Major Features:
    • Player teleportation!
    • Multi-world support
    • Permissions integration (As well as some basic built-in permissions)
    • Custom 3d & 2d gate shapes
    • Iris password protection
    • Minecart teleportation
    • Help plugin integration
    About Wormhole Xtreme:

    Get the Source
    Donate to my coffee fund (It helps me code faster!)

    When I first heard about bukkit I knew I wanted to write a plugin. As I always wanted a way to teleport around I thought it would be fun to write a mod that could do this. I thought writing one like the Stargates from Stargate would be cool.

    So I decided I would make my own portal plugin as my first try at bukkit (and really first mod for Minecraft so far).

    So here is my release of Wormhole X-Treme!

    video (open)

    Samkio made a usage video here, it is a touch out of date but the general idea still works:


    Changelog with important entries in bold (open)

    Changes 0.854
    • Updated chunk (un)loading to happen when gate (de)activates and when dial lever state changes happen.
    • Fixed iris levers not being added properly with 2d gates. (Oops, guess that code WAS needed)
    • Fixed IndexOutOfBoundsException on 3d gate shapes without lighting blocks.
    • Hamfisted fix for signs not updating. Now we nuke the sign and build it from scratch every time a gate sign is toggled. Causes a flash, but... who cares. It works EVERY time now.
    Changes 0.853:
    • Fix for /dial gates breaking when a user who doesn't have dialer permission hit the lever.
    • Switched to getTypeId() from getType(), hopefully this works around the getType() == Air bug that might be lingering.
    Changes 0.852:
    • Added support for upcoming Permissions 3.0.x release.
    • Fixed a NPE in 2d shape code dealing with light block positions.
    • Added soft dependencies to plugin.yml.
    • Minor log format changes for readability.
    Changes 0.851:
    • Complete revamp of how we handle permissions checks. Lots more case statements, lots less if/else if. Much better. This is what enums are for.
    • Added new gate use cooldowns. This feature will only work on complex permissions enabled servers. There are three groups you can assign a player to; 'wormhole.cooldown.groupone', 'wormhole.cooldown.grouptwo', and 'wormhole.cooldown.groupthree'. If you have an '*' on any user/group, remember to '-wormhole.cooldown.groupone' etc. There is a new command to enable, disable, and modify cooldowns; 'wormhole cooldown [true|false|group] <time>', valid groups being 'one', 'two', and 'three', valid time being between 15 and 3600 seconds. There are also Settings.txt options for all of these new settings. Cooldowns are set when a player enters a stargate, not when they /dial. Cooldowns are removed via timer events, and even if the timer event fails, we do a fall back calculation when a player enters a stargate, and gets denied access.
    • Added new gate build count restrictions. This feature will only work on complex permissions enabled servers. There are three groups you can assign a player to; 'wormhole.build.groupone', 'wormhole.build.grouptwo', and 'wormhole.build.groupthree'. If you have an '*' on any user/group, remember to '-wormhole.build.groupone' etc. There is a new command to enable, disable, and modify build count restrictions; 'wormhole restrict [true|false|group] <count>', valid groups being 'one', 'two', and 'three', valid count being between 1 and 200. There are also Settings.txt options for all of these new settings.
    • Updated the stargate sign dial sign reset code to be more reliable at causing the client to notice update changes.
    • Added a thrown exception during stargate 3d shape parsing if the shape doesn't have an exit point. We depend on this location for pretty much everything. If it isn't there, really bad bad bad things happen.
    • Now we have more than just Standard as our default shape. We extract Standard, StandardSignDial, Minimal, and MinimalSignDial to the gateShape folder if it is missing shapes.
    • Now we don't toggle stargate signs when we start.
    Changes 0.850:
    • iConomy support removed. I will not depend on plugins that decide to change their package name 5 major versions in and basically give everyone who depended on the package location the middle finger.
    • 3d Gate shapes now implemented.
    • Custom gate settings now in place (read: per gate material settings). This included the re-addition of the portalmaterial and irismaterial commands. lightmaterial, redstone, wooshdepth, and custom commands newly added.
    • Massive internal overhaul, refactorings, cleanups, general goodness and bugfixes.
    • Added support for Wormhole X-Treme Worlds. This allows Wormhole X-Treme to offload its chunk loading and world loading to WXW, for worlds that exist in WXW. Requires user to change Settings.txt option WORLDS_SUPPORT_ENABLED from false to true. This option requires Wormhole X-Treme Worlds v0.5 to be installed, and preferably configured for every existing world populated with stargates. If this option is set to true but WXW is not v0.5 (or not installed), WX will not load its stargates from its database.
    • Removed many superfluous chunk load requests. Added graceful chunk unload queue when we are done with a chunk.
    • Bumped supported version of permissions to include the 2.7 tree.
    • Updated help text for new/modified commands.
    • Added backwards compatibility, for those users who just don't want to upgrade to 3d shapes.
    • Added loads of failsafe settings, for when users don't have any shapes installed, but have stargates already.
    • wxidc now only works on non-sign powered gates which have iris activation blocks set.
    Changes 0.833:
    • Fixed iConomy double(or many many more) charging issue. Tried to do something awesome, turned out to be a bad idea. We'll revisit these kind of changes when 3d shapes are in and I can do some major refactoring and method merges/splits.
    • Bumped supported version of permissions to include the 2.6 tree.
    • Merged some of the sign click schedule related methods. Should make sign click messages more reliable.
    Changes in v0.832:
    • Fixed a NPE in new database initialization. Whoops, missing null-check, added.
    Changes in v0.831:
    • Fixed erroneous messages sent when a plugin is attached to already and WXT receives a plugin event for it. Cosmetic bug, fixed.
    Changes in v0.830:
    • Water now will not flow over Stargate anythings. No more broken levers and magic blocks of water floating in their place.
    • Buckets now will no longer work with stargate anythings. No free water and lava.
    • Minor optimizations and code cleanups.
    • PORTAL_MATERIAL, IRIS_MATERIAL, STARGATE_MATERIAL, ACTIVE_MATERIAL are all part of gate shape now.
      • All configuration values associated with these are gone now.
      • Gate shapes without these default to
        • PORTAL_MATERIAL = STATIONARY_WATER
        • IRIS_MATERIAL = STONE
        • STARGATE_MATERIAL = OBSIDIAN
        • ACTIVE_MATERIAL = GLOWSTONE
    • Updated default gate shapes that come in the zip to include these new values.
      • See gate shape files for more details
    • Removed version 1 DB conversion because new design doesn't allow for it anymore.
      • For users this means if you are upgrading from version 0.3 or less to this version you will need to remake your gates.
    • Fixed NPE in onPlayerInteract caused by event not reporting the block the interact event was associated with.
    • Logic tweak in the find safe teleport code. Should be *safererer*
    • Sign powered stargates now can only target other sign powered stargates.
    • Fixed so that when coming from a lava portal stargate to a non-lava portal stargate fire damage is canceled still. No more nasty fire after a teleport.
    • Added the logic back in to stop people from randomly teleporting when next to the lever of an active gate. The side effect is, when block.getType() fails, gates don't work. Its one or the other.
    • Fixed /wxcomplete permission deny issue with stargates on public networks.
    • Added ICONOMY_OWNER_EXEMPT option to Settings.txt with a default value of true. When true this option disables the charging of gate owners for using their own gates.
    Changed in v0.821:
    • Update version of iConomy we build against and test for.
    • Fix NPE in old non-shape based gates.
    • Added custom StargateTeleportEvent for MinecartMania as we nuke the minecarts before we teleport the player and put them back in the minecart.
    • Refactored package to com.wormhole_xtreme.wormhole in anticipation of adding more stargate related projects.
    Changed in v0.820:
    • Initial support for CraftBukkit Build 600.
    • Got rid of the stupid double error that people got by not reading the readme. Now when we parse settings.txt, if the value is integer for the iconomy settings, we change it to a double by simply dropping a .0 at the end of it. Problem solved.
    • Lots of optimizations to the distance finding method we were using. Also fixes to the gate shape parsing code. (Thanks lirelent)
    • Overhaul of the way we handle permissions internally. More unified approach to the actual permissions checks.
    • Gate block protection should now be compatible with plugins like mcMMO. "Should" being the operating word.
    • Levers now properly move when used and toggle on and off when stargate and iris are activated.
    • All Permissions deny events now log at Level.FINE. Got permissions problems with WXT? Now see what is happening.
    • Optimized fire protection. Now we use timer events that go off 2 seconds after gates close. This way we don't have to listen for fire type events 24/7. :)
    • Fixed teleportation dropping people into very unsafe locations. Now we scan for safe place to drop people, if we can't find one we drop the player in front of the DHD. This will also FIX wormholes by setting the stored teleport location to the new clean and safe location.
    • We now support using the help plugin along with WXT.
    • We now have settings.txt options to hard disable support of iConomy, Permissions, and the help plugin. No longer do we log a warning when unable to find the plugin we depend on. We log at INFO. :p
    • Buttons are no longer really used. If a button exists on a stargate, it will be replaced with a shiny new lever on the first use.
    • Lava stargates are *really* safe to use now. For trees even. Not minecarts though.
    • A whole host of debugging information has been added at Level.FINE. If you can trigger a bug reliably, set yourself to fine and provide the server.log details surrounding the bug. Not recommended for production servers as well... its exceissive.
    • The '/wormhole regenerate' command is partially added. Will regenerate missing activation and iris levers.
    • Minecarts work across chunks and worlds now! If you run into a location where it doesn't work, use the wormhole in both directions to correct the wormhole, then try again. :)
    Changed in v0.812:
    - /wxgo now works properly when traversing world bounderies. First we quickly pop into the default spawn location for the target world, then from there we go to our final destination. It is a hack, but it is a working hack. :)
    - methodized the code to find closest stargates, and find distance from closest stargate blocks as well as the math to find distance.
    - Updated block ignition events to only use proximity style checks. Block ignition event cancellation radius increased to active stargate woosh depth or 4 blocks, which ever is further.
    - Updated '/wxcompass' to use new FindClosestStargate method.
    - Updated onEntityDamage to use only proximity style checks. On active gates a bubble of no fire damage of either woosh_depth or 4 blocks, which ever is larger, is created. On closed gates a bubble of 2 blocks is created to stop fire ticks occuring right as a gate closes. Stopped caring about potential drowning in stargate. If user decides they want to stand in the wrong side of a gate till they drown, that is their choice.
    - Re-added missing CONSTRUCT_NAME_TAKEN error string in ConfigManager. This stops an NPE in 'wxcomplete'.
    - Added support for tkelly's Help plugin. Will generate proper config based on permissions type (simple or complex) or lack of permissions plugin altogether.
    - Refactored the heck out of iConomy and Permissions support. Own classes in a new package to go along with the Help support. Methodized a bunch of useful functions. Less duplicated code.
    - Added some log output for 'wxforce'. Should help combat abuse.
    - Ops are now always able to use 'wxremove'.
    - The '/wormhole simple' command now refreshes Help entries to the proper permissions after being set.

    Changes in v0.811:
    - Came up with a proximity based check for stargates in the lava & fire event
    cancellation code. Now only 3 block radius around active lava portals
    gets its lava & fire events cancelled. STATIONARY_LAVA is safe for players
    to use in portals now. For reals.
    - Version 4.5 of iConomy is now supported and verified as working.
    - Now we actually check for Iris on gate use while in minecart...
    - Back to the good ol kick the player out of the cart and stuff them through
    the stargate method. Doing a bit of a hackish teleport when going between
    worlds as well. We tp to spawn, then instantly to destination. This is only
    when starting the tp while in minecart. If minecart is empty and passing
    into a stargate that will traverse worlds, we kick the minecart back. Otherwise
    it will dissapear into the void.
    - Now we cancel block ignite events on a proximity basis, same way we cancel
    fire and lava events on player. No more trees bursting into flames near a stargate.

    Changes in v0.810:
    - Broke '/wxcompass' out into its own class. Removed '/wormhole compass'.
    - Broke '/wxcomplete' out into its own class. Removed '/wormhole complete'.
    - Broke '/wxidc' out into its own class.
    - Broke '/wxremove' out into its own class. Removed '/wormhole remove'. Fixed so it toggles iris to off state before removing gates with iris active.
    - Broke '/wxlist' out into its own class. Added no permissions error message. Removed from '/wormhole' command.
    - Added command '/wxgo' and broke it out into its own class. Added no permissions error message.Removed from '/wormhole' command.
    - Broke '/dial' out into its own class.
    - Broke '/wxbuild' out into its own class.
    - Broke '/wormhole' out into its own class.
    - Added another message for active gates. Now it will say either remote activated, or activated by someone else already.
    - Added SIMPLE_PERMISSIONS config option. The default value of 'false' makes permissions node settings use complex mode. While the setting of true sets the plugin to check for extremely simplified permissions. Permission node details can be found in the README.
    - Refactored the WXForce class to Force. Hopefully this shuts MSSE up. ^^;
    - Moved a bunch of the initial loading out of onEnable and into onLoad. Now we use onEnable only for events that should only happen at plugin Enable.
    - Updated '/wormhole' command to have more descriptive errors and built in help. Updated help information for this command as well. Command now has unified messaging string headers. Added new 'simple' option to enabling simple permissions while the game is live. Requires the user to have proper permissions node for configuration in target mode. Removed a bunch of duplicated permissions checks. Only one check is needed at beginning of command call now.
    - Revamped readme to reflect important recent plugin package changes.
    - Fire damage, combustion damage, and drown events now canceled in stargate. Now LAVA is really a valid portal material.
    - Creeper explosions are now canceled when they would cause damage to stargates. This will stop signs and buttons from being destroyed during that mad dash to/from a stargate. ^^

    Plugin Commands (open)

    dial:
    description: Dial a remote Stargate, unlock IDC with optional password
    usage: /dial <StarGate> [IDC]
    <stargate> The StarGate to dial.
    [IDC] Use optional password to open remote Iris.

    wormhole:
    description: Wormhole administration and configuration commands.
    usage: /wormhole <commandtype> [ARG1] [ARG2]
    Valid Commands - 'owner', 'perms', 'portalmaterial', 'irismaterial', 'lightmaterial', 'shutdown_timeout', 'activate_timeout', 'simple', 'regenerate', 'redstone', 'wooshdepth', 'cooldown', 'restrict', & 'custom'.

    wxlist:
    description: List all Stargates.
    usage: /wxlist - List all Stargates.

    wxbuild:
    description: Automatically Build Stargate.
    usage: /wxbuild <GateShape>
    <GateShape> The GateShape to build.
    After placing a DHD with a button (and sign if wanted) running this command then pressing the button will cause the specified <GateShape> to be built.

    wxremove:
    description: Remove a stargate, optionally destroy its blocks.
    usage: /wxremove <GateName> [-all]
    <GateName> The GateName to remove.
    [-all] destroys gate blocks too.

    wxcompass:
    description: Point compass needle at nearest Stargate.
    usage: /wxcompass - Point compass needle at nearest Stargate.

    wxcomplete:
    description: Complete StarGate construction.
    usage: /wxcomplete <GateName> idc=[IDC] net=[Net]
    <GateName> The name to give new Stargate.
    [IDC] Optional password to give Stargate.
    [Net] Optional network for Stargate.

    wxidc:
    description: Gets or sets a gates IDC.
    usage: /wxidc <GateName> <optional_set_idc>
    Requires being either owner or have wormhole.config
    set -clear to remove the IDC

    wxforce:
    description: Forcefully shut down all gates and/or open all iris
    usage: /wxforce <close|drop>

    wxgo:
    description: Teleport to specified wormhole.
    usage: /wxgo <GateName>

    Install directions (open)

    New Install:
    1. Download the zip.
    2. Unzip file into same directory that your craftbukkit.jar exists in. This should put the hsqldb.jar into the lib/ folder, the WormholeXTreme.jar into the plugins/ folder, and the latest versions of GateShapes into the plugins/WormholeXTreme/GateShapes/ folder.
    3. Start server
    4. (Optional) Stop the server and edit the newly generated /plugins/WormholeXTreme/settings.txt file as needed.
    5. (Optional) Edit gate shapes in /plugins/WormholeXTreme/GateShapes/
    6. (Optional) If using the Permissions plugin based plugin, set up the appropriate permissions. If using SIMPLE_PERMISSIONS = true remember to use permissions from the Simple Mode list, otherwise use nodes from Complex Node.
    7. (Optional) Start Server again

    Basic use instructions (open)

    Basic Use:
    First off you need to make a stargate. I you can see the design design below - you need the Gate, a Dial Home Device (DHD), and a stone button or lever facing away from the gate on the DHD. The purple blocks are Obsidian, and the Blue has to be air, but will turn to water when the gate is activated.
    basic_stargate_and_dhd.png

    A real example of a constructed gate:
    2011-01-24_01.53.11.png

    You MUST make the gate exactly as it is in the picture.

    Once it is assembled hit the button ( You need to stand at least one block away from the button for the event to trigger. ) and the system will confirm that the stargate is properly made. If you don't see a "wormhole design valid" message you did not create the gate properly.
    If you did see the message, you simply type /wormhole complete <name> to finish and name the gate. A name sign with the gates name should appear on the gate. You can optionally type /wxcomplete <name> <idc=[IDC]> (idc = iris deactivation code, or the code needed to use the gate) - this will make your gate password protected.

    Now if you hit the button again it will "activate" the gate to be dialed.

    To Dial (after hitting the button) you type "/dial <remote_gate_name>" and the gate will open and fill with water! (You can change the portal material by using /wormhole material) The gates currently don't by default timeout after dialing. If the remote gate has an iris code you will need to type "/dial <name> <idc>" to activate the remote gate.

    Hitting the button again from the gate that dialed out will deactivate the gate. Pressing the button on a gate that has been dialed in to will do nothing because you can't activate a gate that is remotely activated. (Tried to keep it just like the show haha).

    Name Sign Dialing (Public Gate System):
    • NOTE: This is an alternate way to BUILD a gate. Currently existing gates will not work by simple placing a sign next to the activation button. You will need to /wormhole remove first and then re-complete the gate using this system.
    • Place a second obsidian "pillar" next to the main DHD and place a sign on it. Put the name of the gate on the top line.
    • Gates with this sign can only be dialed via the sign now. You will only see other gates that have a sign.
    • Gate without a sign can dial IN to a sign gate.
    • AGAIN : If you make a gate without a sign it will NOT be on the list of gates.
    • To cycle through possible gates use right click - Sometimes it takes a click or two for it to work :)
    • See here for sign dialer gate example:
    • 2011-01-25_02.15.31.png
    • Note - unless you have STARGATE_FULL_ACCESS or "wormhole.remove" you will be unable to destroy any blocks that are part of the gate.
    • Networks!
      • If you put any text on the second line of the sign, it will be the "network" the gate is on.
      • You will only be able to dial other gates on the same network as you
      • Currently you cannot change the network, so make sure you type it correctly!
      • By default (if nothing is put on the second line) a gate will be part of the "Public" network.

    Basic configuration settings (open)

    Configuration:
    • All configuration is now stored in a file /plugins/WormholeXTreme/Settings.txt
      • All descriptions of the settings will be found in that file with the settings.
    • You can change some options while the server is running:
      • /wormhole activate_timeout <optional_timeout>
        • This is the length of time after activating but before dialing that the gate deactivates.
        • This does not affect sign dialed gates.
      • /wormhole shutdown_timeout<optional_timeout>
        • Setting to 0 means portal only closes after something goes through, and then immediately closes.
        • This setting is how long after a player dials a gate before the gate shuts down.

    Permissions plugin settings (open)

    Permissions:
    • This plugin works with the Permissions plugin. (Currently 2.5+ Only)
      • Changing the built in permissions will not change the Permissions plugin at all.
    • Without the Permissions plugin you can use the built-in permissions (disabled by default)
    • /wormhole perms - for more information
    • to enable/disable default perms /wormhole perms active <true|false>
    • When built-in permissions are active:
      • Default OPs get all access
      • Default all other users get USE only
    Permissions Plugin Nodes: (Controlled by settings.txt - SIMPLE_PERMISSIONS)
    SIMPLE_PERMISSIONS = false
    Complex Mode:
    wormhole.use.sign - lets a user use sign gates.
    wormhole.use.dialer - lets a user use '/dial' gates
    wormhole.use.compass - lets a user use '/wxcompass' command.
    wormhole.remove.own - lets a user remove a gate that they own
    wormhole.remove.all - lets a user remove any gate
    wormhole.build - Able to build new wormholes
    wormhole.config - Able to configure settings like material and timeout
    wormhole.list - Able to use '/wxlist' command to list wormholes
    wormhole.network.use.NETWORKNAME - Able to use wormholes on NETWORKNAME
    wormhole.network.build.NETWORKNAME - Able to build wormholes on NETWORKNAME
    wormhole.go - allows user to use '/wxgo' command.
    wormhole.build.groupone - Part of build restriction group one.
    wormhole.build.grouptwo - Part of build restriction group two.
    wormhole.build.groupthree - Part of build restriction group three.
    wormhole.cooldown.groupone - Part of wormhole use cooldown group one.
    wormhole.cooldown.grouptwo - Part of wormhole use cooldown group two.
    wormhole.cooldown.groupthree - Part of wormhole use cooldown group three.

    SIMPLE_PERMISSIONS = true
    Simple Mode:
    wormhole.simple.use - Lets a user use wormholes.
    wormhole.simple.build - Lets a user build wormholes.
    wormhole.simple.remove - Lets a user remove wormholes.
    wormhole.simple.config - Lets a user configure WormholeXTreme settings

    Help plugin settings (open)

    Help:
    • Currently there are no configuration options for Help the help plugin. It is just plug and play. If you want to change the help text, you are able to do such via the Help plugin override build into the Help plugin.

    As always please let us know of any bugs! Just remember, some bugs are in vanilla and craftbukkit itself, so we may not be able to address them easily.


    Devs: Lologarithm & alron
     

    Attached Files:

  2. Offline

    nerdnosyd

    Wait, there's a command to build the gates automagically?
    Yes please...
     
  3. Offline

    icomeinpieces

    yes there is lol the /wormhole build [gate shape] or it's shorter counterpart /wxbuild [gate shape] the two defualt gate shapes are Standard and Minimal. These shapes are case sensitive when typed in-game.
     
  4. Offline

    alron

    What version of CraftBukkit?

    I built the WXT plugin against Permissions 2.5.4 when I packaged it for release. I didn't/haven't seen this error.
     
  5. Offline

    enkryptor

    #531 (the recommended one), the same issue with #493. How can I help to isolate the problem?
     
  6. Offline

    alron

    Well, a good place to start is by disabling the Permissions plugin (rename Permissions.jar to Permissions.jar.old or something similar) then start your bukkit. See if WXT starts properly for you.

    If it doesn't, then you probably didn't install it right or something along those lines, probably something like the hsqldb.jar being missing, or something similar.

    If it does, then you may need to look at how your Permissions plugin is installed.
     
  7. Offline

    enkryptor

    I've found it. I get the issue when run Permissions, WXT and PreciousStones:
    Code:
    00:58:32 [INFO] [Permissions] version [2.5.4] (Phoenix) was Initialized.
    00:58:32 [INFO] [PreciousStones] version [2.8.1] loaded
    00:58:32 [INFO] [PreciousStones] loaded 0 unbreakable blocks
    00:58:32 [INFO] [PreciousStones] loaded 1 forcefield blocks
    00:58:32 [INFO] [WormholeXTreme][v0.8][By Lologarithm & alron]Load Beginning.
    00:58:32 [SEVERE] com/nijikokun/bukkit/Permissions/Permissions loading WormholeXTreme v0.8 (Is it up
     to date?)
    java.lang.NoClassDefFoundError: com/nijikokun/bukkit/Permissions/Permissions
            at com.wormhole_xtreme.WormholeXTreme.setupPermissions(WormholeXTreme.java:131)
            at com.wormhole_xtreme.WormholeXTreme.onEnable(WormholeXTreme.java:79)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassNotFoundException: com.nijikokun.bukkit.Permissions.Permissions
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 12 more
    00:58:32 [INFO] [Permissions] version [2.5.4] (Phoenix)  loaded
    00:58:32 [SEVERE] Could not pass event PLUGIN_ENABLE to WormholeXTreme
    java.lang.NoClassDefFoundError: com/nijikokun/bukkit/Permissions/Permissions
            at com.wormhole_xtreme.WormholeXTremeServerListener.onPluginEnabled(WormholeXTremeServerList
    ener.java:52)
            at org.bukkit.plugin.java.JavaPluginLoader$31.execute(JavaPluginLoader.java:316)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:452)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassNotFoundException: com.nijikokun.bukkit.Permissions.Permissions
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 13 more
    Just two of plugins - WXT and Permissions - work fine.
     
  8. Offline

    alron

    Erm, good to know. :|

    I have no clue why PreciousStones would break WXT during load time either. :|

    The first plugin I've heard of really conflicting with WXT.
     
  9. Offline

    tension69

    So erm, now it's all working properly an ting (build#531), any chance of implementing horizontal gates for us lazy gits that just want to drop straight into them?
     
  10. Offline

    Lologarithm

    Thanks!
    That shouldn't be happening, you can't specify a network to dial. Yes - sign gates now can only dial gates in the same network as themselves. Sign gates can be constructed now with networks by specifying the network on construction of the gate.

    Right now sign-dialed gates can't disable the IDC of a non-sign gate. However, the reverse can happen, if you use /wxidc to give a sign gate a non-sign gate can pass in the idc.

    There are plans to change this in the future - they just haven't been implemented yet.

    Dial and sign gates can dial each other provided they are in the same network.

    Again, there shouldn't be a net argument when dialing.
     
  11. Offline

    alron

    Looks like a stray entry got added during the formatting merge I did.
    Purely cosmetic. Not functional.
     
  12. Offline

    Twanfox

    If I recall right, and I just tested this to find out, if you build a gate, and then add 'pretty' around it, including adding a raised platform on which to teleport onto, when you teleport in, the 'exit point' calculated actually winds up inside an existing block, and you'll often find yourself dropped into the world. In my test case, there was actually a cave beneath me so I fell into that. In other cases, I've died near the bedrock.
     
  13. Offline

    Lologarithm

    I had some code that would automatically go up until it hit air... the only issue is lately detecting block types has been kinda iffy. I can re-enable that code check, just can't promise it will always work :)

    Best for sure method is after adding the pretty to remove/add the gate real fast - this will make sure that you don't die in stone :)
     
  14. Offline

    Twanfox

    Oh, I agree. By having everything in place around the Gate before finishing it (or doing a remove/reconstruct afterwards), you pretty much won't have that problem. My comment about it was because Alron didn't seem to know about it, and it seems like it is a poorly documented issue.
     
  15. Offline

    alron

    Oh, I know about it. Just don't care. ^^

    Edit:
    Okokok. I just didn't care enough to explain it when it has been brought up more than a couple of times in the past week 2 weeks. :)
    [MERGETIME="1299804407"][/MERGETIME]
    Looks like PS released a fix. I have not tested it as I don't use PS. :)
     
  16. Offline

    Xgkkp

    I added an extra gate shape that did nothing except raise the "button" location up by one. That way, I can build the gate level with the dial column.

    There is a promising new bug report on the tracker that looks like it might be a contributing factor to the block detection problems.
     
  17. Offline

    alron

    http://leaky.bukkit.org/issues/553

    Yah, been watching closely.
     
  18. Offline

    SheepRock

    Thank you for making this so overly complex that im now looking for an alternative. was good when you first started, then you fixed it and fixed it until it broke.
     
  19. Offline

    alron

    So hey, with nearly 300 downloads so far, I've seen no reports of functionality breaking bugs (other than the block.getType() fiasco). And only a single cosmetic bug (already fixed in main git repository).

    This is a good sign. :)
    [MERGETIME="1299806869"][/MERGETIME]
    No problem. Glad you like it.

    Thank you, drive through.
     
  20. Offline

    Nymphalis

    Ah, well, good to know that the [net]-argument was just a cosmetic thing. Kept trying to use that one... ^^
    So, did I understand everything right that way:
    Every gate in a network (sign or dialer doesn't matter) can connect to any other gate in the same network.
    And if no network is specified the gate (again sign or dialer doesn't matter) will be part of the public-network, not being able to dial into another (specified) network (at least I wasn't able to use my dialer-gate without network to access any of my sign-gates, that are grouped in networks. Did I do something wrong or is the ability of dialer-gates to dial into every other gate, no matter what network, gone?)?

    If that is correct, may I suggest a possibility to create a dialer-gate that can dial accross several networks, just like it did before? I liked the idea of having some kind of "master-gate", that could be accessed only by certain persons (i used the wormhole.use.dialer-permission to accomplish this) and thus enabling them to access every other gate in my world, while standard-users had to use public sign-gates, which are grouped in several networks and combined by a large hub-room with one gate from every network (to keep the list of possible targets shorter that is).
    My idea could just be an optional "master=1"-argument after the /wxcomplete-command. Then, if someone uses the dial-command, the if-clause would have to be changed from "if(userHasDialAndNetworkPermissions && target.network == this.network)" to "if(userHasDialAndNetworkPermissions && ( target.network == this.network || master == 1))", not much work imo. That way it would even be possible to further distribute the permission to use such a master-gate between users, because a user still has to have "wormhole.network.use.NAME"... you could create personal master-gates by creating networks with just one gate and then adding the permission to the specific user.

    Just an idea to further increase the possibilities of this plugin without making setting up a simple warp system to complicated. Anyways, keep the good work up, you're doing a great job :)
     
  21. Offline

    alron

    Actually, having master gates wouldn't be a horrible option...

    Thinking on it. :)
     
  22. Offline

    Jonathon

    /me starts creating his version of atlantis. :)

    Another wacky suggestion one of the players on my server had was, horizontal portals. Wacky unneeded, unnecessary but just throwing it out there. xD
     
  23. Offline

    icomeinpieces

    I also had players on my server suggest I make a feature request for this.

    could modify the wxbuild command so it could look like this:
    /wxbuild [gate name] [optional:[sideways]] so instead of building blocks for the gate across the y-axis, it would build across the x or z axis. I hope i made sense lol.
    Also for prebuilt gates you could specify sideways on the 3rd line on a sign for the arguement. just ideas i'm throughing out lol.
     
  24. Offline

    Lologarithm

    I know what you mean, the issue is that it just makes the math a lot harder. Right now I can assume that the Y axis (yes, that is not a typo) is always up/down which simplified my equations. I will have to think about this a little more (might not be as hard as I am thinking actually now that I think about it).

    My other idea was to actually allow gate multiple "layers" in the same shape file so that you can construct arbitrary 3d shapes.

    Something like:
    GateShape=
    Layer1=
    [O][P][O]
    [O][P][O]
    [O][P][O]
    Layer2=
    [O][P][O]
    [O][P][O]
    [O][P][O]

    So that the gate would then be two blocks deep....

    The other option like you said, is maybe have the "optional sideways" argument and then I just lay they shape down 90 degrees.

    While I am mentioning all of this, if we had 3d shapes I think I would also let people define where in a gate they would want the Iris to be (using something like a :I on a block).
     
  25. Offline

    ssechaud

    Testing CB build 534 and WHX v0.8 using a dial gate crashes the server:

    17:52:05 [SEVERE] java.lang.NullPointerException
    17:52:05 [SEVERE] at net.minecraft.server.BlockSign.a(BlockSign.java:109)
    17:52:05 [SEVERE] at net.minecraft.server.World.k(World.java:369)
    17:52:05 [SEVERE] at net.minecraft.server.World.h(World.java:345)
    17:52:05 [SEVERE] at net.minecraft.server.World.f(World.java:317)
    17:52:05 [SEVERE] at net.minecraft.server.World.e(World.java:293)
    17:52:05 [SEVERE] at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(Cra
    ftBlock.java:127)
    17:52:05 [SEVERE] at org.bukkit.craftbukkit.block.CraftBlock.setType(Craft
    Block.java:117)
    17:52:05 [SEVERE] at com.wormhole_xtreme.model.Stargate.AnimateOpening(Sta
    rgate.java:205)
    17:52:05 [SEVERE] at com.wormhole_xtreme.logic.StargateUpdateRunnable.run(
    StargateUpdateRunnable.java:44)
    17:52:05 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainT
    hreadHeartbeat(CraftScheduler.java:122)
    17:52:05 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:345)
    17:52:05 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:272)
    17:52:05 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:366)
    17:52:05 [SEVERE] Unexpected exception
    java.lang.NullPointerException
    at net.minecraft.server.BlockSign.a(BlockSign.java:109)
    at net.minecraft.server.World.k(World.java:369)
    at net.minecraft.server.World.h(World.java:345)
    at net.minecraft.server.World.f(World.java:317)
    at net.minecraft.server.World.e(World.java:293)
    at org.bukkit.craftbukkit.block.CraftBlock.setTypeId(CraftBlock.java:127
    )
    at org.bukkit.craftbukkit.block.CraftBlock.setType(CraftBlock.java:117)
    at com.wormhole_xtreme.model.Stargate.AnimateOpening(Stargate.java:205)
    at com.wormhole_xtreme.logic.StargateUpdateRunnable.run(StargateUpdateRu
    nnable.java:44)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(C
    raftScheduler.java:122)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:345)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  26. Offline

    deadlock989

    Still loving this plug-in.

    ... but still having the occasional issue with the purple Portal-style "whoosh". Half of them draw the whoosh blocks sideways. The stable wormhole is always drawn the right way. It is consistent with the gate used, so I'm guessing that the "whoosh" code doesn't check whether the gate is aligned north-south or east-west.
     
  27. Offline

    dak393

    probably that and also portals are very buggy only liking to stay in that one orientation and if 2 are placed next to each other they destroy themselves (not a bug but still annoying).
    any ways I'm getting some errors with this I just updated craft-bukkit to the latest recommended version #531
    EDIT: It was exactly what I thought it was, me being stupid sorry >.>
     
  28. Offline

    Raveinacave

    How do i get into the second world to create the Stargate though??
     
  29. Offline

    Lologarithm

    That look like the errors are actually in bukkit. I haven't used cb534 only 527... I will see if this happens on my server with the latest code. In the meantime probably run an older version and see if it still happens?
     
  30. Offline

    alron

    @ssechaud
    Looks like I can trigger this one 100% of the time with build 535 and 534. Didn't test 533 - 532.
    Build 531 does not have this problem, and is still listed as recommended on ci.

    I'm looking into this to see if it is something we'll need to change (api change or something similar), or if it is a bukkit bug.
     
  31. Offline

    icomeinpieces

    having 3d shapes in my opinion would help solve things. sure people would have to predefine said gates before starting servers but that's not new. since the plugin already knows how to autobuild the gate at the desired location based on where the dial/sign stand is, that should help make things work out easier.
     

Share This Page