aboutsummaryrefslogtreecommitdiff
path: root/games/devtest/mods/stairs/init.lua
blob: 2701cabab2d5dd9380ddb4782f86aed3bea7b7cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
stairs = {}

-- Node will be called stairs:stair_<subname>
function stairs.register_stair(subname, recipeitem, groups, images, description)
	minetest.register_node(":stairs:stair_" .. subname, {
		description = description,
		drawtype = "nodebox",
		tiles = images,
		paramtype = "light",
		paramtype2 = "facedir",
		is_ground_content = true,
		groups = groups,
		node_box = {
			type = "fixed",
			fixed = {
				{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
				{-0.5, 0, 0, 0.5, 0.5, 0.5},
			},
		},
	})
end

-- Node will be called stairs:slab_<subname>
function stairs.register_slab(subname, recipeitem, groups, images, description)
	minetest.register_node(":stairs:slab_" .. subname, {
		description = description,
		drawtype = "nodebox",
		tiles = images,
		paramtype = "light",
		is_ground_content = true,
		groups = groups,
		node_box = {
			type = "fixed",
			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
		},
		selection_box = {
			type = "fixed",
			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
		},
	})
end

-- Nodes will be called stairs:{stair,slab}_<subname>
function stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab)
	stairs.register_stair(subname, recipeitem, groups, images, desc_stair)
	stairs.register_slab(subname, recipeitem, groups, images, desc_slab)
end

stairs.register_stair_and_slab("stone", "basenodes:stone",
		{cracky=3},
		{"default_stone.png"},
		"Stone Stair",
		"Stone Slab")

stairs.register_stair_and_slab("desert_stone", "basenodes:desert_stone",
		{cracky=3},
		{"default_desert_stone.png"},
		"Desert Stone Stair",
		"Desert Stone Slab")

stairs.register_stair_and_slab("cobble", "basenodes:cobble",
		{cracky=3},
		{"default_cobble.png"},
		"Cobblestone Stair",
		"Cobblestone Slab")
&getHotbarImage() const { return hud_hotbar_image; } void setHotbarSelectedImage(const std::string &name) { hud_hotbar_selected_image = name; } const std::string &getHotbarSelectedImage() const { return hud_hotbar_selected_image; } void setSky(const SkyboxParams &skybox_params) { m_skybox_params = skybox_params; } const SkyboxParams &getSkyParams() const { return m_skybox_params; } void setSun(const SunParams &sun_params) { m_sun_params = sun_params; } const SunParams &getSunParams() const { return m_sun_params; } void setMoon(const MoonParams &moon_params) { m_moon_params = moon_params; } const MoonParams &getMoonParams() const { return m_moon_params; } void setStars(const StarParams &star_params) { m_star_params = star_params; } const StarParams &getStarParams() const { return m_star_params; } void setCloudParams(const CloudParams &cloud_params) { m_cloud_params = cloud_params; } const CloudParams &getCloudParams() const { return m_cloud_params; } bool checkModified() const { return m_dirty || inventory.checkModified(); } inline void setModified(const bool x) { m_dirty = x; } void setLocalAnimations(v2s32 frames[4], float frame_speed) { for (int i = 0; i < 4; i++) local_animations[i] = frames[i]; local_animation_speed = frame_speed; } void getLocalAnimations(v2s32 *frames, float *frame_speed) { for (int i = 0; i < 4; i++) frames[i] = local_animations[i]; *frame_speed = local_animation_speed; } void setDirty(bool dirty) { m_dirty = true; } u16 protocol_version = 0; // v1 for clients older than 5.1.0-dev u16 formspec_version = 1; session_t getPeerId() const { return m_peer_id; } void setPeerId(session_t peer_id) { m_peer_id = peer_id; } void onSuccessfulSave(); private: PlayerSAO *m_sao = nullptr; bool m_dirty = false; static bool m_setting_cache_loaded; static float m_setting_chat_message_limit_per_10sec; static u16 m_setting_chat_message_limit_trigger_kick; u32 m_last_chat_message_sent = std::time(0); float m_chat_message_allowance = 5.0f; u16 m_message_rate_overhead = 0; bool m_day_night_ratio_do_override = false; float m_day_night_ratio; std::string hud_hotbar_image = ""; std::string hud_hotbar_selected_image = ""; CloudParams m_cloud_params; SkyboxParams m_skybox_params; SunParams m_sun_params; MoonParams m_moon_params; StarParams m_star_params; session_t m_peer_id = PEER_ID_INEXISTENT; };