Posts by BrickedKeyboard

    I like this idea because :


    1. Magical Feeding by quantum helmet feels against the spirit of the mod
    2. There's a lot of food types in the game, and the quantum helmet, which you can obtain on day 2 in a multiplayer world, makes all of that food useless. It basically just deletes a big chunk of the gameplay. It also makes all of the IC2 crops that make food useless, as well as the beers.
    3. And yes, it makes the tin can useless as well. It doesn't have to be as good as a golden apple : tin cans let you create consumable food from zombie meat : but it needs to be better than the current 2 food/consume.
    4. An interesting mechanic would be to create a way to "mix" foods for a special kind of canned food that has differing effects depending on which foods you add in what order. Like it works with fuels.


    There would be a new kind of can, made with gold ingots, that would only stack to 16/stack because the can is bigger. Maybe not call it a can, call it a TV dinner tray and make the icon proportional.


    If you include both protein and a carbohydrate in your tv dinner, you get a bonus. Protein, carb, and a fruit, and you get a bigger bonus. Etc.


    Adding beer multiplies the bonus.


    In some cases the food is so good that you gain a status effect from it, similar to have potions work.

    Carto :


    1. Machines have a time before they are done with the current operation that decrements every tick. For instance, the recycler takes 45 ticks to recycle something. Each time the code governing the recycler is called, it subtracts 1 from that number. I'm having it subtract the tick-rate compensation from the number instead.


    This obviously has a limit to the speedup : if the server is extremely lagging, with a tick rate down to less than 1, it could get to where every time a recycler recycles something, it instantly finishes in a single tick, but can go no faster. The point of this hack is the compensate for slow tick rate with the least code changes, so I would not bother to make it able to do multiple items in a tick.


    2. There's a single point in the energy net code where it decides whether or not to burn up a wire. I'd have to lift that limit by tick rate. For instance, when it checks the limit, it does basically


    if (Packet_size > Threshold)
    BurnUpWire;


    Now it just has to be
    if (Packet_size > Threshold * TickRateCompensation)
    BurnUpWire;


    Here's the thing : I have limited coding time. I'd want one of the IC2 coders to sign off on the idea before I write this mod. As in, if the idea works well, they would incorporate it into the main branch of IC2 so I don't have to reapply the changes needed every time a new version is released.

    On large servers, running multiple mods, for many reasons the tick rate can slow down below 20 ticks/second. This makes all industrialcraft machines run proportionally slower, and this can be quite annoying.


    Well, another post suggested making machines compensate for the tick rate by doing more in the same ticks. I put some thought into how to implement this, and it's pretty simple.


    First of all, once every 20 ticks the code needs to check the system time and then calculate the tick rate scaling multiplier. This number goes from 0 to 40, and is the time elapsed (in seconds) for 20 ticks. So if it takes 20 seconds for there to be 20 ticks, the multiplier = 20.


    The following items and blocks need to be edited :



    Charging functionality of MFSU/batbox/MFE
    Canning Machine
    Crops
    Miner
    Electric Machines. The time til completion of the current operation is decremented by 1 tick * the scaling multiplier. Just a few lines of code to the electric machines base class file. For example, the code has stuff like
    tickstilcompletion--; which just has to be changed to tickstilcompletion -= tickscalingmultiplier;


    All generators
    Just find the line where the energy to be outputted is calculated, and multiply it by the tickscaling multiplier.


    EnergyNet : the limit for wire in EU/packet before the wire melts is also multiplied by this tickscaling multiplier.


    And that's it.


    Terraformers can be left alone, because they create lag in of themselves, and making them run faster worsens the problem.


    This would in some cases reduce the precision of the simulation : for example, if the tick rate were very slow, a machine might finish an operation on every tick, and be unable to run any faster.


    However, I think that's an acceptable tradeoff for allowing machines to run at a decent rate on a slow server.

    Forgot to mention : RenewableEnergyDrawbacks = TRUE


    In the ic2.config file. That feature is obvious. It would be on by default, but if you wanted to be a dirty cheater, you could set it to false.


    Also a RenewableEnergyDrawbacksScaling = 10
    in the config file. It would default to 10, a bigger number means they break more often, a small number means less. (down to 0)


    You can go back to lurking. Obviously, any controversial feature should be adjustable, adding the ability to do that is child's play.


    Most smp servers outright ban mass cobble generators.

    I'm suggesting the following changes to the way renewable energy works.


    1. a. In order to make the drawbacks consistent, wind generators should continue to break their blades during storms, and there should be a small chance of this happening at any altitude.
    b. Solar panels should also wear out in some way. I suggest adding a GUI with a slot, and a visual indication of some type that a panel has gone bad. If a panel has gone bad, you open up the solar gui and install a replacement electronic circuit into the slot. The chance of a solar going bad should be higher in the harsh sunlight of a desert. The exact chance per hour of play should be very carefully tuned to be a drawback but not ridiculous.
    c. For the same reason, water generators should lose their blades like wind generators. Since water gens are cheap, their replacement blades only would cost wood.


    2. I've heard that Al intends to implement a central "controller block" for solars and then add on panel blocks you click down to form an array. I suggest extending this idea :


    The controller block should apply to ALL renewable energy. The tin wire should no longer be part of the normal wiring system, but ONLY suitable for connecting a renewable energy source to a single controller block. You should not be able to place tin wire anywhere but against a controller block or a piece of tin wire attached to a controller block. Cross connecting 2 controller blocks with tin would vaporize the wire. The tin wire would have associated with it the ID number assigned to the controller block (a data field set on initialization) Connecting a renewable energy source to the tin wire would register it with the associated controller block permanently.


    Power would NOT flow in packets down the tin wires, instead, the controller block would simply keep track of how many wind/solar/water are attached to it, and simply supply the right amount of energy to the energy net every tick. So you could have 1000 solars and 1 controller block, and the only active tile entity is the controller block (the solars would be inert and not use OnTick at all in their code) which simply supplies one packet of 1000 EU every tick. The controller block would need to have in a slot like a slot for an overclocker enough transformer upgrades to handle the attached load, of course.


    So a 1000 solar farm would cause as much tick lag in SMP as a single solar panel. For solars, this would be the same simulation speed advantage you get with compact solars, without the compact part, which is unrealistic and dumb. (because it removes the only drawback to solars at all, the low density)

    Bug Discovered : The version of this addon included in the tekkit modpack* inverts deserts. During a rainstorm, the solar arrays actually stop working if you are IN the desert biome, and they keep running if you are in any biome but a desert. It sounds like you typed && when you meant || or vice versa, or forgot a ! .


    *before you flame, keep in mind that this pack makes it possible for thousands of people to actually play this game, modded, in smp. It brings the wonders of the tech mods to thousands of people who would not have ever been capable of installing this many mods by downloading them 1 adfly link at a time.

    Implementation matters :


    The pumps should be able to detect when the block of water it is pumping from is supplied by an infinite water source (the easiest way to do this detection would be to have the pump remove a block of water and see if it returns within ~10 seconds or so).


    If the pump is being supplied by an infinite source, it should NOT actually remove the block. This saves on graphical and network lag in SMP if you had an array of dozens of overclocked pumps.


    Instead, it should just supply water to the compressor as if the pump had removed a block, but not actually do it.

    Quantum Suits are not overpowered enough. I suggest that they


    1. Make the player completely unkillable, at no cost
    2. Give the player unlimited building materials
    3. Allow the player to fly, and to break bedrock
    4. Cause monsters to ignore the player
    5. Allow the player to ban any non quantum-suit wearing players from an SMP server by merely invoking a command...


    Great ideas, right? I expect to see this in the next version of IC2. :thumbup:

    Seems good.
    So how much EU needed for full charged Quantum-suited player to be damaged/killed?


    2-3 hits at full charge, so at least 2-3 million EU. In actuality, it takes more, because you had to know they were coming and trigger the tesla when they got there. I tuned it to work with my nerfed quantum armor that takes 4x damage over default. (which still makes it the best armor in the game by far, just not godlike)


    Or set up a trap in such a way that mobs won't set it off prematurely.


    It is not at all easy to do. But it sure makes an awesome sound when it hits someone with a full charge. Also, it works against airplanes.

    The defense grid is so that once you actually get a shield up, you don't have to worry about players sneaking in or monsters spawning inside. (assuming you can afford the defense grid, it won't be a cheap upgrade and it will increase the energy cost of the shield itself)


    To make it more balanced, it won't "magically" zap intruders, the cannon teleports moving bullets to the target, using the magic of endermen teleportation + an IC2 teleporter. The ammo it uses can become exhausted, so there is a reason to still light your base and you will not be completely safe even with the upgrade. (just mostly safe. The idea of this addon is to add a legitimate way WITHOUT the lameness of world-guard to protect yourself in SMP. It has to be industrial, and have logical advantages and drawbacks since it works based on technology, not admin magic.)


    The reason why area shields will always cut blocks has to do with CPU load. Otherwise, any block that is uncut has to be checked every tick (20 times a second) to see if someone smashed the block that is there.

    I already did this, and I have it running on my server. Been playing with this for a month now.


    Placing bare wires on a tesla coil extends the range, because they act like antenna. They extend the range in only THAT direction.


    The type of wire affects the range boost : bare copper is 1.5 times range, gold is double range, bare HV cable is 3x range.


    The VOLTAGE you send to the tesla coil affects how much energy can be stored in it.


    If you send a tesla lv, it can store 10k EU. If you send it mv, it can store 100k EU. If you send it HV, it can store 250k EU. If you send it extreme voltage (2095 per packet) it can store 1 million EU.


    The range and damage both scale with energy stored. Also, the energy draw of the coil goes up with energy stored. (even if the coil is not receiving a redstone signal, it "bleeds energy" away like a capacitor). The scaling is the square root of the stored energy.


    At 10k EU stored, the range is 4 blocks, with range boosted to 12 blocks with antenna. At 1 million EU stored, the range goes as high as FIFTY BLOCKS and it does enough damage to threaten someone in quantum armor. Note that all energy stored will be discharged if ANYTHING living enters that 50 block area, so it is not as unbalanced as it sounds because a monster can set your tesla coil off prematurely and cost you 1 million EU.


    If a player is hit by an overcharged tesla, the effect for a lightning bolt is played. Is quite dramatic in multiplayer.


    So you can use the teslas as they are now, or construct "lightning generators" with banks of MFSU, lots of wiring, etc.

    Thunderdark recently open-sourced his Force Field Addon. Before I begin developing on it, I'd like to know if the IC2 team is busy adding it to the main branch for IC2? There are a number of bugs in the force field addon that need to be fixed, but it would be duplication of effort if one of the IC2 team is already working on it.


    Also, the addon consumes too much server CPU for very large shields, and so I needed to rework the way inhibitors and large energy shields are handled. Again, if the IC2 is already on this, it's dumb for me to duplicate effort.

    Time to get cracking, I guess.


    Questions :


    A. Does Alblaka have this code? What has he said? How's his effort to incorporate this into the core IC2 going? No point in me spending dozens of hours debugging this and expanding it if Alblaka's team is already halfway there.


    B. What major known bugs do I need to hunt down? Obviously there's the buffer overflow...what other ones are there?


    IF Alblaka isn't about to add it, here's what I wanted to do :


    1. Change area shields to no longer iterate more than once a minute or so. Instead, they will cut ALL blocks in their way regardless. (except bedrock) (this is to create a defense against a number of exploits, some theoretical). The "block cutter" upgrade will instead create a permanent 4x4 hole in the shield on the side that block cutter upgrade is on. This also simply bypasses that nasty bug where blocks can be cut even when the block cutter upgrade is present if you log in and log out of the game.


    2. Allow offsets for area shields, however, no offset equal to the radius of the shield or bigger than chunk loading range.


    3. Expand the size allowed for deflector upgrades (which will also no longer iterate)


    4. Make an inhibitor placed on a shield generator core inhibit all shields on a different frequency card in that volume. Save these "inhibited volumes" to disk in the config file (so that if they cause corruption a server admin can see where the volumes are. Also, this would let me lazily use your existing save/load a data field to the config file code.


    5. I wanted to update all recipes to use "sensible" stuff. Energy crystals instead of diamonds, adv circuits instead of circuits, more complex recipes for the upgrades, etc. The current recipes are kind of silly. Like the subwater upgrade would have an IC2 pump in it. The EU injector an HV transformer, NOT a batbox. Etc.


    6. Implement your "defense grid" idea. There will be an item, an ID badge, that has to be programmed by placing it into an MFFS core. The ID badge must be in a player's inventory for them to be protected, UNLESS they are within a "dead zone" located within 5-10 blocks of the MFFS core OR area projector.


    Every 10 seconds, all players and monsters within 6 blocks of the OUTSIDE of the energy shield (to prevent reach exploits) are scanned. Players are given a text message warning, and will be shot on the next scan. (so they have 10 seconds to run away). Each player or monster found will be shot, consuming ammunition inside a magazine in the defense grid cannon upgrade. The damage will be enough to 1 shot any monster and to bring a player in nano armor down to half health. If a player is wearing quantum armor, anti-quantum ammo will be used if it is available in the magazine.


    Ammunition recipe is 1 refined iron + 2 copper + 2 bronze + 1 gunpowder + 1 ender pearl. This would make about 16-32 rounds of ammo.


    Anti-quantum ammo is 1 iridium plate + 4 refined iron + 1 TNT + 1 ender pearl + 1 adv circuit. This would make only 1 round. 1 anti-quantum round is enough to bring a player in full 100% health quantum down to half, such that 1 more anti-quantum shot will kill them.


    All this will be for Bukkit, which will be the primary version I develop for and support. The other versions will only be available if I have time.


    Comments about my proposed changes?

    Any chance for a simple lite version Thunderdark? I would love to see a simple edition for PVP but you have made it so complex and so many features that large servers can't use this mod anymore.


    How so? Actually, to make the shields suitable for PvP, even more features need to be added. Otherwise, there are exploits that allow easy bypass of the shield. In Beta 6 there are a couple of features planned to make the shield work for defense in PvP even against cheaters and exploiters.


    Ultimately, if you want to guard the base, you do not need most of the available features. Just 4 things are needed.