Atomic Science

Atomic Science

319k Downloads

Porting Roadmap?

spacebuilder2020 opened this issue ยท 5 comments

commented

I would like to contribute to porting AtomicScience to 1.7.10 and above.

Do you have a road map for porting that I can use for contributing?

commented

Not really, but here is a generalized step list to work with

  1. Clear errors - get the mod to compile
  2. Port to VE code - technically part of step 1, move RE & RI code to VE equivalent
  • Rewrite/Reimplement heat map
  • Rewrite/Reimplement heat data system
  1. Find all assets - can be copied from RI
  2. Get running - game will load but might error
  3. Stabilize - game will load and rarely error
  4. Rewrite sections to use more VE code - VE has helpers to replace some existing code with improved and more functional versions
  • Re-add reactor core multi-block code
  • Recode accelerator to not use an entity
  • Recode all recipes to use ore dictionary values
  • Recode all fluid systems to use ore dictionary values
  • Recode fluid recipes to use machine recipe system
  • Port all crafting recipes over to json
  • Port all block data over to json
  • Port all models and renders over to json
  1. Release Alpha - when the mod is stable enough for testers
  2. Bug fix - fix any bugs found
  3. Release Beta - mod is stable enough to release (There is no full release, only beta)
  4. Maintenance cycle (never ending bug fix and updates)
  5. Final release - will not happen anytime soon, unless I get the abstraction system added

Also when updating code the following can be used to convert stuff

  • Vector3 -> Pos
  • Vector2 -> Point
  • VectorWorld -> Location
  • any gui call -> IGuiTile
  • any activate block call -> Tile#onPlayerRightClick
  • packet data -> IPacketIDReceiver
  • TileEntity & Block - > Tile - tile replaces the need for a block class in most cases
  • Tile render code - > Tile#renderDynamic, implemented in client version
  • Tile item render code -> ISimpleItemRender applied to tile's client version
commented

If you plan to help you will need to setup a workspace using Voltz Engine. This can be done by cloning Voltz Engine and running it's setup workspace scripts. Once you have a workspace you just need to clone any mod you want to work on. Then add the project to your workspace extending Voltz Engine.

Videos to help with workspace setup
Keep in mind these videos are a bit old but should still work
https://www.youtube.com/watch?v=kRbFyHD9El0 <- MFFS setup, just replace mffs with AS
https://www.youtube.com/watch?v=Kza9dxK8JGI <- larger video on setup

commented

Ok. Also, as for the assets, I managed to find the RE assets.

https://github.com/calclavia/Electrodynamics/tree/959505258de933c5cd29140da13fa19dd5e75f7c

commented

That is the exact commit we got the code in the repository from. The problem with grabbing the assets right away was having to find all the textures relating to atomic science and then add them to a folder structure for atomic science and not Resonant Induction's folder structure. And then you would need to change all texture references in the code to reflect the change in the folder structure. If you want to, feel free to do so trough a pull request!

commented

Best for a pull request as I removed the mod from my current workspace so I can focus on other things. I will return to working on the mod after next week. As for right now, I'm taking a break this week from heavy mod to work on my game. Next week I have several large C projects to work on for class so may not be able to mod much.