Go to file
BuckarooBanzay 32b219ee65 simpler planet index/cache 2020-09-21 14:45:51 +02:00
.github/workflows github action 2020-01-28 11:34:12 +01:00
dev log indexing time 2020-09-21 14:28:42 +02:00
nodes dyson sphere prototype 2020-04-28 13:44:40 +02:00
planettypes register function for planet type / doc updates 2020-09-21 13:11:01 +02:00
textures embed skyboxes 2020-01-28 11:22:34 +01:00
.luacheckrc luacheck 2020-01-28 11:33:20 +01:00
api.lua simpler planet index/cache 2020-09-21 14:45:51 +02:00
chat_commands.lua airshell/index improvements 2020-09-21 14:21:33 +02:00
init.lua airshell/index improvements 2020-09-21 14:21:33 +02:00
mapgen.lua add simple 1-dimensional spatial index for planet lookup 2020-04-28 08:49:55 +02:00
mod.conf embed skyboxes 2020-01-28 11:22:34 +01:00
planet_index.lua simpler planet index/cache 2020-09-21 14:45:51 +02:00
readme.md register function for planet type / doc updates 2020-09-21 13:11:01 +02:00
screenshot.png add screenshot 2020-07-09 20:18:46 +02:00
screenshot_dyson.png add screenshot of a partial dyson sphere 2020-07-09 21:06:12 +02:00
skybox.lua revert skybox to simple 1-part instead of 5-part gradient 2020-04-28 13:48:29 +02:00
vacuum.lua airshell/index improvements 2020-09-21 14:21:33 +02:00

readme.md

This mod generates planetoids at predefined positions

Planet types

See: https://en.wikipedia.org/wiki/Star_Trek_planet_classification

  • class-m earth like, flat (various dirt top layers and stone body)
  • class-n all stone, flat
  • class-h desert planet (desert-sand top layer and desert-sandstone body)
  • class-p ice planet (snowblock top layer and ice body)
  • dyson-sphere a dyson-sphere with a sun in its center
  • sun single lava-like node

Screenshots

Example planetoid Dyson sphere

Api

planetoidgen.register_planet(planet_def)

Registers a planet with type, size and position:

planetoidgen.register_planet({
  pos = { x=2500, y=7500, z=2500 },
  name = "my-planet",
  type = "class-m",
  radius = 300,
  airshell = true
})

planetoidgen.register_planet_type(typename, mapgen_fn)

Registers a new planet type (see /planettypes for examples)

planetoidgen.register_planet_type("my-magic-planet", function(planet, minp, maxp)

	local vm, emin, emax = minetest.get_mapgen_object("voxelmanip")
	local data = vm:get_data()
	local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax}

  -- magic here...

	vm:set_data(data)

	vm:set_lighting({day=15, night=0})
	vm:write_to_map()
end)