Time Nick Message 00:05 BillyS I'm back with more packets :P 00:05 BillyS Trying to figure out the TOSERVER_INIT 00:07 BillyS I can't figure out what parts are what though 00:07 BillyS I know the form of it 00:07 BillyS But I can't figure out where one part ends and another starts 00:40 BillyS I'm missing something here; I know that much ... 01:11 rdococ WTFUYGPL: Do whatever you want with it, unless you're Google. 10:41 rubenwardy https://i.rubenwardy.com/iJ8Zd.png 12:03 IhrFussel Is it a guest restriction or can the MT forum actually really not link you directly to the page of the search results? Like when I search for a term I only get linked to the general topic of where it was mentioned 12:04 rubenwardy search posts, not topics 12:05 IhrFussel Ah thanks...that makes more sense now 13:55 shivajiva I'd like to publicly thank rubenwardy and Shara for their efforts promoting minetest at the recent Freenode Live event for the second year running. The minetest community is indebted to your efforts and behalf of us all thank you both :D 16:30 rubenwardy shivajiva: thanks :) 16:42 GreenDimond So I did a register_decoration (copied it from kelp and modified it) but nothing is generating 16:44 GreenDimond https://gist.github.com/GreenXenith/d61bb7a37718ae4895dd0abb9f2d42a8 16:58 Jordach GreenDimond: check engine version 17:01 shivajiva you using a v7 map? 17:01 GreenDimond Using a v7 map with 5.0 17:05 GreenDimond ill update my copy jic 17:08 GreenDimond yeah still nada 17:11 GreenDimond kelp spawns just fine 17:32 garywhite GreenDimond: Is your server live? 17:34 GreenDimond What? 17:35 GreenDimond garywhite: Wth does that have to do with registering decorations? 17:36 rubenwardy probably nothing? 17:36 rubenwardy !server green 17:36 MinetestBot rubenwardy: No results 17:36 rubenwardy oh wait, do you have a server? 17:36 GreenDimond No 17:36 GreenDimond Thats why im confused 17:38 Fixer f--- 17:38 Fixer left mouse button have died 17:38 Fixer kinda 17:41 garywhite I was just wondering cause 5.0 is not a good idea rn if you want to get any players 17:41 * garywhite is now realizing how offtopic his comment was & fades out 17:48 rubenwardy it's a good idea if you're making a game, garywhite 17:48 rubenwardy by the time you finish the game, MTv5 will be out 17:50 Krock (so please finish it soon) 17:52 GreenDimond Well I aint making a game :P 17:56 rubenwardy dooo ittt 17:56 Krock ineeeedit 18:00 IhrFussel No server that values playerbase will upgrade to 5.0.0 at release...you can also just shutdown entirely 18:02 Krock Guide How To Start A Long Discussion Now: 18:02 IhrFussel First hope that many people will find "Minetest" on the playstore since the 3rd-party apps don't intend to upgrade at release the official MT app will be the only way (it seems) to connect to 5.0.0 servers on Android ... 2. Accept that you lose iOS playerbase for now 3. Pray that the casuals decide to check for a new MT version on PC 18:02 Krock > Just drop these low quality players and improve the quality of your server 18:03 Krock Let's see whether it works :D 18:04 IhrFussel Face the fact that ~ 85% (or even 90%?) play on phones/tablets according to latest MT stats 18:06 IhrFussel The device you play on doesn't determine the build quality... some mobile users can build more creative than most PC veterans 18:06 GreenDimond ^ 18:07 IhrFussel Also (already mentioned by someone in the past) -> Not every server needs good builders... what a server needs depends on the theme/mods it uses 18:07 sfan5 you're misinterpresting correlation for causation 18:08 Krock aren't the server list stats per-hit, rather than per IP? 18:10 Krock yeah, looks like it. 18:11 rubenwardy Could just turn off the server list for 0.4.x 18:11 rubenwardy Players would leave unofficial apps fast 18:11 Krock >:D 18:11 rubenwardy (:< 18:12 Krock that's one of the most evil but genius ideas here 18:13 rubenwardy Occasionally, I can provide 18:13 rubenwardy Being more serious: this is what a proprietary system would do 18:13 rubenwardy Forced updates 18:14 rubenwardy Tbh, a lazy app developer would just make their own server list 18:14 Krock Don't worry, people only use it because it's needed for advanced production software and some games 18:14 Krock ^ "it" = the "Forced updates" system 18:19 sofar rubenwardy: idea 18:19 rubenwardy Oh no 18:19 sofar rubenwardy: do not turn off the server list for 0.4.x, instead, put ONE server in it that has all the info for players to figure out what to do 18:20 GreenDimond Why not just replace the server list with the info 18:20 GreenDimond Oh right 18:20 sofar static world with no edit privs, shows player why they see it etc. 18:21 GreenDimond Because the servers in the list are the only part you can control without the client updating 18:27 Krock Servers for 0.4.x clients: "Update to" "Minetest 5.0" "now, get it" "from the Appstore" "or the official" "website. kthxbai" 18:29 sofar something like that, and direct all those to an actually running MT server where they can see further instructions (screenshots) after they log in 18:29 sofar shouldn't be too hard to do :) 18:29 sofar just make a skybox with screenshots and remove everything from the world 18:39 garywhite That reminds me of a question: Does anyone have any idea as to the timeline for 5.0? Cause based on the usual release cycle it'd be in December, I think 18:40 rubenwardy About there 18:40 rubenwardy Depends on blockers 18:40 GreenDimond plz get the set_sky and pitch/roll PRs merged 18:40 GreenDimond plz 18:45 GreenDimond oh and https://github.com/minetest/minetest/issues/6986 might be nice 18:45 Krock PRs welcome 18:46 GreenDimond I dont know C++ or I totally would 18:51 Shara In case anyone here can solve it... I'm having issues with on_place when trying to capture the position a node is placed in 18:52 Shara It can capture pointed_thing, but I could either be pointing at a buildable to node, or to a node at it's side... so pointed_thing won't always give the correct pos 18:53 Shara It feels like this is a thing that should be easily solvable but... drawing blanks 18:53 T4im what do you mean correct pos? 18:54 T4im switching above and under perhaps? 18:54 Shara Okay, summary: 18:54 Shara When placing grass I want to check if there is already a grass node in that position 18:54 T4im yes, depending on whether you are pointing at the grass node itself or the node the grass is placed upon it might be either under or above of pointed thing 18:55 Shara So I can point at the grass and check pointed_thing.under 18:55 T4im yea 18:55 Shara But if there is a node to the side that I target instead, suddenly I'd need pointed_thing.above 18:55 Shara What I want is just to get the pos where I'll be placing the node, no matter where I'm pointing 18:56 T4im well, that logic is happening inside of on_place; if you replace that funciton you will have to do the whole shebang yourself 18:56 T4im if you want to avoid it, use after_place_node if you can 18:56 T4im consider on_place a "low level" hook 18:56 Shara That's after the node is actually placed though, which as far as I'm aware means it's, well, placed 18:57 Shara And that defeats the whole purpose since I'm trying to prevent placement under certain conditions 18:57 T4im alternatively try to call the default on_place from inside your own on_place 18:57 T4im hmm 18:57 Shara I really don't want to roll my own here. 18:57 Shara I guess I am mostly curious why on_place is lacking the ability to capture something so basic 18:57 T4im because it's a low level method 18:58 T4im :D 18:58 Shara Heh, kind of a non-answer really 18:58 T4im there might be a need for a can_place perhaps 18:58 T4im it might cover a bunch of use cases where people would otherwise roll their own on_place 18:59 Shara Well, it's mainly to prevent placing grass on grass and losing grass (because buildable to) 18:59 Shara But also because when using random plant placement on_place, it would stopt he plant randomly switching from what it was 18:59 Shara It's a pretty minor thing really, but has been bugging me 19:00 T4im hehe, yea 19:01 BillyS meep! 19:01 BillyS Hi everyone 19:02 T4im well, check pointed_thing under, if it is self, abort, if it is buildable_to, pass to the default on_place, otherwise check above, if that is self abort again, otherwise just pass to the default placement function, that way you don't need to handle any actual placement, shift-pass-through, protection, etc 19:03 T4im self, since you probably don't just want to do that with grass but also flowers :p 19:03 Shara But you end up with weird situations where something can or can't be placed when it should/should not be 19:04 T4im like what? 19:04 T4im or practically only added 2 abort scenarios there and in all others pass through to the default 19:05 T4im which sounded like what you wanted :) 19:05 Shara Because how do we ever know which position was the one that needed to be checked? 19:05 T4im you wouldn't need to know.. what for? 19:06 Shara Feels like you are going to get false positives when checking 19:06 Krock meep BillyS 19:06 T4im you check under for buildable_to, which covers the replacement of buildable to scenario (in which case you either pass further or abort if you'd replace self) 19:07 T4im and then you handle the rest 19:07 BillyS meep Krock 19:07 BillyS Trying to figure out MT packet code 19:07 T4im think of pointed_thing.above to be the default placement, that is you place something on top of the face you are pointing at 19:08 Shara Yes, though here the default is more likely to be .under 19:08 T4im but then there is the exception case where you pointed at something that you can build to... something buildable_to, so you need to prefix a test for that scenario in which you would replace the thing you point at 19:08 BillyS To quote VE quoting a modified quote of someone else: "If you think you understand MineTest networking, you don’t understand MineTest networking." 19:08 Krock regarding buildable_to, this would be the relevant built-in code called by a default on_place https://github.com/minetest/minetest/blob/master/builtin/game/item.lua#L289 19:08 IhrFussel One can also always use minetest.remove_node() in any callback...the visual effect should be the same if placing it not allowed 19:08 Krock BillyS: not quite true 19:08 IhrFussel is* 19:08 BillyS Krock: Okay, maybe celeron understands it. :P 19:08 Krock remove_node sounds dangerous if there was something else in the same spot 19:09 T4im Shara: practically i don't see a way for false positives there, because you are doing both possible cases and add an exception to each to them 19:09 Krock BillyS: I don't find the packet structure too complicated, you might also want to ask nerzhul for more connection-based questions 19:09 Shara It all feels rather messy when all I want is to check the pos I'm actually trying to place a thing on 19:09 T4im but that pos isn't known until you checked for buildable_to 19:10 T4im buildable_to *defines* the position 19:10 Krock ^ 19:10 BillyS Krock: Yeah, the structure isn't that complicated. I'm just trying to figure out how to parse the actual data the packets contain 19:10 Shara Well, buildable_to isn't always going to be relevant in this case either 19:10 T4im it is, because it tells you if you want above or under 19:10 Shara I'll poke it some more at some point though 19:10 T4im it is *always* relevans 19:10 T4im relevant* 19:11 Krock *waits inactively for 1 hour to see whether Shara noticed that it will be relevant* 19:11 T4im haha 19:12 T4im think about grass for a second as if it was a solid block like dirt.. you can place something on top of that grass by using above 19:13 T4im but now you actually don't want that, you want to replace things like that, that aren't considered solid, but replaceable 19:13 T4im so you introduce a flag, lets call it buildable_to 19:13 Shara You're trying to solve a slightly different problem from mine from what I see 19:14 T4im no i'm trying to explain the idea behing above/under and why it is necessary to check buildable_to, and then in both these cases add grass or the flower as the exception in which you don't pass to the default on_place function 19:14 Shara Yes, and for a slightly different problem than mine that would work 19:14 Shara What you actually seem to want is an excuse to belittle and "haha" at me. 19:15 T4im maybe i missunderstood your problem then 19:15 T4im no 19:15 Shara Well I haven't gone into much depth because I mostly wanted to check if I was missing something that would just easily give me the position 19:15 T4im pardon me, if i get over condescending, that is by no means my intention 19:15 Andrey01 hi, is there any way to check whether is this area loaded where a player is being? 19:15 T4im yes, buildable_to does 19:15 GreenDimond If a player is in it, it is loaded, Andrey01. 19:17 T4im there might be a utility function around that does the same thing somewhere 19:18 T4im the problem with that code is that it will become annoyingly verbose, because of all the "is this defined or content_ignore?" checks 19:18 T4im but i don't think that you'll get around that 19:19 Andrey01 just if in minetest.register_on_joinplayer() call minetest.get_node(pos).name ("pos" is some known coordinates of a node near a player that has just joined) it will give "ignore" 19:20 T4im Andrey01: ignore means in that case indeed, that the area is not loaded 19:20 T4im node_or_nil would return nil in that same case 19:21 IhrFussel Andrey01, put the check inside minetest.after() 19:21 T4im yes ^ that should work 19:22 * T4im missed the actual problem there :x 19:22 IhrFussel minetest.after(0,functionname) I think... 0 should be enough 19:22 Andrey01 ok 19:22 IhrFussel It means it waits exactly 1 server step 19:25 T4im Shara: well, i'm sorry, could certainly have handled all of that better, i hope you can forgive me :) 19:51 IhrFussel Andrey01, let us know if it worked