[Addon 2.0] NetworkAnchor 0.10.3e

  • This mod is now maintained by Zuxelus here: [1.7.10] Ztech - Collection of Addons
    License:
    This addon is provided 'as is' without any warranty. Author of this addon is not responsible for any harm that can occur from using of this addon, you use at you own risk.

    Description:
    This addon brings intelligent chunk loader block called "Network Anchor".

    Crafting recipe


    Network Anchor *** There is also hard recipe for GregTech, see "CrossMod Compatibility" spoiler.
    1 x Electronic Circuit
    1 x Basic Machine casing
    1 x Insulated Copper Cable

    Scan Terminator
    1 x Electronic Circuit
    1 x Basic Machine casing
    1 x Insulated HV Cable

    GUI

    Network Anchor - inventory title.
    Network scan -> [E] [O] - allow to configure network scan. By default is disabled. (see spoiler below)
    ^ [E] - Enables or disables network scan.
    ^ [O] - enables or disables Optimization.
    Area: - selected area.
    Tiles: - count of IEnergyTiles found, e.g. count of blocks you network occupy.
    Chunks: - count of chunks forced/found. It will show one number if values are equal, and two numbers if they are different, which may mean that there is something wrong.
    Tickets: - count of tickets used to force chunks.

    [A-] [A+] buttons changes area size.
    [Restart] button used to restart device. You need to use it to apply network scan option, area size and restart network scan.

    Charge bar displays amount of energy stored in internal accumulator. Mouse over to see exact number.
    For 0.10.1e: currently NetworkAnchor will not demand energy from EnergyNet or accumulator in it's inventory until it's charge go lower than half of capacity, it is made as workaround for incomplete EnergyNet in experimental IC2.
    Border between green and yellow zones is half of capacity.
    Border between yellow and red is 1/8 of capacity.
    Coloring doesn't have any other meaning and made for cosmetic purposes.

    Slots may accept any items, but will process only upgrades and energy storage items like RE-Batteries or Energy Crystals.
    - Overclocker Upgrades affects network scan speed: blocks per tick = 2overclocker upgrades installed
    - Storage Upgrades allows to increase internal storage by 10 000 EU per upgrade, so: resulting capacity = 10 000 * (count of storage upgrades installed + 1)
    - Transformer Upgrades allows to accept higher voltage from cables in traditional way 32 -> 128 -> 512 -> 2048 -> ...
    - Energy Storage Items allows you to charge device with portable energy source. In order to use advanced storage items you need to install transformer upgrades.

    *** See full list of upgrade modules in "CrossMod Compatibility" spoiler.

    Network scan

    Network scan is a special feature of NetworkAnchor. When enabled it will scan energy network to which it is connected to obtain it's geometry and force corresponding chunks to keep whole network loaded.

    Network geometry is obtained through iterative scanning. Scan speed is depend on count of installed overclocker upgrades (see GUI spoiler). Technically it check whether block is instance of IEnergyTile, so it should be out-of-the-box compatible with other mods that uses IC2 API.

    "Optimization" is done by excluding chunks that have only cables and including chunks which have at least one end-point device, e.g. machine/generator/transformer.

    Note that Network Anchor will NOT detect changes in the energy network - you need to click "restart" button in the GUI to rescan it.

    Network scan starts only when internal energy storage is full or when energy consumption is disabled. It is intended to prevent frequent chunk forcing/releasing when energy network cannot fully satisfy energy requirements.

    Scan Terminator
    Works as usual HV cable, but prevent network scanning, e.g. network scan will not go beyond this block, block itself also will not be included.

    Chunks limit
    You should take into account that maximum number of loaded chunks is limited by Forge. Network Anchor designed as multi-ticket chunk loader so, with default config it should be able to handle up to 25 * 500 = 12500 chunks.

    Crossmod compatibility

    This spoiler describes stuff from other addons that is currently supported.

    Hard GregTech recipe (can be disabled via config file)
    2 x Iridium Reinforced Plate;
    1 x Computer Monitor
    2 x Highly Advanced Machineblock
    1 x Data Orb
    2 x HV-Transformer
    1 x Glass Fibre Cable


    List of upgrade modules:
    Base parameters: speed=1, storage=10000, tier=1

    Syntax:
    Addon: upgrade name, minimum required tier, modified parameter + modified value

    Vanilla: Overclocker Upgrade, tier:1, speed+1
    Vanilla: Storage Upgrade, tier:1, storage+10,000
    Vanilla: Transformer Upgrade, tier:1, tier+1

    GregTech: Lithium Battery Upgrade, tier:1, storage+100,000
    GregTech: Energy Crystal Upgrade, tier:2, storage+1,000,000
    GregTech: Lapotron Crystal Upgrade, tier:3, storage+10,000,000
    GregTech: Energy Orb Upgrade, tier:4, storage+100,000,000
    GregTech: HV-Transformer Upgrade, tier:1, tier+3

    ComboArmors: Energy Storage Upgrade MK2, tier:2, storage+1,000,000
    ComboArmors: Energy Storage Upgrade MK2, tier:3, storage+10,000,000

    Railcraft: Lapotronic Upgrade, tier:3, storage+10,000,000

    The higher tier upgrade module requires = the more transformer upgrades you need to install. For example to use GregTech Energy Orb Upgrade that requires tier 4, you need to place 3x Vanilla Transfomer Upgrades or 1x GregTech HV-Transformer Upgrade.

    Changelog

    Version 0.10.3e
    - build under Minecraft 1.6.4, Forge 9.11.1.916, IC2 2.0.301
    - fix for recipes, now they should be shown in NEI
    - some code optimizations
    - added config value to adjust network scan speed (server side)

    Version 0.10.2e
    - ported to Minecraft 1.6.4, Forge 9.11.1.916, IC2 2.0.301
    - build using srg names
    - fixed small annoying visual bug in gui

    Version 0.10.1e
    - added some compatibility code with previous versions of TileEntity NBT
    - added workaround for incomplete IC2 EnergyNet: (possibly will be removed in the future)
    NetworkAnchor block will demand energy only when it's internal accumulator is charged to less than half of capacity (includes upgrades).
    Charge bar is now colored in three zone: green, yellow and red - border between green and yellow is half of capacity.
    - fixed bugs with sided config not working
    - added config for wrenching requirement and drop chance (enabled by default)
    - adjusted calculation of found tiles when "optimization" is enabled

    Version 0.10e
    - build under Minecraft 1.6.2, Forge 9.10.1.871, IC2 2.0.282
    - removed LangHelper (because of minecraft resource pack, beware of UTF-8 BOM)
    - TileEntity synchronization moved back to Container* class
    - added own Connection/PacketHandler
    - added ability to reflect config from server to client (except "BlockID" field)
    - added config option to hardly limit maximum scan rate (for server admins)
    - added logging of started anchors on world load
    - added scan terminator block
    - added option to optimize chunk structure due network scan (look for "O" button in GUI, "E" is old "Enabled|Disabled" button)
    - added support for Railcraft Lapotronic Upgrade
    - retextured to match new IC2 style

    Version 0.09
    - Build under MC 1.5.2, Forge 7.8.0.684, IC2 1.115.327-lf
    - Container synchronization changed to use IC2 NetworkManager interface
    - Added UpgradeDictionary
    - Added support for GregTech upgrades
    - Added support for ComboArmors upgrades
    - Added LangHelper for localization support
    - Hard GregTech recipe can now be disabled via config file
    - Added hovering text for charge bar, when energy consumption is enabled
    - Added machine explosion on overvoltage

    Version 0.08
    - Build under MC 1.4.7, Forge 6.6.0.507, IC2 1.115
    - Added support for OreDictionary
    - Slightly changed recipe for GregTech
    - Improved Shift+Click items transfer
    - Modes are removed
    - Pickaxe added as effective tool
    - Removed unnecessary calls to world manager in ChunkCoords class

    Full changelog

    Uninstall issue (for version 0.04 and early)

    There is known issue, which may prevent your world from loading after uninstalling this addon.

    Steps to reproduce:
    1. Install addon;
    2. Start game and load world;
    3. Place NetworkAnchor block in the world;
    4. Save world and exit game;
    5. Remove addon from mods folder;
    6. Start game and load world;
    7. Game will stuck on "Loading world" screen.

    It happens because Forge tries to load chunk loading data for addon which is no longer exists.

    Correct steps for uninstall:
    1. Return same version of .jar to mods folder, if you already have situation described above;
    2. Start game and load world;
    3. Remove all NetworkAnchor blocks in the world, so corresponding chunk loading data is removed;
    4. Save world and exit game;
    5. Remove addon from mods folder;
    6. Now world should load correctly.

    There is another way, but it is a bit extreme, because it affect chunk loaders from other mods too: go to you world folder (for Windows is %appdata%\.minecraft\saves\you world name) and delete "forcedchunks.dat" file.


    Statement for modpacks: you are free to include this addon into modpacks.

    Dropbox mirror (includes previous versions)

  • Definitely an interesting concept, although are you certain that such a thing should be available so soon and cheaply? Railcraft balances it by making the world anchor expensive.

    Is the answer to this question no?

    Quote

    Hey don't take it so hard. Ignorance is part of this generation it seems. -the wise words of XFmax-o-l

  • Definitely an interesting concept, although are you certain that such a thing should be available so soon and cheaply? Railcraft balances it by making the world anchor expensive.


    Don't know, if think about realism then this device is anomaly and should not exists and/or do nothing, and nothing should costs nothing. On other hand it can be treated as some hub or network utility/control device, then it probably should be more advanced.

  • I personally dont care how expensive it is, I think the idea of it hooking into your energy net to keep your entire system loaded is just damn cool. And saves on server load if you have wacky shaped large bases.

  • Consider altering the network discovery mode, so it simply stops at 25 chunks instead of giving up completely. Some of us have huge power networks, usually on servers. I've done some crazy stuff using EV cable and HV transformers.

    // First, try to add to a nearby chest
    // Second, try to add to adjacent pipes
    // Lastly, throw the object away
    code comments in Buildcraft litterbug quarry

  • Consider altering the network discovery mode, so it simply stops at 25 chunks instead of giving up completely. Some of us have huge power networks, usually on servers. I've done some crazy stuff using EV cable and HV transformers.


    I was already thought about it. I'm wonder what is exact behaviour should be? Probably it should select closest chunks, so it be some kind of circle shape, and there is then trouble to understand which chunks is loaded, so there should be some visualization, which I currently don't know how to do.

  • This mod will be really useful because I have a whole network connected together and instead of using the Chickenchunks chunk loader I can just use this one. Thanks LostCoder.


    The next tutorial is for people who like to whore out on Solars:
    How to make the most out of a chunk loader (IC2 Solars):

    Requirements:
    0.) IC2 (maybe add advanced solar panels mod or compact solars)
    1.) Railcraft
    2.) Chunk loader mod/block (ChickenChunks, RC World Anchor, Network Anchor, Teleport Tether...)
    2.) Mystcraft

    How-to:
    0.) Make some solars
    1.) Make a Mystcraft age with no weather and eternal day
    2.) Make a cart, 2x Linking Books and assign each book to the desired spot, make an energy loader and unloader and gather 36 Mystcraft Crystals
    3.) Lay down tracks and construct the 2 portals
    4.) Make the solar array and connect it to the energy loader
    5.) Put the energy unloader in the overworld and connect it to your storage/energy net
    6.) ???
    7.) Profit!


    Optional: You can also use the GregTech IESU instead of Tracks, portals, rails and carts, but at that point you probably don't need much more EU.

    Fusion Power Engineering Industries® Making Fusion™ Automation Chamber© is DONE!!!!!!!! HAYO!!!


    Hint: Click the Automation Chamber text to see how it looks :D

  • Really like the idea of the mod. Yeah balance issues can come later TBH. Sure if you ask for crazy recipe mode the author will provide. But lets get through the rough stuff first ;)

    Check out Our Brand New GT New Horizons Server .:Here:.
    Check out Our Brand New GT New Horizons Let's Play Series .:Here:.

  • Very interesting mod.

    Make the Chunkloader consume EU (adds more balance if you have to keep it supplied with EU) based on the number of chunks he keeps loaded. Let him interact with redstone signals so he can be turned on or off via simple lever or via complex redstone / and or computer craft stuff.
    Any suggestion how much EU/t he should consume per chunk?

  • Y'know, these EnergyNet anchors are going to go exceptionally well with BeamMeUp when I have that ready -- interdictors can't get their internal EU storage refilled if their generators aren't chunkloaded, and this would make them exceptionally easy to chunk load.

    Nice addon, LostCoder, it's a brilliant idea. I'd like to second the request for making it select up to [a configurable number of] chunks, especially if you find a way to visualize the area.


  • Very interesting mod.

    Make the Chunkloader consume EU (adds more balance if you have to keep it supplied with EU) based on the number of chunks he keeps loaded. Let him interact with redstone signals so he can be turned on or off via simple lever or via complex redstone / and or computer craft stuff.
    Any suggestion how much EU/t he should consume per chunk?

    I like the idea of the NetworkAnchor consuming EU to chunkload, also the the Redstone on/off idea.

    For EU/t to consume... How about making it configurable with 5 EU/t being default? I say configurable for server owners who want to use this, but don't want people to spam the Anchor early on. Also, have it accept LV (goes without saying, but still...)

    I think I'll add this to my mods list. This is definitely a cool mod.


    Y'know, these EnergyNet anchors are going to go exceptionally well with BeamMeUp when I have that ready -- interdictors can't get their internal EU storage refilled if their generators aren't chunkloaded, and this would make them exceptionally easy to chunk load.

    Nice addon, LostCoder, it's a brilliant idea. I'd like to second the request for making it select up to [a configurable number of] chunks, especially if you find a way to visualize the area.

    BeamMeUp? I think I like the sound of that. :thumbup:

    And I third the configurable chunk number option too.

  • So here is version 0.02.

    I'll completely rewrite algorithm, so it now spread cpu load across ticks, therefore it should not produce lagspike when scanning large networks (1000+ block), however it may take some time to complete scan. You can specify whether it should scan faster or eat less cpu per tick by changing "BlocksPerTick" option into config file.

    I'm also add handling of multiple tickets. This means that now it should be able to handle networks larger than 25 chunks. Theoretically with default config it should be able to handle up to 25 * 500 = 12500 chunks. However occasionally minecraft can run out of memory and finish with corresponding exception.

    There is now a weak indication on what happening with anchor. Textures may dissapear from block sides, it will be fixed in upcoming releases.

    Shaded icon on block sides will tell you which mode it is using:

    • grid - means stand-alone mode;
    • something like cable - means network mode.


    Colored square on top of block tells in which state it is now:

    • gray - idle, doing nothing, it also will be used when there is not enough energy (not implemented yet);
    • orange - scanning network/building chunk list;
    • green - scan finished and chunks succesfully forced, which means everything should be ok;
    • red - scan finished and there is some error, most probably there is not enough tickets;
  • Mister_Omega, uploaded. I'm added support for energy consumption and then there is new API, I just messed a bit.

    Energy consuption is disabled by default, but if someone wanted to test it can be enabled via config. "EnergyPerBlock" specifies how many EU to consume for each found energy tile while scanning (when scanning is done it will not consume energy). It is currently support any tier and has internal accumulator of 10 000 EU. Also indication completely die in 1.4.6 so I remove it, there is now fixed texture.

    In plans to add GUI. GUI will display statistics, instead of output it into chat, it also will have upgrade slots, so ability to change "BlocksPerTick" option will be replaced with ability to put overclocker upgrades.

    P.S. I don't use code from decompiled IC2, only it API, so I guess it will be ok to publish source code, just in case.