[106] BUG Compilation thread

  • I decided to compile every bug reporting thread into one with my own description of bug. (including ones already "fixed" for reference reasons).


    bug != suggestion, but in some cases suggestion to implement something is bugreport


    1) TE
    ENET TE failed to update on block removal:

    Code
    1. breakBlock(){}
    2. TileEntity var7 = var1.getBlockTileEntity(var2, var3, var4);
    3. EnergyNet.removeTileEntity(var7)


    +
    DIRTY field goes to every IEnergy* object and prevent operations inside TE object after it's removal from world.


    Reactor component enumeration method make everything extremely hard, if you place two overcloked vents one will melt while second do nothing.
    If you place component exchanger before vent, vent will not be cooled down current tick.
    This can be fixed by divinging single tick into multiple runs for some(or all) components.
    When reactor tick run, we enum every vent 5-10 times with 5-10 times less effect but this allow to distribure heat over every component.
    If reactor produce 40 heat and two vents is placed:
    Single run: -40 0
    10 runs: -22 -18
    Done extremely easy and will fix every problem with enumeration order.


    Also we lack heat pump component that will sink heat from every side expect one and sent heat to that side, API also does not allow this.


    Reactor max heat not properly reported to componens.
    Reactor will burn personal blocks,there is no way to protect blocks from reactor overburn only bedrock is hardcoded, no blacklist API no check for destructable state or -1 resistance.
    Quad and double cores drain durability faster then shoud.
    Scaffords are burnable due wood metherial, this provide better then coal basic fuel.
    Miner lack nullpoint protection for cable below miner and invalid container near miner.
    Pump lack code to handle stackable 132 bukets.


    2) Recipe bugs:
    CFPack crafted with 50% charge (damage shoud be 259);
    CFPack not able to handle semiempty or semifull CF Sprayers (move to advanced recipe and extract sprayer metadata to use in crafting result);
    CF Sprayers may not be filled in canner (just not implemented but still usefull 1 line fix);
    Rubber leaves may not be used for biofuel production (just lack recipe);
    Wool maceration provide only 1 string (shoud be less then 4 but more then 1) (and not allowed to variations);
    Sandstone maceration provide only 1 sand (shoud be less then 4 but more then 1) (and not allowed to variations);
    API lack stripmeta methods for recipes that ignore metadata, it shoud use map for item ID and field for meta, not map for ID+meta;


    Personal safe shoud be shapeless
    Generator shoud be shapeless
    Single use battery shoud be shapeless


    Gradual regeneration recipes for condensators not registered via NEI API


    3) Items:
    Nanoarmor drain charge is over any reasonable values, single bite from cave spider will destroy entire suit, same with jumping from height.
    Quantum helmet throw nosuchmethod on poison.
    NVG code lack return statement in beginig, possible noobtrap due crushing.
    Drill and diamond drill full discharge damage 1 more then all other electric tools purely visual but still 1 linefix.
    Electric tools go "offline" on full discharge, preventing recharge from batpacks.
    Drill lack ondamage code, result in no damage to entities, shoud be 1 (just like discharged saw) (move damage method to superclass)
    Jetpacks offline
    Fuel value still secret ever with NEI, it actually shoud display how much fuel is stored inside.
    Laser super heat is broken.
    Chainsaw not registered as shears and useless on sheeps.
    Basically all electric items SHOUD display charge in item tooltip, there is no reason to show only bar.
    Same to reactor componens to show remaining uses (will implement via NEI source anyway, but this shoud be in base mod)


    Soulsand not registered with Drill (dig at speed of hands).
    Crops not registered with Chainsaw (dig as speed of hands).


    Most items go async, especially CF Sprayer and nanosaber, for CF - it shoud be completely server side, invisible killing foam or holes inside wall after relog is boring.
    Painter autorefull sometimes not working (or not working at all for no reason);
    Solar generator lack glass-coal reversed recipe


    4) Blocks
    Scaffords are not climbable upward, but will slowdown freefall just like vines.
    Scaffords not placeble downward.
    Iron fence shoud have more explosion resistance.
    Foam is silktouchable, this allow dupe expoit.
    Iron and electric furnace texture is different from any other machine.
    MFE lack dots(or any other indication) on input sides.
    Rubber leaves will drop apples, shoud override method from superclass to disable.
    Rubber leaves drop a lot of saplings due same reason.


    5) Generic
    Burnable interface not registered via forge.
    Rubber trees generation in superbiome swamp generate more rubber trees then normal trees.
    No config to disable suddenlyHoes

    Unsafe.putObject(42,Unsafe.staticFieldOffset(42.getDeclaredFields()[42]),43);

  • Sandstone maceration provide only 1 sand (shoud be less then 4 but more then 1)


    No, because you can get 1 Sandstone from 1 Sand in Compessor.


    Gradual regeneration recipes for condensators not registered via NEI API


    Already implemented in my NEI plugin for IC2 (and i hope in next version of IC2).

  • Two things from my side on this:
    1. BUG: Heat spreader inside a reactor often do not properly cool down all heat even if the reactor is shut down. This causes these items to be left with a fraction of heat and therefore with a fraction of damage, making them unusable in recipes. Only certain components actually manage to cool them down properly (like the component cooler).


    2. General: To my understanding this version had an increased version of testers, yet it feels like the buggiest version released ever. I think there should be the question around: why? Not to blame and to call names, just for one reason: to figure out what could be done better next time.
    While I absolutely agree that releasing a version without any bugs is probably for a hobby project unrealistic, some things shouldn't even happen in such a project. If bugs are so plain obvious (like the jetpack not working, CF-Pack charge, or the Quantum helmet crash (just to name a few), it becomes equally plain obvious that testing was not done at all on these items, as otherwise these bugs would have been immediately noticed. In my opinion such versions of IC² should either be released clearly marked as in-dev versions, so everyone knows they might encounter lots of bugs, or the concept of testing should be on the table to discuss in general.

  • well, i personally dont see any reason to allow sand to sandstone conversion, it shoud keep value of items.


    4 sand > sandstone
    sandstone > 3 sand (some sand lost in process)
    same with wool


    craftbench recipe can be disabled to force use of compressor-macerator, it's actually not very real to compress sand with bare hands


    Additional bug reporting yourtybe videos


    http://youtu.be/fp7lFWbSTNk
    http://youtu.be/y1sdgaTJw7o


    Additional dupe exploit with foamed cables - 2x drop.

    Unsafe.putObject(42,Unsafe.staticFieldOffset(42.getDeclaredFields()[42]),43);

  • Not sure if anyone else has noticed this, but QuantumSuit Boots don't seem to be working either.
    Made sure LCTRL is bound to the Boost key, held it down, jumped, only jumped normal height. Tried on a freshly crafted and charged set of QuantumSuit Boots with the same result. No errors in server console.

  • 2. General: To my understanding this version had an increased version of testers, yet it feels like the buggiest version released ever. I think there should be the question around: why? Not to blame and to call names, just for one reason: to figure out what could be done better next time.
    While I absolutely agree that releasing a version without any bugs is probably for a hobby project unrealistic, some things shouldn't even happen in such a project. If bugs are so plain obvious (like the jetpack not working, CF-Pack charge, or the Quantum helmet crash (just to name a few), it becomes equally plain obvious that testing was not done at all on these items, as otherwise these bugs would have been immediately noticed. In my opinion such versions of IC² should either be released clearly marked as in-dev versions, so everyone knows they might encounter lots of bugs, or the concept of testing should be on the table to discuss in general.

    This is a pretty good example of why test-driven development, or even just unit testing, is a fucking amazing thing.
    Write a test to exercise the code handling something, if it breaks in the future, the tests will reflect it.

  • This is a pretty good example of why test-driven development, or even just unit testing, is a fucking amazing thing.
    Write a test to exercise the code handling something, if it breaks in the future, the tests will reflect it.


    I am not sure if you know the vanilla Minecraft code, but it is on average a big pile of mess with some not-so-bad parts every now and then. Doing TDD is close to impossible on top of that mess and unit testing on experimental code (aka game development) is imo slowing down things more than it helps. There are other methods like Module Driven Development, which are much more helpful on frequently changing code while reducing the amount of bugs drastically as well.


    Anyhow, beside discussing religious believes ;), some form of development process other than hacking it together & release might be helpful to reduce the bugs on IC as well.

  • did you forget the No Sound at all bug? there's a lot of thread about it

    Is that a bug or a feature? IC Sounds been broken since day one that I hand out a config that disables them period... Never will I turn them on again :P

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


  • I am not sure if you know the vanilla Minecraft code, but it is on average a big pile of mess with some not-so-bad parts every now and then. Doing TDD is close to impossible on top of that mess and unit testing on experimental code (aka game development) is imo slowing down things more than it helps. There are other methods like Module Driven Development, which are much more helpful on frequently changing code while reducing the amount of bugs drastically as well.


    Anyhow, beside discussing religious believes ;), some form of development process other than hacking it together & release might be helpful to reduce the bugs on IC as well.

    Either one results in a nice pile of unit tests that let you know when something is broken :P
    But yes, I agree.

  • Fixed: plantballs, TE removal from enet (no "dirty" thing yet), rubber sapling drop chance (apples already fixed), CFS clientsiding, slowsand drill speed (crops are supposed to work), superheat fixed but not notified to anyone, drill damage


    Cable duplication is caused by ghosting. NVG issues are caused due to a client only method but fixed using reflection. Scaffolds are not working the way they should I don't know why.

  • Quote

    Is that a bug or a feature? IC Sounds been broken since day one that I hand out a config that disables them period... Never will I turn them on again :P

    I agree, but the "No sound at all" / "complete mute" start in version 106 for me and others.


    PD: why I cant quote?

  • Fixed: plantballs, TE removal from enet (no "dirty" thing yet), rubber sapling drop chance (apples already fixed), CFS clientsiding, slowsand drill speed (crops are supposed to work), superheat fixed but not notified to anyone, drill damage


    Cable duplication is caused by ghosting. NVG issues are caused due to a client only method but fixed using reflection. Scaffolds are not working the way they should I don't know why.

    I don't see any mention of jetpacks or quantum suit boots :/

  • I don't see any mention of jetpacks or quantum suit boots :/

    Don't worry is was not forgotten. That was a small list of bugs that they have fixed so far. Here is more details on what is done and of course more to come:
    Quantum Helm Poison Crash.
    Phantom Wires with enet.
    Overcharging Infinite Explosions
    Superheat on ores
    Sheering Sheep
    Drained Items
    Geothermal Liquids
    CF Backpack
    Apples Falling From Rubber Trees
    Soulsand drill speed
    Foam Can Be silk touched

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


  • can't see reason to report again bugs reported from other threads in thread reporting same bugs once again (3rd time)

    Unsafe.putObject(42,Unsafe.staticFieldOffset(42.getDeclaredFields()[42]),43);

  • can't see reason to report again bugs reported from other threads in thread reporting same bugs once again (3rd time)

    I'm a bit confused. If you sort of read what I said I was stating what was fixed..

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