Teleportation_Redux

by Silari

Mid and late-game techs for teleportation devices. Adds beacons which allow teleportation between them, and equipment that allows teleporting within vision range, including radars, using a remote. Both methods require power proportional to the distance traveled. Also includes optional telelogistics technology which transfers items from a Teleprovider chest to a selected Beacon (hit R on the chest to set it). Original by Apriori, updated to 0.17+ by Silari.

Content
5 days ago
0.17 - 2.0
10.9K
Transportation

Changelog

Version: 2.0.1
  Bugfixes:
    - Theoretical fix for telelogistics removing quality information from teleported items.
Version: 2.0.0
  Info:
    - Official release for Factorio 2.0.
Version: 1.1.12
Date: 18.03.2023
  Features:
    - Added the 'script_raised_teleport' parameter where appropriate. This should help other mods play nicer when players/vehicles are teleported.
  Bugfixes:
    - Solved a crash from upgrading technologies prior to building any beacons.
Version: 1.1.11
  Features:
    - Added ability to copy beacon settings and paste onto logistic providers in order to set that beacon as the destination. Likewise, you can copy/paste teleprovider settings onto another to copy its destination beacon (or lack of one).
  Bugfixes:
    - Removed mipmap property on two entities that did not have them.
Version: 1.1.10
  Changes:
    - Jump Portal can only target areas that have been mapped by the player's force. This avoids issues with attempting to teleport to a non-generated chunk.
  Translation:
    - Updated the Russian locale with changes provided by Apriori (the original author of the mod).
Version: 1.1.9
  Changes:
    - Added info to the teleporter shortcut to allow the game to display the hotkey combination it uses.
    - Added new startup settings for energy storage and usage.
      - Beacon and personal teleporter descriptions should use the current settings for the shown energy usage.
    - Added new technology to upgrade beacon storage. Especially useful for modded vehicles as the default energy storage may not be enough for them to teleport.
  Bugfixes:
    - Fixed a can't jump message when destination beacons don't have enough energy.
Version: 1.1.8
  Changes:
    - Changed the message given when a beacon does not have enough power for a jump, and it's maximum buffer is less than the required amount.
  Bugfixes:
    - Fixed error when jumping when not in a vehicle due to missing check for vehicle.
    - Fixed errors attempting to teleport when player does not have a character.
    - Fixed incorrect collision checking when in a vehicle - collision check is now based on the vehicles collision box instead of always on the character's collision. Spidertron teleporting currently ignores collision due to the vehicle technically having none. Future update may improve this.
Version: 1.1.7
  Changes:
    - It is now possible to teleport while in a vehicle. The vehicle must have at least one teleport equipment installed, and thus must have an equipment grid.
      - Vehicles require more power than teleporting a player. At present this is a 10% increase for each weapon slot, and a 1% increase for each inventory and equipment grid slot. A vanilla spidertron takes 240% the power to teleport as a player, which is almost all of a beacons energy. Modded vehicles may require more energy than a beacon can provide.
      - Energy needed for teleportation will come from the vehicle equipment first. If that is insufficient it will pull the rest from the player's teleport equipment.
  Bugfixes:
    - Fixed some additional improper error messages. The game should account properly for any of the following conditions: in/out of vehicle, no armor, armor with no grid, armor with grid but no teleportation equipment, armor with grid and teleportation equipment but insufficient charge, in a vehicle with no grid, in a vehicle with a grid but equipment, in a vehicle with a grid and equipment but insufficient charge, and in a vehicle with a grid and equipment but insufficient charge while wearing armor with teleport equipment that can't provide the remaining needed charge.
Version: 1.1.6
  Bugfixes:
    - Fixed wrong error given when wearing armor with an equipment grid and attempting to teleport using the beacon list while inside a vehicle while not near a beacon. Presence of a vehicle is now checked first and overrides other possible errors.
    - Recipe for jump targeter wasn't removed from Advanced Teleportation as it should have been since 1.1.3. The item will continue to exist for legacy reasons but the shortcut version should be used instead.
Version: 1.1.5
  Bugfixes:
    - Added check for entity validity in Teleportation_CountBeacons function to prevent a crash. Some other functions had validity checks added JIC.
    - Added script_raise_delete event to the list of subscribed events so the mod can remove beacons that were deleted by a script to prevent the above issue in cases where the event was raised.
    - Teleportation_Migrate function that is run when configuration changes has been updated to actually run, and to clean up the leftover map marker and hidden accumulator if the beacon is no longer valid. Altogether these three should help keep the list clean and prevent future issues.
Version: 1.1.4
  Bugfixes:
    - Fixed Telelogistics error on startup.
Version: 1.1.3
  Changes:
    - The Jump Targeter is now a shortcut on the hotbar as well as a Ctrl+J shortcut. The item version is deprecated but still present for now.
    - Added new setting - "Dynamic Teleprovider Loop". This controls how fast the mod processes Teleproviders. Under the old method, one teleprovider is processed per tick, leading to fluctuating throughput depending on how many providers exist. New method iterates over each provider once per second, spread throughout the second.
      - In summary, new method provides consistent throughput for each provider, but may perform noticeably slower if you have hundred/thousands of them.
    - Hitting the hotkey to open the Teleprovider linking menu will now close the window if no teleprovider is highlighted, or change which teleprovider the window will setup if one is highlighted.
  Optimisations:
    - Moved initialization code out of on_tick function and into on_configuration_changed
Version: 1.1.2
  Info:
    - Release for 1.1 based on 1.0.2.
Version: 1.0.2
  Bugfixes:
    - Removed some useless bits of code from places - ex. "per_user" in settings.
    - Fixed that beacon information window wouldn't update beacon name if a new beacon was selected without the window closing.
  Changes:
    - Added additional power usage information to beacon and teleporter equipment descriptions.
    - Beacon information window now includes the numerical values for current and max charge in addition to the progress bar.
Version: 1.0.1
  Bugfixes:
    - Beacon list is resorted after a successful teleportation if it's using 'nearest to player' beacon sorting.
  Changes:
    - Telelogistics tech now requires Teleportation tech, since beacons are required to make use of it. Logistic System tech is also still required.
    - Update the error message when attempting to teleport from a beacon without enough power, and player does not have teleportation equipment.
    - Update error messages when using the Jump to Nearest Beacon command:
      - Messages are fully supressed when iterating over them
      - Specific message if there are no valid beacons.
        - For the Russian locale, this is a copy of the generic failure message since I can't translate it myself.
      - Specific message if you're already standing on the only beacon.
      - Specific message if you are not on a beacon and have no personal teleporters.
      - Specific message if your personal teleporter isn't charged enough.
  Optimisations:
    - Updated various code to streamline and optimize - removed unneeded requires, removed some bits that do nothing, and moved some checks earlier in code to save time.
  Translation:
    - Edited the en locale messages for grammer/spelling/clarification/etc.
    - Teleprovider now uses the currently assigned hotkey, rather than hardcoding the default key.
      - Russian locale needs verified that this change looks correct.
Version: 1.0.0
  Info:
    - Official release for 1.0, added preview image.
Version: 0.18.1
  Bugfixes:
    - Fixed crash when loading in Factorio 0.18.22
Version: 0.18.0
  Info:
    - Initial release for 0.18
Version: 0.17.1
  Info:
    - Fixed error when loading save with telelogistics enabled after setting was disabled.
Version: 0.17.0
  Info:
    - Initial release