[Mod] simple random houses spawning [basic_houses]

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

[Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

Image
Sometimes you may feel lonely in your world but don't want to encounter entire villages. The basic houses this mod places on flat land are well integrated into the landscape and invite you to extend and imporve them. They appear only where flat land is. Each house comes with a door, lamps above the door, windows, floors, a steel ladder and a solid roof. Some houses may contain chests with additional building materials or even a machine used for creating plasterwork.

Image

Don't be surprised if your new home has vegetation inside. The houses where abandoned by their creators some time ago. Trees may have started to grow inside. It is unkown why the builders left. There's some speculation that it was due to the lack of gardens, furniture and streets, but as there are no inhabitants left, there's nobody to ask. You can just take any house you like and turn it into your home.

Image

Houses may appear alone or in small groups. The basic types are logcabin, wooden house and stony houses. The later ones may be skyscrapers with a flat roof and may be colored if either plasterwork, RealTest or MineClone2 is used. The houses are all empty inside. Materials, shape, size and floors are all random.

Download: https://github.com/Sokomine/basic_house ... master.zip
Browse code: https://github.com/Sokomine/basic_houses
Version: 1.0
Licence: GPLv3
Depends on: handle_schematics
Recommends: plasterwork
Supports: Minetest game based games, RealTest, MineClone2
Attachments
basic_houses_9.jpg
basic_houses_9.jpg (177.04 KiB) Viewed 3402 times
basic_houses_13.jpg
basic_houses_13.jpg (143.23 KiB) Viewed 3402 times
basic_houses_11.jpg
basic_houses_11.jpg (113.97 KiB) Viewed 3402 times
A list of my mods can be found here.

bell07
Member
Posts: 604
Joined: Sun Sep 04, 2016 15:15
GitHub: bell07

Re: [Mod] simple random houses spawning [basic_houses]

by bell07 » Post

Great Work! Thanks for this mod!

One Idea/Feature request I have: Can you please take some parameters like max_per_mapchunk or houses_wanted_per_mapchunk depending on any Perlin-noise (I am not familiar with it)? This way natural villages could appear, and other flat areas stays empty.

hajo
Member
Posts: 606
Joined: Thu Oct 13, 2016 10:45
Location: DE
Contact:

Re: [Mod] simple random houses spawning [basic_houses]

by hajo » Post

Sokomine wrote:basic houses this mod places on flat land
Each house comes with a door, lamps above the door, windows, floors, a steel ladder and a solid roof
I sugggest to add a chat-command like '/build_basic_house' that tries to build such a house
at the players location. Maybe with a parameter, eg. for size or number of floors to use.
Might need a priv for using that command.

Also, a house-builder-logfile would be nice.
Last edited by hajo on Sat Feb 10, 2018 22:41, edited 1 time in total.

User avatar
Fixer
Member
Posts: 904
Joined: Sun Jul 31, 2011 11:23
IRC: Fixer
In-game: Fixer
Location: Ukraine

Re: [Mod] simple random houses spawning [basic_houses]

by Fixer » Post

Nice, now connect them with some simple roads and lights in buildings and around ;)

bell07
Member
Posts: 604
Joined: Sun Sep 04, 2016 15:15
GitHub: bell07

Re: [Mod] simple random houses spawning [basic_houses]

by bell07 » Post

After reading some perlin-noise theory I played around pseudo-random numbers to group buildings in villages using this mod. See my fork: https://github.com/bell07/basic_houses

@Sokomine, if you like the logic, feel free to take over

Removed parameters / counters
- basic_houses.houses_wanted_per_mapchunk
- basic_houses.additional_chance
- basic_houses.mapchunks_processed
- basic_houses.houses_generated
Removed also the showcase-house in first chunk

and added instead

Code: Select all

-- generate count of building each 80x80 mapchunk, if chunk is assigned to village
 -- Note: This amount will likely only spawn if your mapgen is very flat.
 --       Else you will see far less houses.
basic_houses.min_per_mapchunk = 10
basic_houses.max_per_mapchunk = 20
 
-- Villages average distance in nodes (2x80)
basic_houses.village_average = 160
 
-- Villages min/max size in nodes (radius)
basic_houses.village_min_size = 20
basic_houses.village_max_size = 100
The minimum counters are never reached because the counter describes only the attempt to place the house in chunk. The most villages does not appear because no house was able to be placed. But the resuilt is useable. The houses appears in groups on map now.

Image
Image
Attachments
screenshot_20180731_225846.png
screenshot_20180731_225846.png (770.02 KiB) Viewed 3402 times
screenshot_20180731_223302.png
screenshot_20180731_223302.png (341.45 KiB) Viewed 3402 times

User avatar
Lord_Vlad
Member
Posts: 112
Joined: Thu Jul 20, 2017 07:58

Re: [Mod] simple random houses spawning [basic_houses]

by Lord_Vlad » Post

Many houses I get don't have a roof : in the chest on the top, though, they have a chest with moretree stairs and slabs that apparently don't exist ? It's just weird.

enochwilliams
New member
Posts: 6
Joined: Sun Sep 20, 2015 14:25
In-game: enoch enochwilliams

Re: [Mod] simple random houses spawning [basic_houses]

by enochwilliams » Post

Lord_Vlad wrote:Many houses I get don't have a roof : in the chest on the top, though, they have a chest with moretree stairs and slabs that apparently don't exist ? It's just weird.
Same. It also crashes my private server saying certain types of stairs are not valid nodes. Any ideas?

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

Regarding the stairs and slabs problem with moretrees: You do not seem to have moreblocks installed. You can either install moreblocks (which I'd recommend anyway as it's a very useful mod) or update to the newest version of handle_schematics. Moretrees registers its stairs under diffrent names depending on which stair mod it can find (moreblocks or just stairs from default) - and those names differ. Handle_schematics knows about this now. Thanks for reporting! The problem will also have affected mg_villages.
A list of my mods can be found here.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

bell07 wrote: After reading some perlin-noise theory I played around pseudo-random numbers to group buildings in villages using this mod. See my fork: https://github.com/bell07/basic_houses
I have to admit that I don't really understand how those noise things work. For mg_villages, nore did the work and created all that was necessary. Paramat helped some as well. Your changes look very fine. Please do a PR so that I can merge it :-) And sorry for taking so long. It sometimes takes time before I get around to fix a mod. Reminding me that there's work waiting helps to some degree :-)
A list of my mods can be found here.

User avatar
texmex
Member
Posts: 1753
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: tacotexmex

Re: [Mod] simple random houses spawning [basic_houses]

by texmex » Post

As mentioned in the screenshots topic I'm interested in your algorithm for finding reasonably flat areas for schematic placement.
Sokomine wrote:The newest approach just doesn't care about the area that will be covered by the building - it just takes a look at the height differences at the borders of the to-be-building and accepts only a limited overall difference.
This sounds good to me. Looking at the code for basic_houses and the underlying handle_schematics I think I'd like to extract this function and put into a much simpler API mod format. Is it doable or is it all tangled up in dependent code?

ShadMOrdre
Member
Posts: 1118
Joined: Mon Dec 29, 2014 08:07
Location: USA

Re: [Mod] simple random houses spawning [basic_houses]

by ShadMOrdre » Post

texmex,

I culled this from the settlements mod, for determining whether an area is "flat" enough. Flat being defined as height difference, and is settable.
Spoiler

Code: Select all



lib_hme = {}
lib_hme.name = "lib_hme"
lib_hme.ver_max = 0
lib_hme.ver_min = 1
lib_hme.ver_rev = 0
lib_hme.ver_str = lib_hme.ver_max .. "." .. lib_hme.ver_min .. "." .. lib_hme.ver_rev
lib_hme.authorship = "ShadMOrdre, Rochambeau"
lib_hme.license = "LGLv2.1"
lib_hme.copyright = "2019"
lib_hme.path_mod = minetest.get_modpath(minetest.get_current_modname())
lib_hme.path_world = minetest.get_worldpath()

local S
local NS
	if minetest.get_modpath("intllib") then
		S = intllib.Getter()
	else
		-- S = function(s) return s end
		-- internationalization boilerplate
		S, NS = dofile(lib_hme.path_mod.."/intllib.lua")
	end

lib_hme.intllib = S

minetest.log(S("[MOD] lib_hme:  Loading..."))
minetest.log(S("[MOD] lib_hme:  Version:") .. S(lib_hme.ver_str))
minetest.log(S("[MOD] lib_hme:  Legal Info: Copyright ") .. S(lib_hme.copyright) .. " " .. S(lib_hme.authorship) .. "")
minetest.log(S("[MOD] lib_hme:  License: ") .. S(lib_hme.license) .. "")


--
-- switch for debugging
--
	lib_hme.debug = false



--
--
--
	lib_hme_max_height_difference = 4
	lib_hme_half_map_chunk_size = 40
	lib_hme_quarter_map_chunk_size = 20




--
-- evaluate heightmap
--
	function lib_hme.evaluate_heightmap(minp, maxp)

	-- max height and min height, initialize with impossible values for easier first time setting
		local max_y = -50000
		local min_y = 50000

	-- only evaluate the center square of heightmap 40 x 40
		local square_start = 1621
		local square_end = 1661
		local heightmap = minetest.get_mapgen_object("heightmap")
		for j = 1 , 40, 1 do
			for i = square_start, square_end, 1 do
	
			-- skip buggy heightmaps, return high value

				if heightmap[i] == -31000 or heightmap[i] == 31000 then
					return lib_hme_max_height_difference + 1
				end

				if heightmap[i] < min_y then
					min_y = heightmap[i]
				end

				if heightmap[i] > max_y then
					max_y = heightmap[i]
				end
			end

		-- set next line
			square_start = square_start + 80
			square_end = square_end + 80

		end

		-- return the difference between highest and lowest pos in chunk
		local height_diff = max_y - min_y

		-- filter buggy heightmaps
		if height_diff <= 1 then
			return lib_hme_max_height_difference + 1
		end

		-- debug info
		if lib_hme.debug == true then
			minetest.chat_send_all("heightdiff ".. height_diff)
		end

		return height_diff

	end




--
-- on map generation, try to find a flat area
--
	minetest.register_on_generated(function(minp, maxp)
	
		lib_hme.flat = false
	
	  --
	  -- don't search underground
	  --
		if maxp.y < 0 then 
			return 
		end
	
	  --
	  -- don't search on (too) uneven terrain
	  --
		local height_difference = lib_hme.evaluate_heightmap(minp, maxp)
		if height_difference > lib_hme_max_height_difference then
			return
		end
	
	  -- 
	  -- if chunk is flat enough
	  --
		lib_hme.flat = true
		
	end)



minetest.log(S("[MOD] lib_hme:  Successfully loaded."))

This was thrown together just now, so as a standalone mod, may be non-functional. The functions contained however, should be enough to get you started.

As a mod, this either depends on intllib, or includes the template intllib.lua.

Hope this helps.


Shad

User avatar
texmex
Member
Posts: 1753
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: tacotexmex

Re: [Mod] simple random houses spawning [basic_houses]

by texmex » Post

Oh, thank you Shad! I’ll have a look. I’ll probably strip the intllib dependency too, eventually.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

texmex wrote: This sounds good to me. Looking at the code for basic_houses and the underlying handle_schematics I think I'd like to extract this function and put into a much simpler API mod format. Is it doable or is it all tangled up in dependent code?
handle_schematics is already intended to be an api eventually for mg_villages and other like mods. That's why the function

Code: Select all

handle_schematics.find_flat_land_get_candidates_fast( heightmap, minp, maxp, sizex, sizez, minheight, maxheight )
sits in it and not somewhere extra (as it mostly could). If you just want the above function, take the file detect_flat_land_fast.lua from handle_schematics, give the function a new prefix so that you can call it, and remove all other functions from that file. What find_flat_land_get_candidates_fast does is give you a list with all the places inside your mapchunk where you could build a house of sizex and sizez in size (or rotated by 90 or 270 degree) without having to flatten the land - becaus it's already flat there. basic_houses chooses some of these spots randomly and puts a house there.

The new approach is diffrent and even more simple. It evaluates how well a place (that you provide as position) is suited for a house of sizex and sizez. That function just looks at the bordes of your potential house area and returns the height the house ought to start at or false if the function deems the place to be too rough for such a house. I havn't uploaded it yet because that entire way of placing a village is very work-in-progress and won't help anybody too much yet. What's difficult is the integration into mg_villages and all the other things that need to be taken into account at mapgen time; not that particular flatness-evaluation-code.
ShadMOrdre wrote: I culled this from the settlements mod, for determining whether an area is "flat" enough. Flat being defined as height difference, and is settable.
If i see that right, your function evaluates the entire mapchunk? The two functions I mentionned above work diffrent. They work inside a mapchunk and help finding flat enough places for structures of a given size there.
ShadMOrdre wrote: -- skip buggy heightmaps, return high value
Well, no, not really buggy. AFAIK those are just places where the surface does not lie in this particular mapchunk. May be a deep hole or a high mountain.
ShadMOrdre wrote: As a mod, this either depends on intllib, or includes the template intllib.lua.
intllib is fine as such, but only if you have any messages for the player. There's no need for that here.
A list of my mods can be found here.

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Nice! I'm not sure how I missed this. It would have been a new release when I started the after-school coding group.

I have no idea why it can't find stairs:stair_pinewood. Yes, we've got moreblocks and handle_schematics, both from the latest git.

Code: Select all

https://github.com/Sokomine/handle_schematics
https://github.com/minetest-mods/moreblocks/ 
It does generate houses. It's just it crashed during exploration, presumably while trying to build another house.

Code: Select all

2019-10-17 10:35:07: WARNING[Emerge-0]: Assignment to undeclared global "pos_done" inside a function at C:\games\mt\latest\bin\..\mods\lakes\init.lua:418.
2019-10-17 10:35:20: WARNING[Emerge-0]: Assignment to undeclared global "r" inside a function at C:\games\mt\latest\bin\..\mods\lakes\init.lua:439.
2019-10-17 10:35:58: ERROR[Main]: ServerError: AsyncErr: Lua: finishGenRuntime error from mod 'basic_houses' in callback environment_OnGenerated(): "stairs:stair_pinewood" is not a registered node!
2019-10-17 10:35:58: ERROR[Main]: stack traceback:
2019-10-17 10:35:58: ERROR[Main]: 	[C]: in function 'set_node_at'
2019-10-17 10:35:58: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:284: in function 'build_roof_and_gable'
2019-10-17 10:35:58: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:707: in function 'simple_hut_place_hut_using_vm'
2019-10-17 10:35:58: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:770: in function 'simple_hut_place_hut'
2019-10-17 10:35:58: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:841: in function <C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:797>
2019-10-17 10:35:58: ERROR[Main]: 	C:\games\mt\latest\bin\..\builtin\game\register.lua:429: in function <C:\games\mt\latest\bin\..\builtin\game\register.lua:413>
I see you are planning to add some checks re: mg_villages. There might be a similar issue with lakes?

[EDIT]
Maybe a moretrees issue? We aren't using that. Wasn't that for mapgen 6? Or am I confusing that with another?
[/EDIT]

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Oh, I see. With moreblocks installed, it's called "moreblocks:stair_pine_wood"

Does that mean you recommend not using moreblocks? Or is it needed for other stuff?

[EDIT]
Yeah, looks like moreblocks has got to go.

Code: Select all

2019-10-17 15:47:54: ERROR[Main]: ServerError: AsyncErr: Lua: finishGenRuntime error from mod 'basic_houses' in callback environment_OnGenerated(): "stairs:stair_pinewood" is not a registered node!
2019-10-17 15:47:54: ERROR[Main]: stack traceback:
2019-10-17 15:47:54: ERROR[Main]: 	[C]: in function 'set_node_at'
2019-10-17 15:47:54: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:284: in function 'build_roof_and_gable'
2019-10-17 15:47:54: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:707: in function 'simple_hut_place_hut_using_vm'
2019-10-17 15:47:54: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:770: in function 'simple_hut_place_hut'
2019-10-17 15:47:54: ERROR[Main]: 	C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:841: in function <C:\games\mt\latest\bin\..\mods\basic_houses\init.lua:797>
2019-10-17 15:47:54: ERROR[Main]: 	C:\games\mt\latest\bin\..\builtin\game\register.lua:429: in function <C:\games\mt\latest\bin\..\builtin\game\register.lua:413>
2019-10-17 15:47:55: ACTION[Main]: Server: Shutting down
[/EDIT]

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

texmex wrote:This sounds good to me. Looking at the code for basic_houses and the underlying handle_schematics I think I'd like to extract this function and put into a much simpler API mod format. Is it doable or is it all tangled up in dependent code?
Is the point to be able to define types of structures, like feudal ones based on Sokomine's cottages mod, and mapgen places huts and barns? Maybe corrals, too?

If so, I'll suggest to one of the kids he hold off for a bit about making his feudal version of basic_houses. That would make it much easier and more flexible.

User avatar
ShallowDweller
Member
Posts: 77
Joined: Thu Nov 02, 2017 22:23

Re: [Mod] simple random houses spawning [basic_houses]

by ShallowDweller » Post

I had an interesting crash with this mod while running some tests with a mod pack...
The world opened, the player and the hotbar loaded, but before the nodes appeared, the game crashed. I even managed to open the debug overlay(?) by hitting F5 before the crash (and it even said I was looking at a node).
From debug.txt:

Code: Select all

-------------
  Separator
-------------

2019-11-02 20:00:37: WARNING[Main]: Mod name conflict detected: "farming"
2019-11-02 20:00:37: WARNING[Main]: Will not load: C:ENSORED\minetest-5.1.0-win64\bin\..\games\not_minetest\mods\farming
2019-11-02 20:00:37: WARNING[Main]: Overridden by: C:ENSORED\minetest-5.1.0-win64\bin\..\mods\dreambuilder_modpack\farming
2019-11-02 20:00:37: WARNING[Main]: Undeclared global variable "notify" accessed at ....\mods\dreambuilder_modpack\notify_hud_provider\init.lua:1
2019-11-02 20:00:37: WARNING[Main]: Undeclared global variable "drops" accessed at ...n\..\mods\dreambuilder_modpack\item_tweaks/item_drop.lua:5
2019-11-02 20:00:37: ACTION[Main]: [modutil] loading init
2019-11-02 20:00:37: ACTION[Main]: [modutil] loading log
2019-11-02 20:00:37: ACTION[Main]: [modutil] loaded log
2019-11-02 20:00:37: WARNING[Main]: Undeclared global variable "modutil" accessed at ...minetest-5.1.0-win64\bin\..\mods\Basics\modutil\init.lua:10
2019-11-02 20:00:37: ACTION[Main]: [modutil] setting modutil global
2019-11-02 20:00:37: ACTION[Main]: [modutil] loaded init
2019-11-02 20:00:37: WARNING[Main]: Field "tile_images": Deprecated; new name is "tiles".
2019-11-02 20:00:37: WARNING[Main]: Field "light_propagates": Deprecated; determined from paramtype
2019-11-02 20:00:37: WARNING[Main]: Assignment to undeclared global "name" inside a function at ...n\..\mods\dreambuilder_modpack\inventory_sorter\init.lua:107.
2019-11-02 20:00:37: WARNING[Main]: Assignment to undeclared global "desc" inside a function at ...n\..\mods\dreambuilder_modpack\inventory_sorter\init.lua:108.
2019-11-02 20:00:37: WARNING[Main]: Assignment to undeclared global "image" inside a function at ...n\..\mods\dreambuilder_modpack\inventory_sorter\init.lua:109.
2019-11-02 20:00:38: WARNING[Main]: Assignment to undeclared global "tiles" inside a function at ...in\..\mods\dreambuilder_modpack\digistuff\ioexpander.lua:27.
2019-11-02 20:00:38: ERROR[Main]: digistuff is not allowed to use the HTTP API - digilines NIC will not be available!
2019-11-02 20:00:38: ERROR[Main]: If this functionality is desired, please add digistuff to your secure.http_mods setting
2019-11-02 20:00:38: ACTION[Main]: MOD: Compost loading...
2019-11-02 20:00:38: ACTION[Main]: MOD: Compost version 0.0.1 loaded.
2019-11-02 20:00:38: WARNING[Main]: Not registering alias, item with same name is already defined: mushroom:brown_natural -> flowers:mushroom_fertile_brown
2019-11-02 20:00:38: WARNING[Main]: Not registering alias, item with same name is already defined: mushroom:red_natural -> flowers:mushroom_fertile_red
2019-11-02 20:00:38: ACTION[Main]: hb.register_hudbar: health
2019-11-02 20:00:38: ACTION[Main]: hb.register_hudbar: breath
2019-11-02 20:00:38: WARNING[Main]: Not registering alias, item with same name is already defined: unifieddyes:white -> unifieddyes:white_paint
2019-11-02 20:00:38: WARNING[Main]: Not registering alias, item with same name is already defined: unifieddyes:grey -> unifieddyes:grey_paint
2019-11-02 20:00:38: WARNING[Main]: Node default:brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node default:clay has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Undeclared global variable "homedecor_register_slope" accessed at ....0-win64\bin\..\mods\dreambuilder_modpack\steel\init.lua:222
2019-11-02 20:00:38: WARNING[Main]: Node default:steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node framedglass:steel_framed_obsidian_glass has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_outer has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_inner has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_alt has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_alt_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_alt_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_alt_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_brick_right_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_three_sides_u has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_two_sides has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_three_sides has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_three_quarter has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_brick_quarter has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner_cut_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer_cut_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner_cut_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_outer_cut_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_brick_inner_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_12 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_brick_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_12 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_brick_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_outer has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_inner has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_alt has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_alt_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_alt_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_alt_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:stair_steelblock_right_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_three_sides_u has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_two_sides has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_three_sides has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_three_quarter has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slab_steelblock_quarter has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner_cut has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner_cut_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer_cut_half has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner_cut_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_outer_cut_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:slope_steelblock_inner_half_raised has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_12 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:panel_steelblock_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_12 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_2 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_14 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_4 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_1 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:38: WARNING[Main]: Node moreblocks:micro_steelblock_15 has a palette, but not a suitable paramtype2.
2019-11-02 20:00:39: WARNING[Main]: Node moreblocks:super_glow_glass has a palette, but not a suitable paramtype2.
2019-11-02 20:00:39: WARNING[Main]: Node moreblocks:trap_super_glow_glass has a palette, but not a suitable paramtype2.
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:40: WARNING[Main]: No craft recipe matches input
2019-11-02 20:00:41: WARNING[Main]: Assignment to undeclared global "remove_crystal" inside a function at ...bin\..\mods\dreambuilder_modpack\display_blocks\init.lua:52.
2019-11-02 20:00:41: WARNING[Main]: Node 'light_source' value exceeds maximum, limiting to maximum: display_blocks:universia_base
2019-11-02 20:00:41: ACTION[Main]: MOD: Biofuel loading...
2019-11-02 20:00:41: ACTION[Main]: MOD: Biofuel version 0.5 loaded.
2019-11-02 20:00:43: WARNING[Main]: Node default:wood has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node default:fence_wood has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Field "light_propagates": Deprecated; determined from paramtype
2019-11-02 20:00:43: WARNING[Main]: Field "light_propagates": Deprecated; determined from paramtype
2019-11-02 20:00:43: WARNING[Main]: Field "light_propagates": Deprecated; determined from paramtype
2019-11-02 20:00:43: WARNING[Main]: Node default:stone_block has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node default:stone has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node default:cobble has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node moreblocks:circle_stone_bricks has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node moreblocks:iron_checker has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node moreblocks:wood_tile has a palette, but not a suitable paramtype2.
2019-11-02 20:00:43: WARNING[Main]: Node moreblocks:wood_tile_flipped has a palette, but not a suitable paramtype2.
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: vines:rope -> ropes:rope
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: vines:rope_end -> ropes:rope_bottom
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: vines:rope_block -> ropes:steel5rope_block
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: technic:panel_concrete_bottom -> technic:panel_concrete
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: technic:micro_concrete_bottom -> technic:micro_concrete
2019-11-02 20:00:44: ACTION[Main]: [modutil] loading translations
2019-11-02 20:00:44: ACTION[Main]: [modutil] loaded translations
2019-11-02 20:00:44: WARNING[Main]: Undeclared global variable "api" accessed at ...1.0-win64\bin\..\mods\Basics\factory/util/compat_nei.lua:1
2019-11-02 20:00:44: WARNING[Main]: Undeclared global variable "api" accessed at ...1.0-win64\bin\..\mods\Basics\factory/util/compat_nei.lua:29
2019-11-02 20:00:44: WARNING[Main]: Not registering alias, item with same name is already defined: factory:belt_straight -> factory:belt
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: moreblocks:oerkkiblock -> gloopblocks:oerkki_block
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:glowlight_half_max -> homedecor:glowlight_half_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:glowlight_quarter_max -> homedecor:glowlight_quarter_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:glowlight_small_cube_max -> homedecor:glowlight_small_cube_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:plasma_lamp_max -> homedecor:plasma_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:ground_lantern_max -> homedecor:ground_lantern_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:hanging_lantern_max -> homedecor:hanging_lantern_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:ceiling_lantern_max -> homedecor:ceiling_lantern_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:lattice_lantern_large_max -> homedecor:lattice_lantern_large_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:lattice_lantern_small_max -> homedecor:lattice_lantern_small_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:desk_lamp_max -> homedecor:desk_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:ceiling_lamp_max -> homedecor:ceiling_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:table_lamp_max -> homedecor:table_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:standing_lamp_max -> homedecor:standing_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: 3dforniture:table_lamp_max -> homedecor:table_lamp_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:rope_light_on_floor_off -> homedecor:rope_light_on_floor_0
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:rope_light_on_ceiling_off -> homedecor:rope_light_on_ceiling_0
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:plasma_ball_off -> homedecor:plasma_ball_0
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:rope_light_on_floor_on -> homedecor:rope_light_on_floor_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:rope_light_on_ceiling_on -> homedecor:rope_light_on_ceiling_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: homedecor:plasma_ball_on -> homedecor:plasma_ball_14
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: 3dforniture:table_lamp -> homedecor:table_lamp_off
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone -> castle_masonry:stair_dungeon_stone
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_outer -> castle_masonry:stair_dungeon_stone_outer
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_inner -> castle_masonry:stair_dungeon_stone_inner
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_alt -> castle_masonry:stair_dungeon_stone_alt
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_alt_4 -> castle_masonry:stair_dungeon_stone_alt_4
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_half -> castle_masonry:stair_dungeon_stone_half
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_alt_1 -> castle_masonry:stair_dungeon_stone_alt_1
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_alt_2 -> castle_masonry:stair_dungeon_stone_alt_2
2019-11-02 20:00:47: WARNING[Main]: Not registering alias, item with same name is already defined: castle:stair_dungeon_stone_right_half -> castle_masonry:stair_dungeon_stone_right_half
2019-11-02 20:00:49: ACTION[Main]: World at [C:ENSORED\minetest-5.1.0-win64\bin\..\worlds\T007]
2019-11-02 20:00:49: ACTION[Main]: Server for gameid="not_minetest" listening on 0.0.0.0:50393.
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: mesecons_extrawires:corner_on
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: mesecons_extrawires:tjunction_on
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: mesecons_insulated:insulated_on
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_crosswalk
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_crosswalk_on_post
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_stop
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_stop_on_post
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_yield
2019-11-02 20:00:55: WARNING[Main]: NodeDefManager::deSerialize(): already defined with different ID: infrastructure:road_sign_yield_on_post
2019-11-02 20:00:59: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:00:59: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:00:59: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:00:59: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:00: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:01: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:01: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:01: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:01: WARNING[Main]: Irrlicht: PNG warning: iCCP: known incorrect sRGB profile
2019-11-02 20:01:02: ERROR[Main]: Client: Cannot create image from data of file "inventory_sorter_wand_amount.png"
2019-11-02 20:01:02: ERROR[Main]: Client: Cannot create image from data of file "inventory_sorter_wand_wear.png"
2019-11-02 20:01:02: ERROR[Main]: Client: Cannot create image from data of file "inventory_sorter_wand_wise.png"
2019-11-02 20:01:10: WARNING[Main]: TextureSource::getPalette(): the specified palette image "unifieddyes_palette_extended.png" is larger than 256 pixels, using the first 256.
2019-11-02 20:01:38: ACTION[Server]: singleplayer [127.0.0.1] joins game. 
2019-11-02 20:01:38: ACTION[Server]: singleplayer joins game. List of players: singleplayer
2019-11-02 20:01:38: WARNING[Server]: Map::getNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::removeNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::getNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::removeNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::getNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::removeNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::getNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Map::removeNodeMetadata(): Block not found
2019-11-02 20:01:38: WARNING[Server]: Assignment to undeclared global "diff" inside a function at ...-win64\bin\..\games\not_minetest\mods\hud_clock\init.lua:104.
2019-11-02 20:01:52: ERROR[Main]: ServerError: AsyncErr: Lua: finishGenRuntime error from mod 'basic_houses' in callback environment_OnGenerated(): "stairs:stair_pinewood" is not a registered node!
2019-11-02 20:01:52: ERROR[Main]: stack traceback:
2019-11-02 20:01:52: ERROR[Main]: 	[C]: in function 'set_node_at'
2019-11-02 20:01:52: ERROR[Main]: 	....0-win64\bin\..\mods\Need_cottages\basic_houses\init.lua:284: in function 'build_roof_and_gable'
2019-11-02 20:01:52: ERROR[Main]: 	....0-win64\bin\..\mods\Need_cottages\basic_houses\init.lua:707: in function 'simple_hut_place_hut_using_vm'
2019-11-02 20:01:52: ERROR[Main]: 	....0-win64\bin\..\mods\Need_cottages\basic_houses\init.lua:770: in function 'simple_hut_place_hut'
2019-11-02 20:01:52: ERROR[Main]: 	....0-win64\bin\..\mods\Need_cottages\basic_houses\init.lua:841: in function <....0-win64\bin\..\mods\Need_cottages\basic_houses\init.lua:797>
2019-11-02 20:01:52: ERROR[Main]: 	...ne\minetest-5.1.0-win64\bin\..\builtin\game\register.lua:429: in function <...ne\minetest-5.1.0-win64\bin\..\builtin\game\register.lua:413>
2019-11-02 20:01:52: ACTION[Server]: singleplayer leaves game. List of players: 
2019-11-02 20:01:52: ACTION[Main]: Server: Shutting down
2019-11-02 20:03:19: ERROR[Main]: Please choose a name!
I think the error message that appeared in the crash screen was this:
ServerError: AsyncErr: Lua: finishGenRuntime error from mod 'basic_houses' in callback environment_OnGenerated(): "stairs:stair_pinewood" is not a registered node!
There was also a similar crash on world creation, but I couldn't identify it in debug.txt

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Dreambuilder includes moreblocks, right? Every house with a pine roof will crash the game because moreblocks renamed the node to moreblocks:stair_pine_wood

If you can disable moreblocks through the Dreambuilder modpack, it may well work. Alternatively, maybe you can add an alias and get through. I've been going through the handle_schematics code and it's non-trivial to address it in this mod.

[EDIT]
Actually, it's not that bad.

In handle_schematics\replacements_wood.lua, line 200-201 is currently

Code: Select all

	replacements_group['wood'].add_material( {'pine' },           'default:', '','_wood','', '_tree',  '','_needles','','_sapling',
		'stairs:stair_', 'wood', 'stairs:slab_', 'wood',   'default:fence_','_wood',  'doors:gate_','_wood' );
Replace that with

Code: Select all

	if minetest.get_modpath("moreblocks") then
		replacements_group['wood'].add_material( {'pine' },           'default:', '','_wood','', '_tree',  '','_needles','','_sapling',
			'moreblocks:stair_', '_wood', 'moreblocks:slab_', '_wood',   'default:fence_','_wood',  'doors:gate_','_wood' );
	else
		replacements_group['wood'].add_material( {'pine' },           'default:', '','_wood','', '_tree',  '','_needles','','_sapling',
			'stairs:stair_', 'wood', 'stairs:slab_', 'wood',   'default:fence_','_wood',  'doors:gate_','_wood' );
	end
and it runs fine, either with or without moreblocks, and with or without a couple dozen mods selected more or less at random from the list in my install.
[/EDIT]

[EDIT2]
I still don't understand why some people like to stuff all those embedded spaces into their code. It just makes it hard to read, IMO.
[/EDIT2]

User avatar
ShallowDweller
Member
Posts: 77
Joined: Thu Nov 02, 2017 22:23

Re: [Mod] simple random houses spawning [basic_houses]

by ShallowDweller » Post

@ThorfinnS: Thanks! That change in the code solved the problem! :D

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Sokomine, wondering about the bigger picture you have in mind.

Long post; please bear with me.

Naming conventions are sometimes consistent within the mod maker's folio, but certainly not across mods. Constructing the names of all the nodes from new mods you want to handle is going to involve constant support from you. And even then, it's going to make a huge difference depending on what other mods are loaded. Stairsplus/moreblocks comes to mind immediately, but there are a plethora of fence and gate mods, and it would be pretty easy to construct a mod that made furnishings out of a variety of materials types that would make a mess of spaghetti coding to accommodate it all.

For example, all of runs' cool_trees are going to be a hassle, as they all have different mod names and the standard is similar but not identical to the default wood/apple tree; that is, the name of the tree does not appear in the node name at all. Sporax's add_trees adds a different wrinkle -- the pink apple tree gives different leaves and saplings, but the same default:tree and derivatives.

Maybe rather than adding to your work, it might be a better idea to just give in to the variant naming conventions. Just have a short version of the add.material function where you pass in the mod name and what you called the various nodes? Make it so it rewards the mod maker if he follows your naming convention, and you are not punished if he does not. Win-win.

Let's say you decided default's acacia is the naming convention you want to encourage. So, ideally, maybe the function call to add acacia should be

Code: Select all

add.material_basic("default","acacia")

and it generates all the other node names from that. If a hypothetical pear tree mod used the same naming standard, it might be added to your handle_schematics library by simply

Code: Select all

add.material_basic("my_pear_tree","pear")
But if the mod maker did not follow this naming convention, he would have to fill in all the blanks himself. runs' birch would have to use something like

Code: Select all

add.material_basic("birch", "birch","wood","trunk","leaves","sapling", "stairs:stair_birch_trunk", "stairs.slab_birch_trunk")
Since Sporax's pink apple uses all the same nodes as default's apple except leaves and saplings, that might be something like

Code: Select all

add.material_basic("add_trees", "pink_apple", "wood", "tree", "pink_apple_leaves", "pink_apple_sapling", "stairs:stair_wood", "stairs:slab_wood")
Possibly leaving a field blank or zero length means the same as "NONE" currently does, so just uses default(apple) nodes? Which would make Sporax's as simple as

Code: Select all

add.material_basic("add_trees", "pink_apple", "", "", "pink_apple_leaves", "pink_apple_sapling")
Since acacia could also auto-generate the fence, gate, and rail nodes, you could optionally add those, too. One could pass in any of the subsequent possible replacements (12-28, I think it was) as a table entry in the final parameter, if desired. Keys would be nice; have the function translate from key to index, so you don't have to change anything downstream.

Another advantage is that the mod maker himself takes care of the optional mods. You don't have to concern yourself with whether the mod maker chose to support moreblocks or not. He would do something like

Code: Select all

if minetest.get_modpath("moreblocks") then
	register_moreblocks_stairs_and_slabs(whatever)
	if minetest.get_modpath("basic_houses") then
		add.materials_basic("my_mod", "my_tree", "wood_name", "trunk_name" etc., with moreblocks names)
	end
else
	register_default_stairs_and_slabs(whatever)
	if minetest.get_modpath("basic_houses") then
		add.materials_basic("my_mod", "my_tree", "wood_name", "trunk_name" etc., with default stairs and slabs names)
	end
end
Not a criticism or anything. Just thinking how to make it easy to move forward while still maintaining backwards compatibility.

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

I'm not trying to be a jerk. Sorry if it came out that way. I'm genuinely curious as to your vision. Do you want to be the gatekeeper of what materials (and possibly building designs) get incorporated, or do you see more of a hands-off approach, like register_stairs_and_slabs, where the modder himself is responsible for how his world turns out, and basic_houses is just one of his many tools?

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

ThorfinnS wrote: Does that mean you recommend not using moreblocks? Or is it needed for other stuff?
I definitely do like and recommend moreblocks. I even wrote the original circular saw in it :-) What I didn't take into account sufficiently where other combinations of moreblocks and moretrees. My worlds used for development usually get a diffrent set of mods then worlds where I actually build something.
ThorfinnS wrote: If so, I'll suggest to one of the kids he hold off for a bit about making his feudal version of basic_houses. That would make it much easier and more flexible.
Hm, basic_houses does differ in one other point from mg_villages - it uses a function to generate the houses. The ones in mg_villages are pre-built. Depending on what you want, it might be easier to just build some fitting houses, save them and combine them into a new village type. The only thing that's stopping mg_villages from creating something more modern is size (modern towns are usually larger than medieval villages) and lack of overall structure (the amount of each type of building can be limited, but there are no areas reserved for living/production/bueros/shopping/etc).

Creating well-looking houses procedurally is more challenging.
ThorfinnS wrote: [EDIT2]
I still don't understand why some people like to stuff all those embedded spaces into their code. It just makes it hard to read, IMO.
[/EDIT2]
The intention is to have each variable in similar function calls start at the same row. The functions admittedly do have too many parameters.
ThorfinnS wrote: Naming conventions are sometimes consistent within the mod maker's folio, but certainly not across mods. Constructing the names of all the nodes from new mods you want to handle is going to involve constant support from you.
Whom do you tell :/
ThorfinnS wrote: And even then, it's going to make a huge difference depending on what other mods are loaded. Stairsplus/moreblocks comes to mind immediately, but there are a plethora of fence and gate mods, and it would be pretty easy to construct a mod that made furnishings out of a variety of materials types that would make a mess of spaghetti coding to accommodate it all.
Stairsplus will probably always need extra handling. But you're right...mods that add gates and furnishing ought to be added more easily. However...these mods themshelves do get into trouble as they don't know about all those tree mods out there.
ThorfinnS wrote: Maybe rather than adding to your work, it might be a better idea to just give in to the variant naming conventions. Just have a short version of the add.material function where you pass in the mod name and what you called the various nodes? Make it so it rewards the mod maker if he follows your naming convention, and you are not punished if he does not. Win-win.
If there actually where any existing naming conventions people would follow, all those replacements would be way easier. Sadly, not even default is consistent in this regard, and some modders even frown upon default and seem to like no common standards at all. The table replacements_group is an attempt to work around this. There are already exceptions for the old but still nice Realtest game (mg_villages looks very fine there), ethereal and Mineclone2 (to some degree).

My treeslib mod was an approach to handle...well, things that are tree-like: grows from a sapling, has leaf-like things that drop saplings. It is very flexible as to how the tree will grow (schematic, L-system like in moretrees, or using a function). And it does handle the registration of all necessary nodes (trunk, wood, leaves, saplings, fruits, ..). The potential user of the lib just has to provide textures and names. Actual spawning of the trees via registration in biomes is not handled. As treeslib provides a name scheme, it would be very easy to i.e. provide a new type of furniture for each registered type of wood. Or to change the drawtype / walkability / climbability of leaves of all tree types.
ThorfinnS wrote: But if the mod maker did not follow this naming convention, he would have to fill in all the blanks himself.
That'd be possible, but...how to get other modders to add those lines? You'd have to ask each one seperately, forking some older mods.
ThorfinnS wrote: I'm not trying to be a jerk. Sorry if it came out that way. I'm genuinely curious as to your vision.
Oh no, don't worry! It's great if someone's intrested in my mods. I just had far too little time the last days and weeks. The few times I fired up MT, i ended up tiredly walking around and catching petz (takes far less concentration than programming).
ThorfinnS wrote: Do you want to be the gatekeeper of what materials (and possibly building designs) get incorporated,
I try to design my mods so that other mods can interface with them easily. There're very seldom local functions. Allmost all is accessible in tables.

basic_houses is less extensible in this regard as it's mostly a function that generates houses (plus the placement part). mg_villages in contrast supports village types created by players. All those village_*-types found on my github page are mostly intended as examples of what you can do.
ThorfinnS wrote: or do you see more of a hands-off approach, like register_stairs_and_slabs, where the modder himself is responsible for how his world turns out, and basic_houses is just one of his many tools?
basic_houses is intended to be a smaller mod that adds some houses where players are invited to decorate and extend them. It's mostly a mod for players. handle_schematics is the lib (though not yet properly seperated from mg_villages).

I'd really love to see some standards, naming conventions and in particular libraries becomming used. It's just that modders are very reluctant when it comes to libraries...and who shall blame them? treeslib for example definitely needs more work. Even a rewrite would be ok. But in order to get it to become really useful, it'd have to be shipped with MT. Libs that are not installed are a problem.
A list of my mods can be found here.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] simple random houses spawning [basic_houses]

by Sokomine » Post

Please try again. I've added handling of aliases in basic_houses. And if in doubt, air is used instead of crashing. However, still I strongly recommend using moreblocks in worlds where you want to build as it's such a useful mod.
A list of my mods can be found here.

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Sokomine wrote:Please try again. I've added handling of aliases in basic_houses. And if in doubt, air is used instead of crashing. However, still I strongly recommend using moreblocks in worlds where you want to build as it's such a useful mod.
-We've been using moreblocks on two of the servers we run since we added the pine stair coding. It's the reason I've been thinking through how to better accommodate variant naming schemes.

But it looks like our base pulls of handle_schematics and basic_houses are current. Did you not upload them to git? Looks like the last update was a couple weeks ago.

ThorfinnS
Member
Posts: 311
Joined: Mon Feb 25, 2019 22:05
GitHub: ThorfinnS

Re: [Mod] simple random houses spawning [basic_houses]

by ThorfinnS » Post

Oh, by the way, basic_houses has become one of the more popular mods on the current servers. Rather than just starting to build somewhere close to origin, players go around looking for attractive houses with a good view to use as a starting point.

The more scripting-inclined have been adding different building materials. For instance, darkage:ors isn't very good, but ors_brick looks very nice. Chalked_brick is attractive. Adding those materials to your list is now a one-line function call from an external tweak mod, and we'll put together a pull maybe next week after we've had enough experience with testing. And trees have obviously been an issue, one that cannot be resolved externally under the current method of building the various node names, so far as I can tell. Maybe something like passing in Ctrl-H to destructive backspace through the names you are concatenating, but that seems needlessly complex. And like I hinted above, there are a couple who are trying their hand at changing the footprint of the building.

But like I said, definitely these houses are a draw to the computer lab, both for players and scripters.

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 20 guests