From a387c83d05477e28c2d968b11e497c3683993b9b Mon Sep 17 00:00:00 2001 From: Oliver Simmons Date: Sun, 18 Sep 2022 00:24:54 +0100 Subject: [PATCH] Main Game --- README.md | 17 ++++++++ game.conf | 7 +++ mods/mapgen/init.lua | 41 +++++++++++++++++ mods/mapgen/mod.conf | 5 +++ mods/nodes/init.lua | 25 +++++++++++ mods/nodes/mod.conf | 4 ++ mods/nodes/textures/grass.png | Bin 0 -> 525 bytes mods/nodes/textures/stone.png | Bin 0 -> 904 bytes mods/player/init.lua | 80 ++++++++++++++++++++++++++++++++++ mods/player/mod.conf | 4 ++ 10 files changed, 183 insertions(+) create mode 100644 game.conf create mode 100644 mods/mapgen/init.lua create mode 100644 mods/mapgen/mod.conf create mode 100644 mods/nodes/init.lua create mode 100644 mods/nodes/mod.conf create mode 100644 mods/nodes/textures/grass.png create mode 100644 mods/nodes/textures/stone.png create mode 100644 mods/player/init.lua create mode 100644 mods/player/mod.conf diff --git a/README.md b/README.md index 482b936..27bc07c 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,28 @@ # Cave Game A recreation of Cave Game, the earliest version of Minecraft. +## Features +- Stone and grass nodes. +- Place & destroy them. +- That's about it. + +## Notes + +Whilst looking like cobble, stone is infact `minecraft:stone`. + +Technical names `minecraft:nnn` and `nnn` are aliases to the "modern" Minecraft names. + +Select mapgen `singlenode` for a truly flat world. +Mapgen v6 unsupported. + ## [CDB] · [Issues] · [Git] Game by olive - ISC +[Textures by Rollerozxa], based upon [REFI] - CC-BY-SA 4.0 +[REFI]: https://content.minetest.net/packages/MysticTempest/refi_textures/ +[Textures by Rollerozxa]: https://github.com/rollerozxa/minecraftnt-classic/ [Git]: https://git.minetest.land/olive/cavegame [Issues]: https://git.minetest.land/olive/cavegame/issues [ContentDB]: https://content.minetest.net/packages/GoodClover/cavegame/ diff --git a/game.conf b/game.conf new file mode 100644 index 0000000..0236d3d --- /dev/null +++ b/game.conf @@ -0,0 +1,7 @@ +name = cavegame +title = Cave Game +description = Shoddy, basic, re-creation of "Cave Game". This could never become popular… +author = olive (GoodClover) + +disabled_settings = enable_damage, !creative_mode +disallowed_mapgens = v6 diff --git a/mods/mapgen/init.lua b/mods/mapgen/init.lua new file mode 100644 index 0000000..6c869d7 --- /dev/null +++ b/mods/mapgen/init.lua @@ -0,0 +1,41 @@ + +if minetest.get_mapgen_params().mgname == "singlenode" then + local ground_level = tonumber(minetest.settings:get("water_level") or 1) + + minetest.register_on_generated(function(minp, maxp, blockseed) + local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") + local va = VoxelArea:new({MinEdge=emin, MaxEdge=emax}) + + local air = minetest.get_content_id("air") + local stone = minetest.get_content_id("minecraft:stone") + local grass = minetest.get_content_id("minecraft:grass") + + local nodes = vm:get_data() + + for i, _ in pairs(nodes) do + local y = va:position(i).y + if y < ground_level then + nodes[i] = stone + elseif y == ground_level then + nodes[i] = grass + else + nodes[i] = air + end + end + + vm:set_data(nodes) + vm:write_to_map() + end) +else + minetest.register_biome({ + name = "cavegame", + -- node_dust = "air", + node_top = "minecraft:grass", + depth_top = 1, + -- depth_filler = 1, + node_stone = "minecraft:stone", + heat_point = 50, + humidity_point = 50, + y_min = -3100, y_max = 3100, + }) +end diff --git a/mods/mapgen/mod.conf b/mods/mapgen/mod.conf new file mode 100644 index 0000000..3fdc7e7 --- /dev/null +++ b/mods/mapgen/mod.conf @@ -0,0 +1,5 @@ +name = cavegame_mapgen +depends = cavegame_nodes + +title = Cave Game mapgen +author = olive diff --git a/mods/nodes/init.lua b/mods/nodes/init.lua new file mode 100644 index 0000000..d774075 --- /dev/null +++ b/mods/nodes/init.lua @@ -0,0 +1,25 @@ + +minetest.register_alias("mapgen_stone", "minecraft:stone") +minetest.register_alias("mapgen_water_source", "air") +minetest.register_alias("mapgen_river_water_source", "air") + + +minetest.register_alias("1", "minecraft:stone") +minetest.register_alias("minecraft:1", "minecraft:stone") +minetest.register_node(":minecraft:stone", { + order = 1, + description = "Stone", + tiles = { "stone.png" }, + groups = { dig_immediate=3, }, + is_ground_content = true, +}) + +minetest.register_alias("2", "minecraft:grass") +minetest.register_alias("minecraft:2", "minecraft:grass") +minetest.register_node(":minecraft:grass", { + order = 2, + description = "Grass", + tiles = { "grass.png" }, + groups = { dig_immediate=3, }, + is_ground_content = true, +}) diff --git a/mods/nodes/mod.conf b/mods/nodes/mod.conf new file mode 100644 index 0000000..9c98eb7 --- /dev/null +++ b/mods/nodes/mod.conf @@ -0,0 +1,4 @@ +name = cavegame_nodes + +title = Cave Game nodes +author = olive diff --git a/mods/nodes/textures/grass.png b/mods/nodes/textures/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..2cb227a7b0d9534239453caa7c73ce036d60986d GIT binary patch literal 525 zcmV+o0`mQdP)Px$$4Nv%R5*=olRs==jk`- z7CK}Jm<%2gD1sUX*-0DjPQpn`j5>(-dZN8Wcc;7Oeg53rdjI)#WebZ66aX?mIX*_l z{rv;lXt%b7b@NUXM))Hh#Q@}+joX{_6Eyn21v-N4qXI->gf<#mSe9gNPYRwKge`DVk>{;&oR$^h%%ca6jI z@r>y(bp-@?(ob04W^_cW{Fn|?N7WYA>Ge}cdIM)-M^c!NXXJZBzBi~qIql+pJc?PZ zSExX-@S^VsYF2Jt5<*YD@hC-2Awqsw%qOE)T!z0^hdZF^{|YRX%<4w->}Te@Jim)%|#n_J{ldS9l%C$WJB( P00000NkvXXu0mjfo7VKq literal 0 HcmV?d00001 diff --git a/mods/nodes/textures/stone.png b/mods/nodes/textures/stone.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc058dc165ab358f41f08eb3cd63f4fa7508684 GIT binary patch literal 904 zcmV;319$w1P)Px&LPh;n}*c5VIMEs%{g`J%p0CYMXYPA|s6tP;Z{6{L4 z;^gE6fN(fWd3iY_BO??S7o%=#YZHHde$Z$%sH}n1d z&CSgXD=RBRqfwkrC)d~4sPFFX#D|9mT3cH&8jS=30cvY&5k--=w>NUR9Ivmh*laf9 z@i;D*3xmOc&*$U#_!#y3`@48^b3d&1fXQSc zkw}ouW>FM{(a})^fTpG<(&;ohosOfUBU)Noa5|mr?d@@Xeh$F-`8kp#kxr*+XlP(* zY3VOwZ*Om5U|@jN)m0LS1Vu$fn9XK(cXt6O6bg8~UV_0OvMjT+vxC`eW_x=Z0AX%! zj=sJ=y1TncBofru*E2OW^}kuAQjyQ+sjjZ(@bD0T_4RcCrl+S7QmGU^pAVf*hgPd4 zolY}8K29Q$KomtpQDlC8o{fzSUS3|<-rmM$v!N);pTKIh7HVp07#JA9>-7TQa5xY} zk+ZWi1VO;>_p`RP20&$HC7DbHlgUI`Ss7}F!yyWS!2bR|YPA}-+l?ei1OfpnDk?A< zjre>%+-^4-jfUCTSu7R{(P)&@(^HBfkqC>6iztdhGMQv+Yl}jmfJUR?=;#PZlCW4T z`2BunXJ`5N_#hsS)7905EXx$Vyu46aTFT?&BLLmq-CSH;FgG_xC=>!Me~HCnOixd2w=C{(d+djlS#(L#>iwc+~42x`T0pW9Om=$lh@Z* ea=9ETm5P6b;E;efIt~K>0000