Atomic Science

Atomic Science

319k Downloads

[1.7] World mechanic: Radiation zones

DarkGuardsman opened this issue ยท 2 comments

commented

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

  • Default radiation level
  • Source of radiation (ground, sun, air)
  • Radiation areas (3D cube)
  • Radiation area source type (ground, sun, air)

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.

commented

Yes, but explosions will not be related to this mechanic. ICBM will generate radioactive material in the existing map systems. This way it can easily be cleaned up and changed by environmental effects.

What this ticket is for is to allow world, map, and modpack makers a chance to customize gameplay. In a way that allows radiation to be used without causing a negative impact on performance. As the radioactive map in Atomic Science currently cost 100mb (or more) per user if the map is 100% filled in with radioactive tiles. Making this not a good solution for map makers that want to creative wastelands.

The solution is to create a few mechanics that allow radiation zones without tons of data.

commented

Are there any plans for the nuclear explosives from ICBM to create radioactive areas?