Rules & Guidelines for Coders

    • Official Post

    The rules mentioned here exclusively apply to Coders of IC².


    - The Source Code of IC&IC² is not meant to be public(‘d). Please keep ALL discussions including any part of the Source Code within the Source section. As we’re now a bunch of capable programmers (and not a single half-skilled Java-n00b), I doubt we’ll need to ask for outward help anymore (*hope*).
    - !!! Documentation for whatever you’re writing !!! I don’t ask for pagelong reports, but at least add the basic Javadoc lines to any non-trivial method. As well, it can’t hurt to comment any more-complex algorythms. I’ve worked on IC without much Javadoc, because it was solely my project. But now we’re a team and as such everyone must be capable of instantly understanding each other’s code.
    - Please comply with the common Java conventions, regarding upper/lower-cases and method construction.
    - Coding language is English, this applies to all; names and documentation.
    - ALL new classes of IC² are meant to go into the IC² folder. If one of the classes is named like an original class, add "IC2" after the first name component. F.e. "ItemAxe" => "ItemIC2Axe"
    - Try to keep your code clean and basic. I prefer visibility > small-size.
    - We're open-minded coders, don't use private or final modifiers unless they are enforced necessary to prevent people from coding crashes.
    - Use @Override-Tags! This sounds stupid, but keep in mind, the MC code can change right below our feet. And usually one doesn't notice if a super-method changes it's name, as this doesn't cause crashes. Excessive use of Override-Tags will prevent such things from happening (like they did 2-3 times in the past of IC).
    - You’re free to use your knowledge to implement code written for IC² in your own mods, as long as you don’t copy whole classes. If you do latter one (for a good reason), please mention IC²’s devteam in the credits.
    - IC² will run on MCP-ModLoader-MinecraftForge base. Don’t start going on about Bukkit or other basemods, unless you got extremely good arguments.
    - Do NOT modify basefiles! If you can’t find a way to implement whatever you’re doing without basefile modification, report this and we’ll redirect it to SpaceToad, developer of MinecraftForge. He already added two hooks upon special requests of mine, I doubt he will refrain from adding anything else which appears to be commonly usefull.
    - Any code written for IC² is automatically a part of the IC² project and thus copyright’d by me. You’re, if you leave the developement team for any reason, NOT allowed to request removal of your code from IC²’s source. (Don’t get worried, this is merely a failsafe for the worst-case scenario.)