Time Nick Message 00:11 cheapie Digtron but it's on a budget: https://cheapiesystems.com/media/VID_20250826_123715.webm 00:23 ireallyhateirc now you don't have to touch the mouse anymore 00:24 cheapie Also random code for a Beduino IOT sensor acting as a red mud filter controller, expects port 0 to be the pump, port 1 to be a stacklight ("signal tower"), and port 3 to be a signs bot with a sign already set up to clean it: https://gist.github.com/cheapie/b9cc8962fd314cdf72c706e6f9b0bc58 02:07 repetitivestrain sfan5: https://github.com/luanti-org/luanti/pull/16397#discussion_r2298200571 is not correct, because biome maps are not generated in the 1 block margin around each emerge, and the built-in mapgens strictly generate decorations within the minp and maxp provided to on_generate 02:08 repetitivestrain therefore default_pmin and default_pmax must be the extents of the mapchunk rather than the emerge area 02:12 repetitivestrain to illustrate, Decoration::placeDeco calculates biome map indexes thus: 02:12 repetitivestrain int mapindex = carea_size * (z - nmin.Z) + (x - nmin.X); 02:12 repetitivestrain and carea_size is: 02:12 repetitivestrain int carea_size = nmax.X - nmin.X + 1; 02:12 repetitivestrain and in mgv7 decorations and ores are placed within (node_min, node_max), variables derived from the blockpos_min and blockpos_max in the BlockMakeData, which hold the extents of the current chunk and are initialized from the same in ServerMap::initBlockMake: 02:12 repetitivestrain v3s16 bpmin = EmergeManager::getContainingChunk(blockpos, csize, chunk_origin); 02:12 repetitivestrain data->blockpos_min = bpmin; 02:55 cheapie Set up a nice display of all of the fluid levels: https://cheapiesystems.com/media/images/screenshot_20250826_214310.png 02:56 cheapie ...still written in vm16 assembly (and the code is somewhat of a mess) because I still haven't bothered to learn that other language, even though it's using a Beduino...