mt-mods / homedecor_modpack

home decor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

more uncraftable items

wsor4035 opened this issue · comments

  • homedecor:glowlight_quarter_14
  • homedecor:wood_table_large_square
  • homedecor:glass_table_large_square
  • homedecor:wall_lamp_on
  • homedecor:bed_extended
  • homedecor:toilet_open
  • homedecor:kitchen_cabinet_colorable_with_drawers_steel
  • homedecor:kitchen_cabinet_colorable_with_drawers_granite
  • homedecor:kitchen_cabinet_colorable_with_drawers
  • homedecor:desk_lamp_14
  • homedecor:ceiling_lamp_14
  • homedecor:glowlight_half_14
  • homedecor:standing_lamp_14
  • homedecor:plasma_ball_on
  • homedecor:hanging_lantern_14
  • homedecor:ceiling_lantern_14
  • homedecor:table_lamp_14
  • homedecor:ground_lantern_14
  • homedecor:rope_light_on_ceiling_on
  • homedecor:glowlight_small_cube_14
  • homedecor:plasma_lamp_14
  • homedecor:lattice_lantern_large_14
  • homedecor:rope_light_on_floor_on
  • homedecor:kitchen_cabinet_colorable_with_drawers_marble
  • homedecor:lattice_lantern_small_14

total items: 673
ignored items: 281
missing items: 25

https://xkcd.com/1205/

generated by:

minetest.register_chatcommand("hd_test", {
	description = "does stuff, if you cant figure it out, dont use it",
	func = function()
		local valid = {
			homedecor = true,
			building_blocks = true,
			fake_fire = true,
			itemframes = true,
			lavalamp = true,
		}

		local output = {}
		local hd_count, ig_count, missing_count = 0, 0, 0
		for k, v in pairs(minetest.registered_items) do
			if valid[k:split(":")[1]] then
				hd_count = hd_count + 1
				local crafts = minetest.get_all_craft_recipes(k)
				if not crafts then
					if v.groups and v.groups.not_in_creative_inventory == 1 then
						ig_count = ig_count + 1
					else
						missing_count = missing_count + 1
						table.insert(output, "* [ ] " .. k)
					end
				end
			end
		end
		table.insert(output, "total items: " .. hd_count)
		table.insert(output, "ignored items: " .. ig_count)
		table.insert(output, "missing items: " .. missing_count)
		minetest.chat_send_all(dump(output))
		minetest.log("error", dump(output))

		--minetest.get_all_craft_recipes(query item)
	end
})

it may be worth improving this to recursively look through crafts results to validate all node names as well, but see the xkcd, something i slapped together in a few minutes

your snippet is pretty neat, any objections if i use that somewhere else? 😏

commented

But keep in mind that xkcd does not apply to hobbies so go on and keep working on it 😄

some of these don't need a recipe. e.g. toilet_open -> craft toilet then click on it to open.

some of these don't need a recipe. e.g. toilet_open -> craft toilet then click on it to open.

Then it should fall into the not_in_creative_inventory category i think..

Note that this check can be made with qa_block. Also it only reports the *_14 items as being uncraftable.

toliet is craftable, it uses groups, probably why it wasnt found

image
image
glow light 14 is craftable via this way, side note, the glowlight code is rather cursed to read

homedecor:wood_table_large_square
homedecor:glass_table_large_square
dont seem to exist?

image
wall lamp

bed extended fixed a598fa3

image

kitchen cabinets are covered by #4 (comment)

image
desk lamp

tldr it seems most of these are rather cursed crafting paths