How would I go about making an IC2 addon for nuclear fuels or vents/exchangers/coolant cells/coolants

  • Hey I'm interested in making an addon for IC2 which aims to expand reactors, kind of like the "Reactor Stuff" addon, just with more things, like more nuclear fuels, more types of heat vents and heat exchangers and even custom coolant liquids or coolant cells.


    Where would I start? I'm pretty new, and haven't used the IC2 API, if there is one. I already made a basic addon for steel tools and items but I haven't released it anywhere, any help?

  • I would like to give some suggestions on contents.

    For fuels: add thorium-232 and uranium-233, uranium-236, plutonium-239/241, plutonium-240,242, americium-242, curium-245 like the things in real-life reactors and in this picture (from this page)


    For vents: I would be happy to see vents that can vent 4/8 heat, but adding a vent that can vent more than 20 heat/s will increase current records of high-outputting reactors.


    For custom coolant liquids: add more coolant that is used in real-life, such as molten salt and liquid helium.


    For coolant cells: add one that can vent a little heat by itself.

    IC2 reactors has 196,627,050,475,552,913,618,075,908,526,912,116,283,103,450,944,214,766,927,315,415,537,966,391,196,809 (2754) possibilities. HAYO!

    :Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log::Rubber Log:

    My avatar is from a video of Operation Upshot-Knothole.

  • Making an IC2 addon isn't substantially more different than making a normal Forge mod, you've just got either IC2's API or all of IC2 as a library to compile with (alongside Forge and Minecraft) too. All reactor components are marked using a single interface IReactorComponent on an Item subclass. How the implementation of that is done is what determines how the component reactors, as you might have seen from the threads on adding custom fuel rods.

    145 Mods isn't too many. 9 types of copper and 8 types of tin aren't too many. 3 types of coffee though?

    I know that you believe that you understood what you think I said, but I am not sure you realise that what you read was not what I meant.


    ---- Minecraft Crash Report ----
    // I just don't know what went wrong :(


    I see this too much.

  • Making an IC2 addon isn't substantially more different than making a normal Forge mod, you've just got either IC2's API or all of IC2 as a library to compile with (alongside Forge and Minecraft) too. All reactor components are marked using a single interface IReactorComponent on an Item subclass. How the implementation of that is done is what determines how the component reactors, as you might have seen from the threads on adding custom fuel rods.

    Where would I learn how to use any of this? Is there like a page on the API like for example https://discord.js.org/#/docs/main/stable/general/welcome

    or where do I learn how to make more complex stuff like reactor fuelds, recipes for IC2 machines etc.


    EDIT:

    Forgot to mention that yes, I have minimal Java skills and I don't plan on really getting into it as I just need a simple mod that could help me and my friends

  • For nuclear fuels, I could help, I've made one with Chocohead basically giving me like 80% of the code :P


    Also, see SM84CE's probable addon: Coaxium Mod for the code and stuff, if you are still confused, PM me or something...

    (yeah, it's kinda self-advertising, but it coincides with what you need)


    As for documentation, ther's comments in the API and dev JARS, if you open them with 7Zip, and if need be, using a decompiler to view the .class files?

    My favorite...

    Armor: :Quantum-Helmet::Quantum-Bodyarmor::Quantum-Leggings::Quantum-Boots:

    Item: :Uranium::Uranium Ore::Reactor:

  • Hey, do you have a discord account? It would be much quicker just DMing you.

  • No


    you could just post your questions in your thread :P

    Alright so, first one would probably be: How do I go about implementing the IC2 API into my source code, making it a dependency and when I do that, would Eclipse let me play not only with my addon but with IC2?

  • Thanks man, that's what I'm aiming for.

  • If you want Nuclear fuels, add the dev jar as a dependency. Right click on the project folder, select properties (at the bottom of the drop down), find build path on the left side menu, select "add external JARS" then select your Dev jar.

    My favorite...

    Armor: :Quantum-Helmet::Quantum-Bodyarmor::Quantum-Leggings::Quantum-Boots:

    Item: :Uranium::Uranium Ore::Reactor:

  • No, find properties at the bottom of the dropdown when you right click on the project (Properties should be at the very bottom of the menu)

    The attached ZIP should detail the steps better

    (NOTE: USE 7-ZIP TO EXTRACT, this was the only way I could make the file less than 1 MB

    Recording_20190311_0953.zip)

    My favorite...

    Armor: :Quantum-Helmet::Quantum-Bodyarmor::Quantum-Leggings::Quantum-Boots:

    Item: :Uranium::Uranium Ore::Reactor:

  • No, find properties at the bottom of the dropdown when you right click on the project (Properties should be at the very bottom of the menu)

    The attached ZIP should detail the steps better

    (NOTE: USE 7-ZIP TO EXTRACT, this was the only way I could make the file less than 1 MB

    Recording_20190311_0953.zip)

    Thanks, now that I have it, is there an API documentation that I can check out anywhere?

  • Not really, you might want to decompile the dev and/or api class files via an online decompiler; there are some comments that might help out. Most of the API, iirc, is interfaces that you implement in your classes, like IReactorComponent

    My favorite...

    Armor: :Quantum-Helmet::Quantum-Bodyarmor::Quantum-Leggings::Quantum-Boots:

    Item: :Uranium::Uranium Ore::Reactor:

  • Not really, you might want to decompile the dev and/or api class files via an online decompiler; there are some comments that might help out. Most of the API, iirc, is interfaces that you implement in your classes, like IReactorComponent

    Oh damn, could you throw in some examples for me, AKA code snippets of custom reactor fuels / vents

  • That's what I did too... The method names are pretty good at describing what they do, for example: chechHeatAcceptor and acceptUraniumPulse If you need more help, post your code and what problems you have/ what you've tried. Sometimes it's as simple as a missing ":" that breaks things (happened to me once)

    My favorite...

    Armor: :Quantum-Helmet::Quantum-Bodyarmor::Quantum-Leggings::Quantum-Boots:

    Item: :Uranium::Uranium Ore::Reactor:

  • That's what I did too... The method names are pretty good at describing what they do, for example: chechHeatAcceptor and acceptUraniumPulse If you need more help, post your code and what problems you have/ what you've tried. Sometimes it's as simple as a missing ":" that breaks things (happened to me once)

    Do you have a github or a place with your complete mod source code which I could inspect?