Posts by Reoseah

    No it wouldn't ensure that it is faster.
    I have a few open source mods and some are really popular.
    And yet there is 0 support for porting to newer versions.
    Just requests.


    Open source is no magic bullet.
    Open source is equal to closed source unless you are lucky to be in the 0.01% that gets help.

    Requests is what helps to iron out bugs and issues that arise during porting, and that's an important part of development. Not everything is about coding.

    In real life, over 50% of electricity production by burning fuel uses a so-called fluidized-bed burner. (And rest is mainly even more complicated things..)


    Fluidized bed burners have 2 key characteristics, which, in my opinion, can be turned into nice tech mechanic:

    - burns only pulverized fuel (usually coal)

    - requires supply of air to keep dust in fluidized state


    So, I suggest advanced (say Medium Voltage) version of generator inspired by Fluidized-bed burners.


    Possible mechanics for the new block:
    - crafted from a normal generator, mv cables, and something to make it more expensive; it could be bronze one like like CESU storage

    - has gui similar to normal generator, except that it has two slots: one for Coal Dust and one for Compressed Air Cell; both slots have separate gauges above them

    - 1 Coal Dust & 1 Compressed Air Cell creates in FBB the same amount of energy a normal generator makes from coal, but 4 or 8 times faster

    - Compressor without item in input slot can supply neighbor Generator with air without requiring cells (like Pump could supply Compressor for making snowballs, not sure if it's still a thing)

    Wikipedia page for reference: https://en.wikipedia.org/wiki/Fluidized_bed_combustion

    I'm quite sure in F3 insead of biome at pos written "Waiting for chunk..." and that seems really as broken world.


    Only thing in log is some exception in Thermal Expansion. Back up your world and try launch without it.

    Code
    [09:06:40] [Client thread/ERROR] [FML/]: There was a critical exception handling a packet on channel CoFHio.netty.handler.codec.DecoderException: java.lang.ArrayIndexOutOfBoundsException: 3	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?]	at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]	at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]	at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]	at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]	at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) [FMLProxyPacket.class:?]	at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) [ej.class:?]	at net.minecraft.client.multiplayer.PlayerControllerMP.func_78765_e(PlayerControllerMP.java:273) [bje.class:?]	at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1602) [bao.class:?]	at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) [bao.class:?]	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) [bao.class:?]	at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]	at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]Caused by: java.lang.ArrayIndexOutOfBoundsException: 3	at cofh.thermalexpansion.block.TileInventory.handleTilePacket(TileInventory.java:337) ~[TileInventory.class:?]	at cofh.thermalexpansion.block.TileRSControl.handleTilePacket(TileRSControl.java:98) ~[TileRSControl.class:?]	at cofh.thermalexpansion.block.TilePowered.handleTilePacket(TilePowered.java:100) ~[TilePowered.class:?]	at cofh.thermalexpansion.block.TileReconfigurable.handleTilePacket(TileReconfigurable.java:86) ~[TileReconfigurable.class:?]	at cofh.thermalexpansion.block.cell.TileCell.handleTilePacket(TileCell.java:375) ~[TileCell.class:?]	at cofh.core.network.PacketTile.handlePacket(PacketTile.java:31) ~[PacketTile.class:?]	at cofh.core.network.PacketCoFHBase.handleClientSide(PacketCoFHBase.java:404) ~[PacketCoFHBase.class:?]	at cofh.core.network.PacketHandler.decode(PacketHandler.java:98) ~[PacketHandler.class:?]	at cofh.core.network.PacketHandler.decode(PacketHandler.java:40) ~[PacketHandler.class:?]	at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?]	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?]	... 18 more

    Encapsulate energy values in object, that can only be created through factory method. There in factory check config and return adjusted value if needed. In all API use these objects for energy capacity & generation. Keep track of returned objects to modify them when config is changed through GUI.


    For generators without stable output, like nuclear reactor or windmills, add static method that doesn't create config entry or creates boolean value to disable this thing at all.


    Same can be done for energy tiers or heat generation-consumption of reactor rods.


    Some quickly written example: https://gist.github.com/Reosea…ffcd28ba0efa5c260b189d11c

    Make definitive guide and tables what amounts of energy should be consumed by machines & produced by generators. Perhaps, there would be list of energy usage for each level of machines (e.g. 1eU/t for LV, 16 eU/t for MV and so on).
    If mods will have something like (4 * EuValues.LV_MACHINE_USAGE) that, it decreases possibilities of power creep for machines and simple generators, imho; but I think high-end machines and generators would still have overvalued tier and generation.
    We could only hope that modders working with Eu would be competent...




    If it were a mod, it should have its own config. The config should contain base values or multipliers for energy generation, production and conversion rates.


    And if you so afraid of power-creep, allow to multiply energy production per tile. So for example, if I would want to decrease wind generator production, I could go in config and write something like this:

    Code
    ic2:windmill, 0.25;


    and that will protect server from awful glass of awful fibre columns of awfully big height with awfully awful generators on top.

    I can give some textures that I was drawing for QCE if you want. Some of them are slightly different in style, more detailed and with chunks of darkish alloy metal. I can draw simpler textures in free time but can't give any guarantees for that.


    Also, for "budding devs" it would be nice to have "dev" version... Because something like this... no comments:

    Code
    if ((getActive()) && (this.field_145850_b.field_73012_v.nextInt(8) == 0)) {      for (int i = 0; i < 4; i++) {        this.field_145850_b.func_175688_a(EnumParticleTypes.SMOKE_NORMAL, this.field_174879_c.func_177958_n() + 0.5D + this.field_145850_b.field_73012_v.nextFloat() * 0.6D - 0.3D, this.field_174879_c          .func_177956_o() + 1 + this.field_145850_b.field_73012_v.nextFloat() * 0.2D - 0.1D, this.field_174879_c          .func_177952_p() + 0.5D + this.field_145850_b.field_73012_v.nextFloat() * 0.6D - 0.3D, 0.0D, 0.0D, 0.0D, new int[0]);      }    }


    I just opened random file for example.

    Forge InterModCommits are proposed to be used for cases when you need to add/remove/edit some value in some registry and they are work very well for it.
    They allow other mods to do things they need without using API code.
    In addition, it hides implementation and provides only actual interface. That is good for code extending and maintaining. For example, suppose you want to change Set<Block> in ExplosionWhitelist to Set<IBlockState> - this change will break API; using some kind of IMC-based registry you can easily do it by treating messages without meta/state as wildcard.


    Some things in IC2Experimental API are clear candidates to use IMC. For example, ExplosionWhitelist, IMetalArmor, IScrapboxManager.

    Maybe making glassfibre from nether quartz instead of glass?


    In terms of plot, quartz glass is actually used for similar things IRL.


    From point of balance, Nether Quartz is not used in IC2 and why not feel such gaps instead of adding new resources (e.g. silver)? But as silver is already added and you cannot remove it, use it in other things. For example, Induction Furnace and UU-matter machinery.

    Create some kind of tracker to know who makes what, so same work will not be done twice. Maybe just open issue where anybody can post what he wants to do.
    Also if 1.8.9 / 1.9.4 / 1.10.2 versions differ in names, create different branches in repo.


    Of course I just done blocks/ and blocks/resources folders ;3 (I've used 1.9.4 names...)

    QuantumCatsSolutions Inc. proudly presents

    MACERATRON-F-902

    a new word in a world of maceration!


    Have you ever feel that most macerators available on market are too weak for you purposes?

    That 80 Gibbl of Maceratron-E-902 model is not enough?


    With Even More advanced technologies we've designed new Even More amazing Maceratron-F-902!

    This next deity of your industrial kitchen can crush, mill, chop, shred and murder everything to high-quality crumble in few seconds!


    With new system of acceleration that achieves speed up to 10000 RPM creating effective pressure of more than 800 Gibbl,

    it makes anything as easy as vegetable salad!*


    In addition to that, it's so hot that you can smelt your meal just on its casing!

    Alone it can heat small scientific station for years!**



    * provided with enough amount of coolant. QCE Solutions Inc. is not liable for any damage caused by incorrect usage or not enough supply of coolant

    including but not limited to explosions, melting processed resources, creating fire and magnetic interference of more than 9000 Tddf.

    **result of scientific calculation and not real world experiment.

    That's because people are doing that to use them for crafting recipes, if you're making a reactor shielding, it's much better than the old system.

    https://youtu.be/Czw9jwIWyis


    Better than old craft from 4 alloy plates, but it not best possible way



    Frankly said, I have never built reactor shield... My reactors do never explode.
    Also I would personally like radiation pollution of land instead of explosions. In the simplest case it could be changing biome to new one where grass and leaves are orange or brown and poisoning entities with radiation. Then we could have a new terraformer card that clears land from radiation. But I know IC will never have this.

    Add something like this instead of current Reinforced Stone creating:
    Construction foam + Crushed obsidian => Reinforced foam (fluid enrichment recipe)
    Iron Scaffold + Reinforced Foam => Reinforced Stone (container-filling-like recipe)


    Current way maybe is interesting, but it is not used.. I've watched few letsplays and everywhere players just built walls of scaffolds, turned them to reinforced stone and then used something like Psi spells to break it rapidly. So I got conclusion that current system is useless. :|
    I had this idea during work on my addon, but this can be in IC2 itself as well.

    I saw the video and its a epic way of how the progress is actually going...
    But on the other hand if you have some behind the scene knowledge it shows also very drasticly what the errors are...
    If you follow the whole video and look into the API area then you will see that it does not even grow, or change a lot... even so the core is constantly growing...


    Edit: i wish i could make something like that too but sadly ic2c has no online state at all... For many reasons...

    IC2 real gameplay have not changed as well and API had got most required things very early. So why API should have change?


    But I agree that core package had really overgrown. IC2 Exp devs made whole hell of code... But in my opinion, they build a cage for themselves, instead of making code easily extendible and maintainable.
    Or I'm just not enlightened ;3


    Anyway, such thing should make anyone's eyes cry with blood, it's one method from IC2 code:




    What would be really exciting is graph of dependencies in IC2 code.

    So I'm working on next update. I have made few changes to idea of addon:

    • It's now named QCE, which means QuantumCatsExpansion. Or anything else you want that abbreviates to this letters.
    • It will be split in mostly independent modules. E.g. like BuildCraft or ThermalExpansion "shards" after fourth version. Original "Reinforcement" is now one of modules.
    • Module "Exploration" will contain that volcanoes I posted before and, perhaps, other things. Need interesting and beautiful places to build your base? So, you know where to find it...
    • And actually the addon main module "Technology".


    As usually, some indev screenshots:



    :Industrial Diamond:



    Idea I got working on my addon QCE. Original form, which I'm going to implement in the addon:

    Quote

    Creepers get new AI task with slightly lower priority then vanilla ones (seeking player & running from ocelots), but higher then walking around and waiting. They just go to your IC2 machines. You know what would happen then.

    And slightly other thing from conversation in chat:

    Quote

    Zombies got new task - going at your ic2 thing. Possibly they can go at source of noise, whether it player breaks blocks, jukebox plays or dozens of watermills generators are running. The louder noise isthe further they could detect it. Alternative way - they go at heat. E.g. player, villagers and of IC2 things. Both ways could be used: going at sound, when they do not see any sources of heat, going on warm things when they can see it.
    In addition to ability to break doors, zombies could break different soft blocks. For example mine through dirt. Or even break stone and metal. If they have spawned with tool they, perhaps, could break faster.


    New kind of zombie siege similar to vanilla one but targeted at large and loud IC2 things can be added. This will make generator stations especially preferred goal to them and so players had to defend their power production.

    Any other ideas are welcomed ;3

    There is quite advanced automatic crafters in other mods, e,g, EnderIO, RFTools. I have no doubt that a more pragmatic players will always use the cheapest and easiest option available, and so this assembler will be ignored.