Time Nick Message 08:42 rubenwardy split default into smaller mods: https://github.com/rubenwardy/minetest_game/tree/split 08:42 rubenwardy WIP 08:48 T4im +1 nice 08:50 T4im I always wondered why nyancats were considered a "fallback if nothing better was provided" ;) 08:51 rubenwardy the aim is: 08:51 rubenwardy default_natural for dirt and stone and mapgen things 08:51 rubenwardy default_ores 08:51 rubenwardy mese 08:51 rubenwardy nyancats 08:52 rubenwardy default which includes all the other mods, for backwards compatibility 08:52 rubenwardy furnace 08:52 rubenwardy tools 08:58 T4im why the dependency from default onto the other things? most mods include the depends on default through copypasta, and as long as it contains the fundamental things that everything really depends on (like constants), I can't see, where you would need it 08:59 rubenwardy you need to (opt)depend on things you're adding to craft recipes, afaik 08:59 rubenwardy I'll test 09:00 rubenwardy It'll make it a lot easier if default can be a functions only thing 09:00 rubenwardy currently I have to use default_util so that default_natural etc can use default* functions, as default is loaded last 09:00 T4im there's no issue with that afaik, as long as the inventory guides filter it appropriately (UI did show recipes with unknown items in the past, not anymore afaik) 09:01 T4im the only thing you end up having is, that the recipes that have the dependency not fullfilled are not craftable (obviously, since you don't have the materials!) 09:02 T4im and perhaps a few exceptional nodes like water might be needed as base 09:02 rubenwardy why? 09:02 rubenwardy what if a mod does minetest.registered_nodes["default:dirt"] 09:03 rubenwardy or minetest.override_item 09:03 T4im aliased properly? 09:03 rubenwardy yeah 09:03 T4im if its not available, you get your typical unknown node 09:03 rubenwardy but it won't be loaded at that point 09:04 rubenwardy say default A default_natural is the load order 09:04 rubenwardy because A depends on default 09:04 T4im might I suggest: use "vanilla" for everything that you can't sort into a clear category, and let that one depend on all the others instead of default 09:04 rubenwardy if A tries to do minetest.override_item then is fails 09:04 rubenwardy if the item is in default_natural 09:04 rubenwardy no, T4im, it must be backwards compatible 09:05 T4im aren't game mods loaded before all non-game mods? 09:06 rubenwardy not sure 09:06 rubenwardy what if they add a mod to the game? 09:06 rubenwardy anyway, gtg, I'll read the chat 09:06 T4im then they still have the old version without the split 09:06 est31 AFAIK you can add crafts for items that don't exist 09:06 est31 it doesnt work with node ids, it works with strings 09:06 T4im if they update with split, then should also update their dependencies 09:07 est31 and craft guides cant depend on every mod 09:07 est31 what they do instead is to execute code directly after world start 09:07 est31 like minetest.register_globalstep 09:07 T4im yea, that part isn't the issue :D 09:07 T4im actually I don't think there's any issue, but that part was the least 09:07 est31 or minetest.after forgot 09:07 est31 there are some issues however 09:08 est31 effectively its an API break 09:08 est31 but honestly I dont have much problems with it 09:08 est31 after all, its server only code 09:08 est31 so nothing that touches the network 09:09 T4im yea.. you could probably see it as api break.. though only because the vanilla game became api, which it never should have :P 09:09 est31 also its minetest_game, thats less stable than the engine api, as you point out 09:10 T4im it is a reference implementation turned api... turning it back to a reference implementation might be a good thing :) 09:10 est31 I guess its both 09:10 T4im well,.. ok. yea :D 09:10 est31 but I'm not involved in mtgame development 09:10 est31 I do engine only 09:11 T4im what part mostly btw? what to pester you about? x) 09:13 T4im (ok, I get it, dangerous thing to answer :P) 09:15 est31 lol 09:15 est31 I am mostly familiar with the code I worked with 09:16 T4im :D 09:16 est31 which is mid level network, authentication (including init protocol which was implemented and partly designed by me), crafting (I had a speedup patch in april), some parts of the API, areastore, etc. 09:17 T4im rubenwardy: anyway, if you have game mods run before custom mods, you always have the game mods in a consistent state with whatever you split or do not split, as custom games will have their own split/unsplit version of default/vanilla/whatever 09:18 T4im est31: nice, so more universal than specialized :D 09:18 est31 yea sorta 09:19 T4im hmm.. weren't there some efforts to get crafting recipe removal/deactivation into the engine half a year ago? 09:19 est31 yes 09:21 est31 the dude made multiple PRs, two crafting related, one, the speedup made it in because I lobbied for it, the other one is still rotting, like so many other changes 09:21 T4im :/ 09:21 est31 crafting is one of those things that are highly complicated 09:21 est31 its almost as complicated as inventory movements 09:22 est31 complicated is the wrong term 09:22 T4im and potentially error prone, I guess.. 09:22 est31 "hard to change" is a better one 09:22 est31 yea 09:22 T4im many special cases to consider etc 09:22 est31 the moment you touch the code, you have a regression at hand 09:22 T4im I can imagine :( 09:23 est31 later on you get a bug report by an user, and realize a tiny little edge case that triggered it 09:23 est31 then you fix, and the fix has bugs as well 09:38 celeron55 if someone wants to touch crafting, unit tests can help a lot 09:59 est31 unit tests work well as regression insurance 10:00 est31 e.g. you have a regression, you fix it and add an unit test to never have that kind of regression again 10:00 est31 also partly they work to prevent regressions the first place 10:01 est31 but best is a good userbase which reports bugs quickly :) 10:01 est31 but yeah, minetest should have more unit tests 10:01 est31 especially in lua 10:05 T4im tgey can also help find yet undiscovered bugs, if you put time into it.. but yea.. even if more people would attach tests to their bugsreports, the testbase would grow sufficient over time 10:05 T4im they* 10:06 * T4im already attaches one to any of his bugreports, if it's testable 10:07 T4im though, there are occasionally some things that would help in doing that, like #3161 10:07 ShadowBot https://github.com/minetest/minetest/issues/3161 -- ScriptApiItem::getItemCallback does not accept __call-able tables 10:17 T4im or #3162 10:18 ShadowBot https://github.com/minetest/minetest/issues/3162 -- Provide commandline option to set individual settings 10:19 RealBadAngel hi est31 10:38 est31 hi RealBadAngel 12:22 Megaf hm, cmake doesnt show a message about LuaJIT when it finds it, only when it doesnt, then it says that it will use the bundled one. https://paste.debian.net/plain/311041 12:35 red1 could It be made more clear that minetest.get node group doesn't work anymore? 12:37 Megaf Little help? https://paste.debian.net/plain/311043 failed related to JSON when linking 12:46 Megaf Perhaps Minetest doesnt support the latest JSONCPP 13:00 Megaf Yep, compiles just fine with bundled jsoncpp 13:15 T4im red1: what's the issue #? can't find it 13:16 red1 What issue? 13:17 T4im have you opened an issue on github about this? 13:18 red1 no I thought it was deprecated. But the wiki and docs weren't updated 13:18 red1 I will open an issue then 13:19 T4im doc indeed states its deprecation, but if it isn't working it should probably either be removed from the doc completetly, or still be aliases to the former 13:23 red1 well the wiki isn't to clear on it. It says " returns rating. " 13:24 T4im docs/lua_api.txt: * Deprecated: An alias for the former. <-- implies it is working 13:24 T4im its just a minor issue, though, don't expect it to be solved too soon, just open the issue and wait x) 13:25 red1 Also what does get_node_level have to do with groups? 16:50 paramat sfan5 what do you think about game#666 ? 16:50 ShadowBot https://github.com/minetest/minetest_game/issues/666 -- Flowers: Make flowers wave when waving shader enabled by paramat 16:51 VanessaE so you're essentially turning "default" into a mini modpack? 16:51 VanessaE oops, that was old stuff. 16:51 VanessaE rubenwardy: ^^^^^ 16:52 rubenwardy basically 16:52 rubenwardy it makes it more modular 16:52 rubenwardy and easier to disable / override certain bits 19:39 RealBadAngel #3166 19:39 ShadowBot https://github.com/minetest/minetest/issues/3166 -- Send to clients only changed node metadata instad of whole mapblock by RealBadAngel