builtbrokenmodding / atomic-science Goto Github PK
View Code? Open in Web Editor NEWReboot and full rewrite of Calclavia's Atomic Science mod
License: MIT License
Reboot and full rewrite of Calclavia's Atomic Science mod
License: MIT License
Fission reactor keeps producing heat even with depleted fuel rods in it
Beta Release
Rework grid system to work with nodes
Have sources store node list for easy removal (could store as an array of chunk coords contain list of nodes per chunk)
Switch threads to path using source as the input
Have nodes set as dead if a source is invalid
Have chunks scan for dead sources and remove
Have chunks clean up data to reduce memory usage (remove empty layers & chunks)
Have map check for updates near sources to queue updates of sources
Rework grid system to use capabilities
Rework heat and radiation sources to use capabilities
Rebuild fusion reactor
For this we want to redesign the block from the ground up. As it was unbalanced and no one will care if its changed.
Should work the same as fluid mode and allow adjusting input/output per side.
Unable to tell if this is a bug with AS or one of the testing mods. However, there is a slow crawl of memory usage going from 500mb to 1000mb. This will cycle very minute roughly before GC clears up the ram.
Likely sources are the packet or particle system. As both generate a lot of objects that could be filling up the memory.
Solutions: Create another object pool to store dead objects for reuse. As well to stop sending 100s of packets to the client every tick. This can be done by sending the raw data and caching it client side.
Add some radiation weather effects as optional mechanics, off by default.
Item to show current radiation levels and damage on an entity
Random thought, since hazmat suit uses wool (colored or not) why not make it change colors? This could be done via an RBG system tied into armor texture. Then applied via color dye similar to leather armor.
Reason for doing this is simple enough. You can have different color suits for roleplaying reasons.
Containers to storage material without it leaking
Simple rotation call passed first into the machine. If the machine doesn't do anything try the block rotation state system.
Wrench pop-up information says to hold ctrl, but shift key is needed to make it work, otherwise mouse wheel just change selected slot of the toolbar
In older versions of ICBM and Atomic Science, the Hazmat Suit protected against Chemical and Contagious explosions. Player was still vulnerable to Debilitation though, but I don't know if it was intentional or just an implementation error
Improve spread of heat from one block to the next by increasing surface area.
Right now the thermal system is designed to move heat based on surface area. Adding heat fins would increase the surface area and allow more heat to move around.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-36, -39] in dimension 0 (overworld) while populating chunk [-35, -38], causing cascading worldgen lag.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-36, -40] in dimension 0 (overworld) while populating chunk [-36, -39], causing cascading worldgen lag.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-37, -40] in dimension 0 (overworld) while populating chunk [-36, -39], causing cascading worldgen lag.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-37, -41] in dimension 0 (overworld) while populating chunk [-37, -40], causing cascading worldgen lag.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-38, -41] in dimension 0 (overworld) while populating chunk [-37, -40], causing cascading worldgen lag.
[12:25:45] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[12:25:45] [Server thread/WARN] [FML]: Atomic Science loaded a new chunk [-38, -42] in dimension 0 (overworld) while populating chunk [-38, -41], causing cascading worldgen lag.
Rather than using a potion effect it might be better to create a system. This way better logic can be implemented and shielding can be used.
Added 5/18/2018 (do last)
Any ideas?
Rebuild reactor
I have been waiting for AS to be updated to 1.7.10 for a long time, so is this still being worked on along with VE and others, or is this on the back-bench for now?
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?
Requested by Graugger:
Ability to use plastic armor and sheets in place of parts of some recipes
Hazmat suit -> replace leather armor with plastic armor
Hazmat suit -> replace wool with plastic
Adjuster -> replace wool with plastic
Update machines used to turn ore blocks into reactor fuel
Custom world generation, disabled by default. To allow random areas to spawn:
This will be used as examples of world generation for modpack makers. Should be intergrated with VoltzEngine in some way for reuse and done via JSON templates. Each area will have some risk vs reward mechanic. In which cleaning up the area could give rare resources. At the risk of radiation exposure and risk of death.
For this new content should be added as decoration.
When a player is moving around in a radioactive area dust should kick up. This dust should include radioactive material that can then be spread or inhaled.
Dust that is inhaled will cause a massive increase in radiation levels of a player.
Do after heat system is added
It would be nice to have the mod follow Forge conventions and have @GameRegistry.ObjectHolder
annotations on all the relevant fields, or have annotations on the registry-relevant classes and rename the fields to match the registry names of the objects they hold.
Just had a thought, chunks only save when marked as changed. Due to the mod using external data from the world it might be possible its not saving in all cases. Mainly in cases were chunks have been set with data from a connected chunk (reactor leak).
Might want to consider a redesign before implementation. As the current systems is block based and could be implemented more effectively.
Used to move heat around without it leaking into the world.
The idea would be to use these to move heat into machines from the reactor. As well to spread heat in a more controlled way.
Use the thermal system to power furnaces.
By default, we don't want to support existing furnaces. The lore reasoning for this is that furnaces are designed to keep heat in and not let it inside from outside.
Some thoughts I had regarding breeder reactors in the mod:
Neutron radiation: along with the regular (gamma?) radiation that fission reactor cores currently emit when active, they should also emit a large amount of neutron radiation to their surroundings. This would behave in a similar manner to the radiation currently in the mod, except it has the ability to "activate" exposed blocks, and is shielded rather effectively by water and coal blocks.. This would contaminate those blocks until they were emitting as much radiation as they were receiving in neutron radiation. Additionally, exposing other fission reactor cores to neutron radiation would boost their heat and radiation output while causing them to use up fuel faster.
Breeder reactors and plutonium: while breeder fuel rods are currently in the mod, it might be more interesting if they required neutron radiation from a reactor core fueled with fission fuel in order to function. If a reactor core fueled with breeder fuel is exposed to neutron radiation, it will generate heat and radiation in a similar manner to a core fueled with fission fuel, but no neutron radiation will be emitted. In addition, the higher the neutron flux, the faster the breeder fuel is consumed. Once the fuel is used up, right-clicking the reactor core will return a fuel cell filled with toxic waste and a small amount of plutonium-239. The plutonium-239 can be used to make fission fuel rods that are more powerful than the uranium-235 based ones, but at the expense of a shorter lifetime as well increased radiation and toxic waste production.
Cherenkov radiation: this would appear as a fuzzy blue glow around active reactor cores, perhaps using something like the blue spherical glow that the EMP explosives from ICBM-Classic use.
Should do a series of items each with a different cost and feature set
Most of the problems are not resolved as of the commit e5cf5c8
However, I want to recode the pathfinder to not use rotation angle guesses. This way there is a reduction in CPU usage and improvement in radiation pathing.
Convert current models from techne to .obj
[21:55:02] [Server thread/WARN] [FML]: ****************************************
[21:55:02] [Server thread/WARN] [FML]: * Invalid registration attempt for an Ore Dictionary item with name oreUranium has occurred. The registration has been denied to prevent crashes. The mod responsible for the registration needs to correct this.
[21:55:02] [Server thread/WARN] [FML]: * at net.minecraftforge.oredict.OreDictionary.registerOreImpl(OreDictionary.java:522)
[21:55:02] [Server thread/WARN] [FML]: * at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:501)
[21:55:02] [Server thread/WARN] [FML]: * at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:500)
[21:55:02] [Server thread/WARN] [FML]: * at com.builtbroken.atomic.content.blocks.BlockUraniumOre.(BlockUraniumOre.java:23)
[21:55:02] [Server thread/WARN] [FML]: * at com.builtbroken.atomic.content.ASBlocks.preInit(ASBlocks.java:54)
[21:55:02] [Server thread/WARN] [FML]: * at com.builtbroken.atomic.proxy.ProxyLoader.preInit(ProxyLoader.java:58)...
[21:55:02] [Server thread/WARN] [FML]: ****************************************
Random dust displays are 1 recipe, to improve handling it should split out to 1 recipe per output. As well show the expect spawn chance and weights to better predict drop chance.
A tool that can show properties about a block:
Reminder to self to fix model and texture
Texture
Has a few parts were texture does not cover the model
Comparison of vanilla Iron armor
Model
Model does not render in first person
Model should fit closer on arms to look nicer. Can easily use a custom model for this or render layer.
This is more of a vanilla problem than an issue with the mod. As vanilla assumes the arms are not covered for armor.
Block to detect and display radiation values
Display should have a few mods
Portable unit should include
Old mod only has 1 power turbine. I think the mod will do better with an expanded range of machines.
Current thoughts:
This will be a mechanic to allow using the radiation system for world customization. In which a world can be set with background radiation or a default radiation level.
How this will work is that a JSON config will exist per world. This config will contain
Radiation source will control the logic for the areas.
Ground -> works the same way as the current system. Each tile will have a default value and will path radiation. Will cause contamination to spread overtime but can be cleaned up.
Sun -> any block connected to the top of the map by line of sight will have radiation. This can be blocked by anything between the player and the sun. Is a cached value just like the normal map. However, will be stored in a separate system and added to getRadiation(x, y, z) as a percentage of current sun exposure.
air -> any air block connected to the sky will have radiation. Can be stopped by normal mechanics and will not contaminate blocks.
Steam funnels produce steam but don't store it nor output it to fluiduct (even with servos installed)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.