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

    Nathan Kamenar

    I just downloaded wormhole so the latest version, v0.832 I think. My bukkit I believe is version 617 as the company I host through told me only to use plugins that support bukkit 617 or higher. Also I don't see any errors in the "console" but I can't even see when I type the /wxcomplete command. I am hosted through servercraft.co if that matters or helps with anything.
     
  3. Offline

    alron

    Hrm, any WARNING or SEVERE during the start up?
     
  4. i get alot of warning from WXT.. but thats because some of my gates have no signs! (by design)
     
  5. Offline

    Nathan Kamenar

    Code:
    WormholeXTreme]Attached: to Permissions version 2.5.1
    WormholeXTreme]Complex: Permissions Enabled
    WormholeXTreme]iConomy: Plugin not yet available - there will be no iConomy integration until loaded.
    WormholeXTreme]Help: Plugin not yet available - there will be no Help integration until loaded.
    WormholeXTreme][v0.832]Enable: Completed.
    Thats it. However it should be noted I am not actually using Permissions but rather Group manager with fake permissions (part of essentials) Also how are the warp gate locations saved? With essentials if I create a warp location i see "essentials/warps/{new warp}.yml file on the server that has the information for the warp but I never see anything like that created for the wormholes.

    EDIT: Ah I found it, I didn't notice you need a hsqldb to save the warps. I don't really know what that means though. Do I need mySQL or anything for this to work? I guess I will have to upload the file to my hosting company and wait for them to put it where it needs to be.
     
  6. Offline

    sablednah

    Testing 658 here. All works fine here - yet to see it drop me in the wrong place - and the target chunk always seams to load fine.

    Heads up tho for people testing (and i shouldn't have to say this but...) backup first as latest build of CB renamed two plugin folders ('interest' because 'interesting places' and 'essentialsgroupmanager' became 'groupmanager') and rejected one plugin with an apostraphie in its plugin.yml file....
     
  7. Offline

    alron

    WXT uses the hsqldb java database engine to store all of its gate locations.
    When you installed there should have been a hsqldb.jar put in lib/

    Yah, very annoying forced change. Luckly we didn't have any issues with that. ;)

    As for the drop in wrong location no longer happening, yes. That turned out to be the easiest way to tell when craftbukkit went nutty. ;)

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

    AudieMurphy

    Alright, this is starting to piss me off. I built a custom gate. I enter through a Standard gate, and come out of my custom one, but almost every single time I exit, it will place me in front of the DHD instead of the portal. It will usually work correctly the first time, but any time after that, it will spit me in front of the DHD. Here's the gate design:


    Code:
    GateShape=
    [A][A][A][O][O:L][O:L][O][A][A][A]
    [A][A][O][O][P][P][O][O][A][A]
    [A][O][O][P][P][P][P][O][O][A]
    [O][O][P][P][P][P][P][P][O][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O:S][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P][P][P][P][P][O]
    [O][P][P][P][P:E][P][P][P][P][O]
    
    BUTTON_UP=-1
    BUTTON_RIGHT=2
    BUTTON_AWAY=8
    
    WOOSH_DEPTH=6

    If anyone could help me with this, it would be greatly appreciated.
     
  9. Offline

    AnrDaemon

    Yes, you missed the fact that I was replying to @Lologarithm. And probably relevant gate names (or so it looks from your reply, that you've completely ignored them).
    No wonder you don't see any errors, as it behaving exactly the way you made it. (Although strange that log doesn't show the fact that attempt at sign dialing was failed. Log level was set to FINEST for this run.)

    Listing only accessible gates would be useful, thanks.

    Correct me if I'm reading it wrong: you took your time to remove certain functionality from addon and now you asking me to provide a patch to bring it back?
    If that would be new functionality I'm talking about, I would be much less aggressive, I assure you. Even then, as current situation stands, I'm trying hard to remain reasonable and not piss you or @Lologarithm off.
    Left aside my lack of knowledge in Java specifics, I'm a programmer myself, and I could do it. But I though it would be much faster and less troubling for you to just revert your "fix", than evaluating and troubleshooting my patch.

    I'll just say that this attitude isn't new, hard to change, but I saw this happened.

    I know, and I said that earlier. I'll see to it when we'll be upgrading server to new RB, after all the addons get their attention or replacement.

    I know. And I said that I know why it is made this way (or, rather, I've had a good guess, but now you confirmed it).

    Yep, I didn't said otherwise. If you noticed, I provided an insight into different situation than the one you intend for the gates. That doesn't mean I'm forcing you to change the way gates operate in this regard.

    As one of our administrators stated, when we discussed this moment, and I totally agree with his point of view at it: "I'm admin, not a cheater."
    I'm running, administering, supporting and othervise tending to different online gaming projects since 1998. And working with OSS development community from... what's my memory? About 2002 or 2004. And I very well know, where lies a border line between administration and cheating.
    It's not to show you how "wise" i'm compared to you. I'm not demanding any new functionality you wouldn't want to implement. Gate shutdown issue was just a parallel insight into overall addon usability from our team's subjective(!) point of view. I, personally, can live with it, as well as majority of our users. But some raised a concern. Which we're to address soon(tm) by adjusting shutdown delay to a more affordable value.
     
  10. possibly that you dont have any [o] along the bottom?

    i will add your design to my WXT and test it
     
  11. Offline

    AnrDaemon

    That would be one of the possible uses for it. But as you said, we could live without it.

    Hrm, one relevant question to the authors, though.
    When wormholes connected, do you poke the server to forcibly load chunk of the remote gate?
     
  12. Offline

    AudieMurphy

    Nope, I tried it with obsidian at the bottom as well.

    After doing a little more testing, it seems like it has to do with the distance of the DHD from the gate. 6 blocks seems to work fine, but any higher than that and it starts flipping out.

    And sometimes the switch won't even work unless I log out and back in. Happens kinda rarely, though, and only this gate does it.
     
  13. Tested it..

    spat me out infront of the DHD every time.. added a line of [O]'s at the bottom with one of them [O:E] and i exit where expected
     
  14. Offline

    AnrDaemon

    @Sithnar , did you just added a lone of [O]'s, or you moved an exit point to one of them as well?
    Though, I'd say that this is bound to be irrelevant as the gate shapes are about to be changed to full 3D, hopefully with a dedicated way to precisely define exit point.
     
  15. i added a full line of [O]'s
    remove the E from t he [P] and added it to on of the new O's
     
  16. Offline

    AudieMurphy

    St
    Strange, that didn't work for me when I tried it. I'll give it another shot. Did you try it more than once? Because like I said, it will usually work the first time, but constantly fail afterwards.
     
  17. Offline

    sablednah

    I think that the :E marks the block you will be stood upon when teleporting to a gate. And therefore is a modifier of O not P.

    I.e. your design had no exit block, so failing to find a valid TP point it goes to the DHD.
     
  18. yep ported to it a number of times. with the correct [O:E] block i exit each time perfectly.
     
  19. Offline

    AudieMurphy

    That's kind of weird, because it works fine if I just make the DHD closer, even with no [O]'s at the bottom.

    Alright, I tried what you suggest again and it still won't work correctly. =/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  20. Offline

    Ditto8353

    I haven't bothered to make any custom portal shapes because the standard stargate shape works just fine for us, but with 3D gates on the way I am very excited. I can't wait to turn all of our portals into massive spheres.
    Question: Will the woosh still only be in one direction? I was hoping I could make a sphere which would start at the center of the obsidian framework and grow to fill it.
     
  21. Offline

    AnrDaemon

    Erm... *ick*... I just though... if I'd make a closed sphere (somewhat around 4 or 5 blocks in radius) with a 2x2 base, turn it into a WH portal, and then use that base to create an elevator to put people into portal before activation...
    And link it all by a redstone wiring... Oh, hope it WOULD work, but i'm doubting it highly... either one of the plugins would break eachother.
     
  22. Offline

    Lologarithm

    Because 3d gates mean that woosh no longer can be assumed to go forward I will be including a new block modifier "W#X" where X is the order the woosh should happen. This lets you specify exactly where and when the woosh should go for your gate.

    Here is an example of the minimal gate with a woosh that goes up:
    Code:
    
    GateShape=
    
    Layer#1=
    [I:W#3][I]
    [P:W#2][I]
    [P:W#1][I]
    [S:L#1][I]
    
    Layer#2=
    [I][I]
    [I][S:A]
    [I][S:IA]
    [I:E][I]
    
    # Number of ticks to wait before activating each # of the woosh. 1 tick = ~50ms
    WOOSH_TICKS = 3;
    # Number of ticks to wait before activating each # of the lights. 1 tick = ~50ms
    LIGHT_TICKS = 1;
    
    The block "I" is ignored (was formally 'A' ) and "S" is "stargate material" (whatever you set for that gate). "A" is now 'activation switch' and is the block the switch will be attached. 'IA' is iris activation switch.
     
  23. woah looks confusing... :)
     
  24. Offline

    AnrDaemon

    So, for 3D gates, I get it that the layers defined back-to-front with leftmost column being the gate "left"?
    Could I ask you to make some (or all of them) adjustments? I believe they are for best of the addon.

    Make "light" block a separate definition, not a modifier. This would require to introduce an option to define it's material in default/building state, defaulted to STARGATE_MATERIAL. Or just say that light blocks should be built as stargate blocks... if that's easier for you.

    Allow explicit definition of levers, names and addressbook placement in addition to defining the blocks they are attached to. (I hope you already made it that addressbook, gate activation and iris control blocks are mutually exclusive to allow separate redstone activation of them.)

    Make blocks marked for Iris Control and Address Book optional, unless they are Light or Name blocks.

    These (simple, I hope) changes would allow some otherwise impossible arbitrary gate designs.

    For example, this definition of "simple" gate shape:

    Code:
    Layer#1=
    [I:W#3][I]
    [P:W#2][I]
    [P:W#1][I]
    [S:L#1][I]
    
    Layer#2=
    [I][S:B] (The block where addressbook will be placed)
    [N][L:A:N] (The name sign should be attached to the side of the gate activation block, and that block is a light block as well, thus [s]double[/s]triple required. It's a 1. gate activation block, a 2. name block and a 3. light block.)
    [I:E][S:IA] (Iris Control lever. And, yes, I've moved exit blok up a bit.)
    [I][I]
    
    Layer#3=
    [I][B] (Addressbook)
    [I][A] (Gate activation lever)
    [I][IA] (Iris activation lever)
    [I][I]
    (Yeah, i'm abusing the simplicity of the meaning of the shape name, but I hope it serves well for clarifying example.)

    @Sithnar, it's not really confusing, once you get a proper explanation of it.
    And when you start designing your own shape, it comes out surprisingly smooth.
     
  25. Offline

    deadlock989

    This looks very complicated. Request that any move to 3D gates does not break 2D gateshape files.
     
  26. Offline

    Lologarithm

    Currently 2d shapes will continue to work, however due to changes in the way the woosh works it won't woosh. (I will include a new standard gate with the woosh definition built in so people can remake the standard gates with the woosh.)

    You can continue to make 2d gates using the new format, you would just have only 1 layer.

    https://github.com/lologarithm/Worm...n/resources/GateShapes/StandardSignDial.shape

    I am doing basically what you want just slightly different syntax :)

    Also, one thing I forgot to put in the file (which I will) the :L only works on a stargate material block [ S ] because currently I only store that material. Maybe later I will include the ability to create custom blocks of a defined material... The only issue is then I need to store what material the light block originally was... :)

    -- This is only an example --
    [C#X:L]

    and then later in the file

    CustomBlock#1=STONE
    CustomBlock#3=OBSIDIAN

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

    AnrDaemon

    It's not syntax, I'm afraid.
    I've posted an image earlier, I think I can find it... gimme a sec...
    http://project.dyndns.org/gallery/minecraft/?show=2011-03-23_07.52.48.jpg this one.
    Using your current syntax, this design is not possible to build. Neither it is possible to build a console with a lever atop the block.
    I propose to not just mark a block as "something attached to it", but also precisely define, where's that something located, in regard to block itself.

    Regarding separate marks for redstone activation. You convinced it's necessary? Not just make :A/:IA/:D blocks able to receive redstone signals, but... arghm, I think I've answered it myself. You need to spread blocks apart quite a bit to create a succesful wiring. Using quite packed hand-dialing console for that purpose would be... well, unwise.

    Regarding custom light blocks, I see your point. Although I think you're walking a longer mile than it is necessary, but yes, I see it.
     
  28. Offline

    theClueless

    So what is the solar flare thing? I built the gates & set name but cannot dial it. I know it's a reference but is that all it is? I tried removing the gates since they wouldn't dial and it said the gates didn't exist, so I assume I need to dial them before removing. Ugh I'm so lost and there isn't a single thing talking about this >.>.
     
  29. Offline

    AnrDaemon

    To get a clue, you could read the first post of this thread. It carefully explaining and depicting the gate activation process.
     
  30. Offline

    Psycho Robot

    Why not cut out an extra step and just allow us to define the block id, e.g. [C#49] would refer to obsidian
     
  31. Offline

    Lologarithm

    Not a bad idea... I still have a lot of other stuff to figure out. Its easy to just make sure the blocks are in the right spot, its harder to store them all :)

    1. I could possibly do that. Maybe add another parameter like "ActivationSwitchFacing=" (LEFT/RIGHT/FRONT/BACK/UP) and same with Iris switch. It gets more complicated with the dialer sign, left/right/front/back would work, but my framework wouldn't support a sign that is free standing.
    2. RE: redstone - that is exactly why I did what I did. Also this lets you turn any arbitrary block into a redstone receiver, doesn't even have to be a 'stargate' block because you can do [I:RA].
    3.Light blocks are kinda complicated right now. Sometime in the future I might make things easier to custom define, but for now I am doing it the 'easy way to code but harder way to use'.

    A gate cannot dial itself (there is no point). The 'solar flare' message is just a joke from the show. Also, as Anr said, read the first post and hopefully it will explain everything.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016

Share This Page