Minetest logo

IRC log for #minetest, 2017-10-31

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:11 est31 joined #minetest
00:15 QwertyDragon there are none :(
00:16 QwertyDragon at least yet
00:21 GreenDimond joined #minetest
00:21 CalebDavis hi GD
00:22 GreenDimond I am using placer:get_player_name in my mod, but I keep getting an attempt to call method 'get_player_name' (a nile value) error
00:22 GreenDimond Any idea why?
00:22 GreenDimond (this is inside a node def
00:22 GreenDimond )*
00:23 EinChan left #minetest
00:23 Fixer suspicious
00:23 Fixer hmmm
00:23 CalebDavis the only reason that i can think of is a nil placer
00:23 GreenDimond I am using it as `local player = placer:get_player_name()` inside on_place, after_place_node, and on_dig
00:25 GreenDimond Also, the reason I have it is for `player:set_attribute`.
00:26 GreenDimond When I use `local player = player:get_player_name()` then I get the error "attempt to call method 'get_attribute' (a nil value)"
00:26 GreenDimond oh, I also have it for get_att (obviously)
00:27 Fixer nil users... is this related in any way? https://github.com/minetest/minetest/pull/5819
00:28 GreenDimond I don't think so
00:28 jas_ can you paste the code somewhere?  maybe a gist or pastebin
00:28 GreenDimond sure
00:31 GreenDimond http://paste.ubuntu.com/25854950/
00:32 GreenDimond (jas_)^
00:33 jas_ also useful is the output of debug.txt
00:33 GreenDimond aka useless
00:33 GreenDimond but ill check
00:33 jas_ player:set_attribute(has_placed_mynode, "true") <-- "has_placed_mynode" ?
00:34 jas_ is there a `has_placed_mynode` variable?
00:34 jas_ debug.txt is useful because i don't know the line numbers
00:34 jas_ gotta shower glhf o/
00:35 GreenDimond wait..
00:35 GreenDimond I thought the has_placed_mynode was just an attribute name
00:35 GreenDimond I can define it as whatever
00:37 lumberJ i don't think the on_place function takes those parameters, GreenDimond
00:37 lumberJ see the api: on_place = func(itemstack, placer, pointed_thing)
00:38 GreenDimond The goal is to make it so the player can only place one of these nodes at a time
00:38 lumberJ you mean, if one is placed anywhere, the player can't place another?
00:38 GreenDimond correct
00:39 GreenDimond and if it is dug, then they can place it again
00:39 soloojos joined #minetest
00:39 GreenDimond They can only have one existing at a time
00:39 lumberJ maybe just set a variable outside the registry that takes a boolean value
00:39 lumberJ or rather it might have to be a table that takes the players names and a boolean
00:40 lumberJ if you are planning to use it on multiplayer server
00:40 GreenDimond Yes I plan to use it on a multiplayer server
00:40 GreenDimond I thought player attributes would work for that though
00:41 lumberJ hmm, let me take a closer look at your code
00:41 lumberJ but on_place = function(pos, player, placer, itemstack)
00:41 GreenDimond there maybe extra stuff in the function() stuff
00:41 GreenDimond I was just strying things
00:41 GreenDimond trying*
00:41 lumberJ probably won't work because those aren't the params that on_place takes
00:42 GreenDimond well (itemstack, placer) is probly all I need
00:43 GreenDimond what I dont get
00:43 GreenDimond is that local owner = placer:get_player_name() works in the after_place_node
00:46 lumberJ thats because you set that function up correctly, i would guess
00:47 lumberJ it takes the params that you are passing to it
00:48 GreenDimond but its the same params
00:48 GreenDimond (pos, placer, itemstack)
00:49 lumberJ also i think to reference the player attributes can access it directly via placer:get_attribute(attribute)
00:49 lumberJ see the api though. after_placen_node and on_place don't take the same attributes like you have it in your code
00:50 lumberJ on place only takes itemstack, placer, pointed thing
00:50 lumberJ which is different from what you have in your code
00:50 GreenDimond all I need is itemstack and placer though
00:51 GreenDimond after_place_node = function(pos, placer, itemstack)
00:51 GreenDimond the pos is used for other stuff in that function
00:51 GreenDimond so the only other ones are placer and itemstack
00:51 lumberJ so just change it to the proper function but only reference the values you need
00:51 GreenDimond 'proper function'
00:51 GreenDimond ?
00:52 lumberJ the function is hard coded into the game engine so you have to use the params that called for in the api
00:52 lumberJ but that doesn't mean you actually have to use them in the code that you put in the function
00:52 GreenDimond alright, so I changed it to `function(placer, itemstack)`
00:52 lumberJ but the values will get passed into the function regardless
00:52 GreenDimond (for on_place)
00:52 GreenDimond yet it still doesnt work
00:53 GreenDimond I have also tried get_player_by_name(name) with no luck
00:53 CalebDavis the placer is the player object
00:53 lumberJ i think it will need to be: func(itemstack, placer, pointed_thing)
00:53 lumberJ you just don't have to do anything with the pointed_thing value
00:54 lumberJ so as for the player attribute thing
00:54 GreenDimond so I still need `local player = placer:get_player_name()` yes?
00:54 lumberJ there is the player object and player name
00:54 lumberJ if i understand what the api says you need the player object, not the names
00:54 lumberJ so in this case that is represented by placer
00:54 GreenDimond oh...
00:55 lumberJ so placer:set_attribute(attribute, value) should do it
00:55 CalebDavis yes
00:55 GreenDimond does attribute need to be in quotes?
00:55 GreenDimond or just value?
00:56 CalebDavis the atribute does the value can be anything
00:56 GreenDimond well it is `if placer:get_attribute(has_placed_mynode, "true") then`
00:56 GreenDimond (currently)
00:56 lumberJ 'get_attribute(attribute) — returns the value for the extra player attribute or nil if this attribute had not been set. The return value is always a string'
00:57 GreenDimond so
00:57 lumberJ i assume the attribute itself works kind of like a variable, the value is a string
00:57 GreenDimond needs to be `if placer:get_attribute("has_placed_mynode", "true") then`
00:57 GreenDimond right?
00:57 CalebDavis right
00:57 lumberJ but maybe someone with more experience using that feature can confirm
00:58 CalebDavis it is inserting it nto a list usng the attribut as the key and keys must be strings
00:58 lumberJ if it works like a key in a table that would probably work GreenDimond
00:59 GreenDimond well
00:59 GreenDimond supposedly it works
00:59 GreenDimond but
00:59 lumberJ agree with Caleb
00:59 GreenDimond now I am getting an error in the on_dig
00:59 CalebDavis what is the error
00:59 lumberJ on_dig = func(pos, node, digger)
01:00 CalebDavis is this case digger is the player object
01:00 lumberJ placer:set_attribute
01:00 lumberJ or sorry, yes digger:set_attribute
01:00 GreenDimond oh ok
01:01 GreenDimond why pos?
01:01 CalebDavis that is the coords of the dug node
01:01 lumberJ pos is just one of the params that function takes
01:01 lumberJ if you don't need to use the value ignore it, but it still needs to be there, when you call the function
01:03 rubenwardy placer:get_attribute(has_placed_mynode)  means call the get_attribute function with the contents of the variable has_placed_mynode as a paramater
01:03 rubenwardy the variable has_placed_mynode is likely to be undefined
01:04 rubenwardy so the call is equivalent to     placer:get_attribute(nil)
01:06 GreenDimond Good news: No more crashes/errors. Bad news: Can't place node xD
01:07 lumberJ rubenwardy, you mean under on_place, right?
01:07 lumberJ there is should be 'set' not get_attribute, right?
01:07 rubenwardy I'm copying the code they made
01:07 CalebDavis ohh yea on_place has to call minetest.place_node(...)
01:08 GreenDimond wait wat?
01:08 lumberJ when you get a chance post a fresh copy, GreenDimond so we can see all the changes
01:08 GreenDimond oki
01:08 lumberJ that will make it easier
01:09 EvergreenTree joined #minetest
01:13 swift110 aww man
01:14 GreenDimond lumberJ: http://paste.ubuntu.com/25855098/
01:14 lumberJ so i think under on_place you mean to set_attribute right?
01:16 GreenDimond um
01:16 GreenDimond no
01:16 GreenDimond after_place
01:16 GreenDimond on_place it checks if placer has placed node
01:16 GreenDimond if place has, prevent.
01:17 GreenDimond otherwise it moves on to after_place_node
01:17 lumberJ ah, got you
01:17 GreenDimond which changes the attribute
01:17 GreenDimond but for some reason I cant place it now
01:18 edisonbulb joined #minetest
01:18 lumberJ maybe like rubenwardy said
01:18 rubenwardy get_attribute only has one parameter
01:19 rubenwardy and returns a string
01:19 lumberJ so should be if pacler:get_attribute("has_placed_mynode") == "true" then
01:20 rubenwardy you want something like       local has_placed_mynode = placer:get_attribute("has_placed_mynode")             if has_placed_mynode == "" or minetest.is_yes(has_placed_mynode) then
01:20 rubenwardy ahh
01:20 GreenDimond erm
01:20 GreenDimond what
01:20 GreenDimond which one do I use?
01:20 rubenwardy you want something like        if minetest.is_yes(placer:get_at​tribute("has_placed_mynode")  or "true") then
01:21 GreenDimond in which spot?
01:21 GreenDimond after_place_node?
01:21 rubenwardy when get_attribute returns nil, it'll use true instead
01:21 rubenwardy in on_place
01:21 GreenDimond oh
01:21 rubenwardy then the same in after_place_node, but with  or "false"
01:22 GreenDimond wait
01:22 GreenDimond wouldnt it be if minetest.is_yes(placer:get_at​tribute("has_placed_mynode", "true")  or "true")
01:22 rubenwardy no
01:22 rubenwardy get_attribute only has one parameter
01:22 rubenwardy what is the   , "true"   supposed to be?
01:23 rubenwardy the or bit is for if the parameter isn't set
01:24 rubenwardy minetest.is_yes(placer:get_at​tribute("has_placed_mynode", "true")  or "false")   will return true if has_placed_mynode is true, otherwise it'll return false (eg: if has_placed_mynode is false or isn't set)
01:24 edisonbulb left #minetest
01:25 rubenwardy looks like you only want it to place once
01:25 GreenDimond well
01:25 GreenDimond I want it to only be placed one at a time
01:25 GreenDimond but you can place it multiple times
01:25 GreenDimond but only one at once
01:25 rubenwardy not sure what that means
01:25 GreenDimond erm
01:25 GreenDimond Say I place it
01:25 rubenwardy you can only place one node at a time?
01:26 GreenDimond I place it, now I cannot because it has been placed.
01:26 GreenDimond Then I dig it
01:26 GreenDimond now I can place it again
01:26 GreenDimond even if I have 2
01:26 GreenDimond I can only place one
01:26 rubenwardy https://gist.github.com/rubenwardy​/0109290bbc4cd774c813074d16d3b12d
01:26 rubenwardy oops
01:26 rubenwardy reload it
01:26 rubenwardy oops
01:26 rubenwardy https://gist.github.com/rubenwardy​/0109290bbc4cd774c813074d16d3b12d
01:27 GreenDimond no on_dig?
01:27 rubenwardy yeah, you'll need that too
01:28 rubenwardy with    placer:set_attribute("has_placed_mynode", "false")
01:28 GreenDimond ok thats already there
01:28 GreenDimond changing the other stuff..
01:29 GreenDimond still wont place
01:29 rubenwardy code?
01:30 rubenwardy ahh
01:30 ThomasMonroe joined #minetest
01:30 rubenwardy you need to call minetest.item_place in it if the return isn't reached
01:30 GreenDimond in it
01:31 GreenDimond in the on_place?
01:31 rubenwardy I've updated the gist
01:31 rubenwardy https://github.com/minetest/minetes​t/blob/master/doc/lua_api.txt#L4395
01:31 rubenwardy the documentation says "shall place the item, and return any lefover stack"
01:32 GreenDimond now I can place more than one
01:32 GreenDimond and cant dig it
01:32 rubenwardy so you need to handle placing the node in that callback, which can be done by defering to that function
01:32 rubenwardy code?
01:34 GreenDimond http://paste.ubuntu.com/25855282/
01:35 GreenDimond afk for dinner.. ill read your answer when I get back
01:55 turtleman joined #minetest
01:55 GreenDimond back for a moment
01:55 GreenDimond rubenwardy, anything?
01:55 rubenwardy no, I need to sleep
01:56 GreenDimond oh, alright.
01:56 rubenwardy I suggest adding print statements
01:56 rubenwardy seeing when each bit is being called
01:58 GreenDimond k
02:30 Hawk777 joined #minetest
03:47 Digit left #minetest
04:23 tiwake joined #minetest
04:55 YuGiOhJCJ joined #minetest
05:12 YuGiOhJCJ joined #minetest
06:06 soloojos joined #minetest
06:12 AlexYst joined #minetest
06:25 soloojos joined #minetest
06:29 ssieb joined #minetest
07:03 nore joined #minetest
07:55 Hackberry joined #minetest
07:57 fusion44 joined #minetest
08:07 Darcidride joined #minetest
08:22 EinChan joined #minetest
08:51 Hackberry joined #minetest
09:00 twoelk|2 joined #minetest
09:07 proller joined #minetest
09:36 MarisaG joined #minetest
09:36 nac joined #minetest
09:49 tiwake joined #minetest
10:02 loggingbot_ joined #minetest
10:02 Topic for #minetest is now Welcome to #minetest, official Minetest channel | Latest version: 0.4.16 (2017-06-03) | Responses may take a while, be patient | Rules: http://wiki.minetest.net/IRC#Rules | Development: #minetest-dev | Server list: http://minetest.net/servers | IRC logs: http://irc.minetest.net/minetest/
10:03 Freejack joined #minetest
10:03 xSmurf joined #minetest
10:06 cyberarm joined #minetest
10:06 xerox123 joined #minetest
10:08 Sockbat joined #minetest
10:08 Exagone313 joined #minetest
10:09 thePalindrome joined #minetest
10:20 asl97 joined #minetest
10:37 Darcidride joined #minetest
10:47 proller joined #minetest
11:07 EvergreenTree joined #minetest
11:58 Fixer joined #minetest
12:12 ftugrul joined #minetest
12:25 NathanS21 joined #minetest
12:28 rafalcpp joined #minetest
12:51 RobbieF joined #minetest
12:51 RobbieF left #minetest
12:52 CalebDavis joined #minetest
12:55 rafalcpp joined #minetest
12:57 _Enrico_ joined #minetest
13:05 xerox123 joined #minetest
13:21 Jordach joined #minetest
13:24 ThomasMonroe joined #minetest
13:37 antims joined #minetest
13:41 nowhere_man joined #minetest
13:44 Wuzzy joined #minetest
13:46 nowhere_man joined #minetest
13:55 ensonic joined #minetest
14:05 bas080 joined #minetest
14:09 lumberJ joined #minetest
14:10 proller joined #minetest
14:25 erstazi joined #minetest
14:34 deltasquared joined #minetest
14:37 soloojos joined #minetest
15:16 draco_kun joined #minetest
15:18 bas080 joined #minetest
15:22 Jordach_ joined #minetest
15:22 proller joined #minetest
15:36 bigfoot548_ joined #minetest
15:37 bigfoot548_ left #minetest
15:50 est31 joined #minetest
15:52 lumberJ joined #minetest
15:52 numzero joined #minetest
15:53 Sires joined #minetest
15:54 Sires hello is anyone online
15:56 AlexYst joined #minetest
15:57 numzero me
15:59 est31 joined #minetest
15:59 numzero joined #minetest
16:02 deltasquared I'm here though I'm usually sporadic at best
16:06 Sires hi numzero
16:07 Sires I would like if someone explain me something
16:07 Sires about
16:07 Sires https://github.com/minetest/minetest/issues/2670
16:07 Sires I was reading it and
16:07 Sires raymoo said we need 4 bits for each colour channel(rgb) to make colored light
16:08 Sires why 4 instead of 8 ?
16:09 deltasquared Sires: well my guess would be that because we currently only have 16 light levels
16:09 deltasquared lighting isn't going to be full 24-bit RGB here
16:09 Sires oh
16:09 deltasquared among other things it would increase memory requirements ;)
16:10 Sires I tought that a colored light would be done with 256(if someone plans to try it one day...)
16:10 Sires well, it does not increases so much the mapblock size I think
16:12 Sires I tried reading a bit tile.cpp file but I'm not really good with c++, most of the stuff I read I understand the syntax but no so much the logic and where it came from(because to do that I would need to read lots of files)
16:13 bas080 joined #minetest
16:18 * deltasquared does some rough calculations
16:18 deltasquared so let's say an active mapblock of 8, for the sake of calculation I'll assume a cube...
16:19 sonicpp joined #minetest
16:19 deltasquared right, so that's like 16777216 nodes max per player if no overlap.
16:19 deltasquared (not including other overhead)
16:20 deltasquared full rgb lighting with 8 bits per channel, depending on how you structured it, would either be 3 to 4 times that in bytes, so at worst an extra 64MB per player
16:20 deltasquared that *could* get ouch depending on the size of the server
16:21 Sires I mean the 4 bits
16:21 Sires we already have 4 bits for the light  intensity
16:21 Sires we would use 16 bits
16:21 Sires instead
16:21 Sires making humm
16:21 * Sires thinks
16:22 Sires let-me do some calculations too :P
16:22 deltasquared actually we'd only need an extra byte (2 * 4 = eight bits) per node
16:22 deltasquared so it'd be 16MB per player
16:22 deltasquared (in the worst case scenario)
16:22 deltasquared +16MB rather, as that's extra over the memory already taken by nodes
16:22 Sires one sec
16:22 numzero don't forget there are 2 light banks
16:23 deltasquared numzero: ... shet
16:23 Sires what is a light bank? I'm not good at english
16:23 deltasquared IIRC each node currently takes 32 bits of data - 16 bit internal node ID + 8-bit param1 + param2 values
16:23 numzero yes
16:23 numzero param1 stores 2 light values:
16:23 numzero night and day light
16:24 Sires oh ok
16:24 deltasquared the game fades between them for sky-lit blocks during sunset I would guess
16:24 deltasquared and sunrise.
16:25 Sires so param2 values is 8 bits right ?
16:25 deltasquared Sires: yep
16:25 Sires hum
16:25 deltasquared ok so you'd need an extra 2 bytes per node, so 32MB... I think it'd only be nice to access if it were stored as a sep. array in memory. Idk if the current node layout packs the node ID + param values together, but it would be 4 bytes so nicely aligned
16:25 Sires why is param1 8 bit, isn't 4 bits enough for the light ?
16:26 numzero Sires, there are 2 light values:
16:26 Sires sory I'm new at this :P
16:26 deltasquared Sires: see above, only one param value is used for both light levels
16:26 numzero night light and day light
16:26 numzero I just told that
16:26 Sires I tough it was stored in param2
16:26 numzero no
16:26 deltasquared the *other* 8-bit param value (I forget if it's param1 or param2) is used for whatever the node wants generally
16:26 numzero param2 is used for other things, like node rotation
16:26 numzero liquid level
16:26 numzero etc
16:26 Sires oh ok
16:29 numzero deltasquared, what's your estimation of mapblocks loaded around a player?
16:39 FreeFull joined #minetest
16:40 deltasquared numzero: 16^3
16:40 deltasquared so this is like a beeeeefy server
16:41 deltasquared I wanted to add in suitable margins as it were
16:41 bas080 joined #minetest
16:41 deltasquared if you were to do something saner like a radius of 6... hold on
16:42 numzero so, 128 nodes apx. in each direction. reasonable, as that's amount of blocks in memory, not active blocks
16:42 deltasquared numzero: right, so it wouldn't all be "hot" either
16:42 deltasquared cache wise
16:43 deltasquared ... hrm, I might have screwed up a calculation somethere
16:44 numzero actually we can only guess as long as we can't mesaure actual memory usage
16:44 numzero the server should make such data available to the admin
16:44 deltasquared numzero: true, I'm just assuming theoretical memory usage for a sane layout, given that MT should probably at least store it contigiously for speed
16:44 deltasquared and compactness.
16:45 deltasquared idk if the server actually stores a mapblock's nodes as one array
16:45 numzero mapblock is stored contigiously in RAM
16:45 deltasquared numzero: are the nodes packed? like ID + param1,2 interleaved
16:46 deltasquared adding something like two extra bytes for colour channels would likely only be sane if it were a sep. array
16:46 numzero of course the values are interleaved
16:46 numzero it stores a plain array of MapNode's
16:47 numzero serialized format is different AFAIK, but we're talking about RAM
16:47 deltasquared numzero: perfectly fine, it's just that some data oriented programming techniques split things like than in certain cases. I wouldn't say either way without serious performance measurement which is *better*
16:48 deltasquared considering that for the hypothetical RGB lighting it'd be an extra two bytes per node, it might be wiser to keep those in a sep. array as otherwise one node becomes 6 bytes, which wastes alignment space.
16:48 deltasquared of course, this is kinda academic in any event
16:48 deltasquared oh yeah, and I did goof that calculation, 128^3 * 2 bytes would need 4MB per player
16:49 numzero er, 128 in each direction means 256^3 nodes
16:49 deltasquared numzero: I was working with a *radius* of... ... o shet
16:49 deltasquared erm
16:49 numzero so you had a radis of 8
16:49 numzero mapblocks
16:49 numzero thus 16^3 mapblocks
16:49 deltasquared err I guess yah
16:50 deltasquared so I was still kinda right?
16:50 numzero thus your previous calculations seem right actually
16:50 deltasquared ok, this time I won't do any substitution in my head
16:50 deltasquared 256 * 256 * 256 * 2
16:50 deltasquared 32MB
17:05 bas080 joined #minetest
17:10 deltasquared joined #minetest
17:15 Elronnd joined #minetest
17:20 nac joined #minetest
17:30 Krock joined #minetest
17:41 ThomasMonroe joined #minetest
17:43 proller joined #minetest
17:47 tpe joined #minetest
17:48 Taose joined #minetest
18:08 nowhere_man joined #minetest
18:10 ssieb joined #minetest
18:28 MinetestBot [git] numberZero -> minetest/minetest: Rewrite rendering engine (#6253) 2884196 https://git.io/vFY4Z (2017-10-31T18:27:10Z)
18:29 Telesight joined #minetest
18:31 CWz joined #minetest
18:55 redblade7 joined #minetest
19:00 proller joined #minetest
19:15 EvergreenTree joined #minetest
19:20 numzero joined #minetest
19:21 QwertyDragon joined #minetest
19:27 AlexYst joined #minetest
19:40 deltasquared joined #minetest
20:10 troller joined #minetest
20:18 Fixer_ joined #minetest
20:28 troller joined #minetest
20:45 troller joined #minetest
20:45 nowhere_man joined #minetest
20:51 Fixer joined #minetest
21:25 deltasquared joined #minetest
21:34 deltasquared joined #minetest
21:51 MinetestBot [git] DS-Minetest -> minetest-mods/mesecons: Set is_ground_content to false (#386) ff0bd76 https://git.io/vFY7m (2017-10-31T21:50:39Z)
21:55 deltasquared joined #minetest
21:56 Loquendero joined #minetest
22:01 numzero joined #minetest
22:09 YuGiOhJCJ joined #minetest
22:15 GreenDimond joined #minetest
22:23 GreenDimond rubenwardy: So, I put those print statements, and nothing printed
22:23 GreenDimond Which doesnt make any sense
22:26 numzero1 joined #minetest
22:28 GreenDimond For anyone that might know; I am trying to make a node that can only be placed per-player one at a time (desired behavior: Place the node, no longer can place any more of that node. Dig the node, now I can place another.) At the moment, I am unable to even place it.
22:29 GreenDimond here is the code: https://gist.github.com/GreenXenit​h/659994b864e6e549043d11205e1b4d79
22:31 GreenDimond oh
22:31 GreenDimond so maybe it is printing
22:31 GreenDimond but not to the debug like I want it to
22:34 asl97 GreenDimond: did you mean in on_dig? if my lua isn't rusty, can_dig is nil https://gist.github.com/GreenXenith/659994b​864e6e549043d11205e1b4d79#file-init-lua-L88
22:35 asl97 it should automatically call it before calling on_dig, you shouldn't need to call it yourself
22:35 GreenDimond can_dig https://gist.github.com/GreenXenith/659994b​864e6e549043d11205e1b4d79#file-init-lua-L67
22:38 asl97 1. you aren't calling it, 2. I don't think you can actually call it since it is being define in the same object, i could be wrong on 2 though
22:39 GreenDimond how would I check if can_place?
22:39 GreenDimond can_dig*
22:40 asl97 minetest should call it before calling on_dig
22:41 GreenDimond hmmmm
22:41 GreenDimond first I need to get it to be placeable
22:41 GreenDimond I think I know why it isnt
22:47 asl97 GreenDimond: check pm for more info on 2
22:54 orbea question: Is this different from the hemp in the farming redo mod? https://github.com/pithydon/hemp
23:04 GreenDimond Progress :o
23:04 GreenDimond So, apparently previous testing had caused the have_placed to be true, and wouldnt change because there was nothing to dig
23:05 YuGiOhJCJ joined #minetest
23:18 Tmanyo joined #minetest
23:34 proller joined #minetest

| Channels | #minetest index | Today | | Google Search | Plaintext