Time |
Nick |
Message |
00:00 |
Shara |
hah |
00:00 |
Shara |
though it does make it kinda hard for me to use anything :P |
00:01 |
Shara |
mostly intrested in the beds |
00:01 |
Jordach |
Shara, my plan is to have a singular game server |
00:01 |
benrob0329 |
BSD 4 clause, obviously |
00:01 |
Jordach |
(aka an offical thing) |
00:01 |
Shara |
I need nice beds for something. |
00:01 |
Jordach |
Shara, unlucky |
00:01 |
Jordach |
it needs that custom player model |
00:01 |
Shara |
hmm |
00:02 |
Shara |
might not even matter for what I'm thinking of |
00:02 |
Shara |
not all beds are for sleeping in! |
00:04 |
benrob0329 |
> Tabs |
00:04 |
benrob0329 |
TRIGGERED |
00:04 |
Jordach |
tabs can be converted into spaces by any fucking editor |
00:04 |
Jordach |
the tab key comes from the typewriters tabulator key |
00:04 |
Jordach |
for exactly that goddamn purpose |
00:45 |
Jordach |
i want to revisit the late 80s to early 90s |
00:45 |
Jordach |
(specifically 87->94) |
00:45 |
Jordach |
scratch 87, make it 84 |
00:47 |
paramat |
i was there :] the space LEGO was excellent then |
00:47 |
Jordach |
paramat, more specifically |
00:47 |
Jordach |
the rise and death of analog before digital madness |
00:50 |
Jordach |
paramat, there's just something *magical* about cassettes |
00:50 |
Jordach |
my phone's digital music playback just drives me mad |
00:51 |
Jordach |
it's the "flat" and "monotone" sound these modern phones produce |
00:56 |
Jordach |
paramat, https://www.youtube.com/watch?v=fT4lDU-QLUY |
00:56 |
Jordach |
just feels magical |
00:56 |
Jordach |
and remarkably peaceful |
01:00 |
paramat |
yes i loved cassettes, didn't really do records |
01:00 |
Jordach |
paramat, got a collection of these marvels in restored condition |
01:02 |
Jordach |
what makes that video special |
01:02 |
Jordach |
it's before doom on DOS |
01:02 |
Jordach |
before win 9x |
01:03 |
Jordach |
before even modern dialup systems |
02:25 |
Sokomine |
hmm. perhaps i ought to ask if trees_lib can be added to minetest-mods. it's a lib, not many screenshots, and people intrested will currently never find it, and adjustments to changes in mtg also ought to be considered |
02:34 |
|
sniper338 joined #minetest-hub |
02:39 |
sofar |
Sokomine: url? |
02:39 |
sofar |
nvm |
02:47 |
Sokomine |
found it? i mentionned it in a recent post |
02:49 |
sofar |
google fu |
02:49 |
Sokomine |
the purpose of the lib is to add all that belongs to trees *except* spawning. it's basicly a complex register function that accepts schematics, l-system and functions for tree growth. node registration and sapling growth are handled. could probably use some adjustments to more recent mt. and maybe i ought to add a more basic example |
02:49 |
Sokomine |
:-) |
02:50 |
Sokomine |
in the end it's a lib, and those tend to be useful only if they're available and installed |
02:50 |
sofar |
don't see a license |
02:51 |
sofar |
other then that, we can put it in minetest-mods :) |
02:51 |
sofar |
slap MIT on it and transfer? |
02:51 |
sofar |
afk a bit |
02:51 |
Sokomine |
let me check where the sample code came from...but afaik that was mostly mtg |
02:55 |
* benrob0329 |
pops in |
02:55 |
benrob0329 |
Isc License. |
02:55 |
* benrob0329 |
pops out |
02:56 |
Sokomine |
i usually use gplv3.0. maybe unpractical for a lib? the example code is partly taken from duanes valles mapgen, vanessaes moretrees and mgv6 |
03:10 |
|
mogeid joined #minetest-hub |
03:18 |
Sokomine |
what would be the best liscence in this case? probably lgpl? mtg seems to use that... |
03:20 |
sofar |
lgpl-2.1 is best for mtg compat |
03:20 |
sofar |
mit is second best |
03:20 |
sofar |
same reason |
03:21 |
|
mogeid joined #minetest-hub |
03:50 |
sofar |
https://gist.github.com/sofar/b3244ce728a907c6a442fcf7cd050985 |
03:50 |
sofar |
just for the heck of it |
03:51 |
sofar |
oh, was meant for -dev |
04:03 |
nore |
https://github.com/minetest/minetest_game/pull/1696 to follow with this afternoon's argument, this should make everyone happy :) |
04:16 |
benrob0329 |
github dark theme is great when you have a headache |
04:18 |
|
paramat joined #minetest-hub |
04:18 |
benrob0329 |
hi paramat |
04:23 |
paramat |
full moon O_O and full jupiter right next to it |
04:24 |
benrob0329 |
nice |
04:33 |
sofar |
the moon is fantastic tonight |
04:33 |
sofar |
I might pull out my tripod and 7x15s |
05:18 |
|
octacian_ joined #minetest-hub |
05:22 |
nore |
hey all |
05:22 |
nore |
need input on this: https://github.com/minetest/minetest_game/pull/1696 |
05:23 |
nore |
one important change if this is merged is that TNT & fire will be *enabled* by default even for multiplayer; however if will be trivial to disable them (can be done in-game with the config tab) |
05:33 |
|
nerzhul joined #minetest-hub |
05:38 |
benrob0329 |
+1 |
05:45 |
benrob0329 |
sofar: I would reply to the creation vs evolution thread, but I'm just too tired |
05:47 |
sofar |
hahaha |
05:50 |
benrob0329 |
Ah screw it, I replied anyways |
05:57 |
|
lumidify joined #minetest-hub |
06:00 |
|
octacian joined #minetest-hub |
06:18 |
|
Megaf_ joined #minetest-hub |
06:19 |
benrob0329 |
Gnight all |
06:30 |
|
CWz joined #minetest-hub |
06:38 |
octacian |
Night all |
06:44 |
nore |
night |
07:50 |
|
nrzkt joined #minetest-hub |
08:06 |
Zeno` |
is there nothing with can do about the current warnings? |
08:06 |
Zeno` |
s/with/we |
08:06 |
Zeno` |
oops wrong channel |
08:17 |
|
sniper338 joined #minetest-hub |
08:23 |
|
Krock joined #minetest-hub |
08:50 |
Shara |
Morning all |
08:51 |
Krock |
moin Shara |
08:51 |
Krock |
how are you? |
08:52 |
Amaz |
Moring Shara :) |
08:52 |
Shara |
Not bad thanks. |
10:06 |
|
Darcidride joined #minetest-hub |
10:27 |
|
Fixer joined #minetest-hub |
10:32 |
|
Jordach joined #minetest-hub |
10:46 |
red-001 |
#minetest is pretty confusing right now |
10:47 |
nerzhul |
why ? |
10:49 |
red-001 |
way too many accronyms |
11:02 |
VanessaE |
question, in a furnace that's active, if the fuel slot is empty but the furnace is still burning from the last lump of whatever, is it normal that inv:room_for_item() should return false when you check that slot? |
11:02 |
VanessaE |
or rather, it always returns false in that case. is there a way around this? |
11:06 |
|
sniper570 joined #minetest-hub |
11:15 |
|
Megaf joined #minetest-hub |
11:16 |
Krock |
VanessaE, room_for_item() does not take regard on the type of node or its functionality |
11:17 |
VanessaE |
I know. just talking about that particular corner-case |
11:17 |
VanessaE |
to the eye, the slot is empty, but room_for_item() disagrees |
11:17 |
Krock |
wrong list name, index or stack to put in? |
11:17 |
VanessaE |
nope, it's all correct as far as I can tell |
11:18 |
Krock |
hmm |
11:19 |
VanessaE |
https://github.com/minetest-mods/technic/blob/master/technic/machines/register/generator.lua#L5 |
11:19 |
VanessaE |
here's a practical example |
11:19 |
VanessaE |
(assume splitstacks != 1 for the sake of this code) |
11:20 |
Zeno` |
is the leak still happening VanessaE? |
11:20 |
VanessaE |
as long as the furnace is totally idle, room_for_item() returns true regardless of the stack size |
11:20 |
Krock |
but there you put the stuff into the list "src" |
11:20 |
Zeno` |
I tried to download twice last night but both times failed |
11:20 |
VanessaE |
Zeno`: yes, and still not sure of the cause, only that I can reproduce it on-demand. |
11:21 |
Zeno` |
ok, I'll try the download again |
11:21 |
VanessaE |
Krock: that's the correct list for this node. |
11:21 |
VanessaE |
or wait |
11:21 |
VanessaE |
that's the current code, I took out the fuel check |
11:22 |
VanessaE |
wait wait |
11:22 |
Krock |
insert_object needs "splitstacks" check too |
11:22 |
VanessaE |
I pointed you to the wrong code, detp |
11:22 |
VanessaE |
derp* |
11:22 |
Krock |
lol |
11:23 |
VanessaE |
actually no, that's the correct file. |
11:23 |
Krock |
but wrong line? |
11:23 |
VanessaE |
naw, it's right. the list is just named "src" for some reason. |
11:23 |
VanessaE |
(I didn't write it, I'm only adding a feature) |
11:24 |
VanessaE |
anyway, insert_object is only ever called if can_insert returns true. |
11:25 |
VanessaE |
(you can see it happen if an item goes in and then comes back out - that's an indication that the stack could be split; what comes out is just the leftovers) |
11:25 |
VanessaE |
so if you insert a lump of coal or whatever, and the furnace "takes" it and starts burning it, it empties the fuel slot |
11:26 |
VanessaE |
if you check the fuel slot with room_for_item(), it will return false. |
11:26 |
Krock |
that's somewhat strange |
11:26 |
VanessaE |
unless the stack count is 1. |
11:26 |
* CWz |
gives VanessaE a box of peanutbrittle |
11:26 |
VanessaE |
it'll accept it then |
11:26 |
VanessaE |
(which you can see in the code is actually how the can_insert check is done) |
11:27 |
VanessaE |
hi CWz |
11:28 |
Zeno` |
3 hrs 57 minutes :/ |
11:28 |
VanessaE |
? |
11:28 |
Zeno` |
I wish there could be a smaller test case hehehe |
11:28 |
VanessaE |
oh the download |
11:29 |
Zeno` |
yeah :/ |
11:29 |
VanessaE |
well, at least the map will be fairly up-to-date now (only one day old) |
11:30 |
VanessaE |
Krock: any ideas? btw the same thing happens with the regular old furnace (as modified by pipeworks; that's the one where I had a deliberate fuel check and removed it because of this glitch) |
11:31 |
Krock |
I've looked through the C++ code of room_for_item but couldn't find anything that would prevent from putting items into empty stacks |
11:31 |
VanessaE |
hrm |
11:41 |
Fixer |
hi |
11:42 |
|
lumidify joined #minetest-hub |
11:45 |
VanessaE |
hi |
11:46 |
Krock |
hello Fixer |
11:47 |
* Jordach |
irl http://i.imgur.com/LfBFEZP.png |
11:49 |
Fixer |
Jordach: expected to see pepe... |
11:55 |
Jordach |
Fixer, tfw you get fucked by your team not helping and by dark souls being dark souls |
11:55 |
Jordach |
never playing the objective in BF1 |
11:55 |
Jordach |
;_; |
11:59 |
Fixer |
PB&J Pup: Remove mod #1695 |
11:59 |
Fixer |
kek |
11:59 |
CWz |
Jordach, sound like a TF2 experience |
11:59 |
Jordach |
CWz, nah lets just camp and snipe instead of capturing flags |
12:10 |
Jordach |
CWz, i just always love heavy machine guns |
12:11 |
Zeno` |
I just like sniping |
12:11 |
Jordach |
>pussy |
12:11 |
Zeno` |
it annoys people and it's funny because it's legit |
12:11 |
CWz |
Zeno' play's tf2 |
12:11 |
Jordach |
i'll use those rifles, but no scope :P |
12:12 |
CWz |
? |
12:12 |
Zeno` |
CWz, yea |
12:12 |
CWz |
cool |
12:12 |
Jordach |
CWz, Battlefield 1 allows you to use bolt action rifles without their scope |
12:12 |
Zeno` |
and also bf and also cod (although not much cod for ages) |
12:12 |
CWz |
silly Zeno` cod is a fish |
12:12 |
Zeno` |
:P |
12:13 |
CWz |
Both Sniper and Zeno are australian |
12:15 |
Zeno` |
you know sniper? |
12:15 |
Jordach |
snipins a good job m8 |
12:15 |
Zeno` |
sniper is not Australian btw |
12:15 |
Jordach |
out of doors, plenty o' work |
12:15 |
|
Darcidride joined #minetest-hub |
12:15 |
Zeno` |
well he might be... but he doesn't live in AU |
12:17 |
Calinou |
New Zealand I think? |
12:17 |
Zeno` |
nah |
12:17 |
Zeno` |
closer to Africa I think :P |
12:18 |
|
zorman2000 joined #minetest-hub |
12:18 |
Fixer |
ha |
12:19 |
Fixer |
i've noticed some opensource guys went into steam |
12:19 |
Zeno` |
just waiting for hl3 |
12:19 |
Fixer |
played only bf 1942 and bf2 |
12:20 |
Fixer |
Zeno`: will be probably released in this century |
12:20 |
Fixer |
or gabe dies |
12:20 |
Zeno` |
yuo think? |
12:20 |
Fixer |
i want to believe.png |
12:20 |
Zeno` |
Duke Nukem Forever is more likely to me released! |
12:23 |
|
Megaf joined #minetest-hub |
12:29 |
red-001 |
naw they are just going to call it hl4 |
12:41 |
Fixer |
hl 4-1 |
12:43 |
Megaf |
I will just leave this here. https://9gag.com/gag/aLDGOwz |
12:44 |
Fixer |
you can do that too |
12:45 |
Fixer |
depending on food |
12:54 |
Megaf |
oh boy, I want her https://9gag.com/gag/aQ9mQNd?sc=gif She is very smart |
13:01 |
nerzhul |
Megaf: please talk about minetest, it's not #minetest-mylife |
13:05 |
red-001 |
it's not as bad as #minetest |
13:05 |
red-001 |
the channel is way offtopic today |
13:08 |
|
Jordach joined #minetest-hub |
13:11 |
nerzhul |
red-001: oh yes, i hope, because it's a channel to discuss about minetest and develop :) |
13:11 |
nerzhul |
not the core itself, but community + coredevs |
13:12 |
Jordach |
nerzhul, if you're like me and have no morale entirely |
13:12 |
Jordach |
generic chatting is much better |
13:13 |
Fixer |
i've tried to brainstorm this a little https://github.com/minetest/minetest_game/issues/1485 |
13:17 |
|
sniper338 joined #minetest-hub |
13:19 |
Megaf |
we should have #Minetest-Help, #Minetest-Dev, #Minetest-Chat and #Minetest-Hub |
13:20 |
Megaf |
#Minetest been redirect to #Minetest-Help |
13:20 |
Megaf |
That'd work |
13:20 |
Fixer |
two channels is totally enough |
13:20 |
nerzhul |
and #Minetest-mylife :p |
13:20 |
Fixer |
#Minetest-nerzhul |
13:20 |
Fixer |
#Minetest-Fixer |
13:20 |
Megaf |
I actually laughed at that |
13:21 |
Fixer |
it gets ridiculous here |
13:21 |
Fixer |
we already have minetest.net/minetest.org/minetest.com/and shitton of irc channels |
13:21 |
Fixer |
just move everybody back to #minetest |
13:21 |
Fixer |
and devs in #minetest-dev ofc |
13:22 |
Amaz |
And rename #minetest-project #minetest-hijacked :P |
13:22 |
Fixer |
nuke -project and -hub and -de -whatever |
13:22 |
Megaf |
Thankfully I haven't been given any power. If I'd any power I'd clean things up everywhere in the project. |
13:22 |
Megaf |
Amaz, lol |
13:22 |
Fixer |
it is not like #minetest is so flooded with chat |
13:22 |
Fixer |
kids can be ignored on #minetest :trollface: |
13:22 |
* Megaf |
is a kid |
13:23 |
Megaf |
as you can tell |
13:23 |
Megaf |
Now, is there anyone here running Minetest server in LXC containers? |
13:24 |
Megaf |
It just occurred to me that'd be a pretty interesting idea on one of my Raspberry Pis |
13:24 |
red-001 |
#minetest-project is already dead |
13:24 |
Megaf |
I have a 4 core one, the Raspberry Pi 2, I'm pretty sure I can run 4 containers in that thing. |
13:24 |
Fixer |
Megaf: age? |
13:25 |
red-001 |
do people use the non-english channels? |
13:25 |
Fixer |
Megaf: below 18? |
13:25 |
Megaf |
Fixer, nope. |
13:25 |
Fixer |
crawl uses #crawl and #crawl-dev , CDDA uses just one channel for everything, #minetest has like 5 or more channels |
13:26 |
Megaf |
I wasn't serious on the age thing, nor on the girl thing. Just ignore that. |
13:26 |
Megaf |
I think usually 3 channels is a good number a general one, where chat about everything is already, a help one and a dev one |
13:27 |
Fixer |
i'm fine with 2 channels as it was |
13:27 |
Megaf |
and IF the community of a specific language is large enough, then maybe a channel for that language could be created |
13:27 |
Fixer |
but oh well |
13:27 |
red-001 |
we seems to have about 5 general channels and one dev channel |
13:27 |
Megaf |
Fixer, me too, as long as off topic is allowed. |
13:28 |
Calinou |
don't forget #minetest-offtopic (for serious chatter), #minetest-/b/ (for the right people) |
13:28 |
Shara |
Well, -hub is meant to be for different kinds of contributors to talk |
13:28 |
Calinou |
:P |
13:30 |
Fixer |
holy crap |
13:30 |
Fixer |
there is #minetest-/b/ ? |
13:30 |
red-001 |
now there is |
13:30 |
Fixer |
or it is sarcastic? |
13:30 |
red-001 |
yes |
13:32 |
red-001 |
oh freenode search only shows registered channels |
13:33 |
nerzhul |
yes |
13:36 |
* Megaf |
joins /b/ |
13:36 |
Megaf |
I've been there before |
13:43 |
Krock |
Offtopic repost: "a new security patch has been applied https://i.imgur.com/xuzqyFl.mp4 " |
13:44 |
Fixer |
Krock: minetest_game |
13:44 |
Fixer |
revealed |
13:44 |
Fixer |
pokerface while typing and hoping it is english |
13:45 |
Krock |
^^ |
13:46 |
|
octacian joined #minetest-hub |
13:47 |
Krock |
o/ octacian |
13:47 |
Fixer |
joins/parts/quits disabled |
13:48 |
octacian |
hello Krock |
13:49 |
Fixer |
hello octacian |
13:49 |
octacian |
hey Fixer |
14:00 |
Calinou |
https://i.imgur.com/nawMSxe.png |
14:00 |
Calinou |
Fixer: ^ |
14:00 |
Calinou |
this is too damn true |
14:00 |
Calinou |
(404 errors of old vs modern sites) |
14:00 |
Fixer |
Calinou: yep |
14:01 |
Megaf |
my personal website gives this precisely (copied from the actual shown page) "404 File Not Found" |
14:01 |
Fixer |
Calinou: remember new windows/gnome BSOD? Smile. Pooop. Smth happened |
14:02 |
Fixer |
do not be alarmed @ stay calm |
14:07 |
Megaf |
uh, oh, #Minetest-Chat is a thing now. Off Topic only |
14:08 |
Megaf |
we have #Minetest-OffTopic too, to chat |
14:13 |
octacian |
I just noticed that when I set the hand inventory to a new hand (specifically to a custom hand meant for creative), the new hand tool_capabilities are only used if I'm not wielding another item |
14:13 |
octacian |
Is this meant, or what? |
14:14 |
Krock |
I thought that was fixed recently |
14:14 |
octacian |
oh |
14:14 |
octacian |
Well, I should probably update MT in that case :D |
14:15 |
octacian |
(I've been very inactive on GitHub lately so don't have a clue what's happened for the last month or so) |
14:15 |
Krock |
https://github.com/minetest/minetest/commit/08b680d |
14:15 |
Krock |
21 days old |
14:15 |
octacian |
Yay! Hardware colouring for itemstacks. |
14:15 |
octacian |
Thanks! |
14:15 |
Krock |
!next |
14:15 |
ShadowBot |
Another satisfied customer. Next! |
14:16 |
octacian |
Krock: here's a random question. Which would you prefer (assuming that no nodes had an on_punch callback): Instantly breaking blocks in creative, or no? |
14:17 |
octacian |
(and if anybody else gave their opinion I'd be happy as well) |
14:17 |
Krock |
a delay of about 200ms should exist IMO |
14:18 |
octacian |
hmmm |
14:18 |
octacian |
You don't happen to know what that translates to using the digtime variable used by the creative mod? (default 42) |
14:18 |
Krock |
I rarely play in creative mode but digging too fast can be annoying for detailed work |
14:19 |
Krock |
uhm |
14:19 |
octacian |
Well, the basic concept is that with immediate dig you just click rather than hold |
14:19 |
octacian |
I'm just unsure as to which would be more convenient |
14:22 |
Fixer |
octacian: there was already a discussion about that |
14:22 |
octacian |
Mind giving me a link? |
14:22 |
octacian |
I'm trying to decide for my own subgame, just want to get some other's opinions |
14:22 |
octacian |
Krock: yep, updating fixed hand issue |
14:23 |
octacian |
I now have fully-functioning gamemode, just need to properly check creative_enabled setting |
14:23 |
Krock |
final dig time = <digtime in params> / time_from_last_punch * full_punch_interval |
14:24 |
Krock |
seems to be in ms |
14:24 |
octacian |
ok |
14:24 |
Krock |
*s |
14:25 |
octacian |
Fixer: since you seem to be around, which would you prefer? |
14:25 |
octacian |
Immediate dig or like what MTG currently has? |
14:25 |
Krock |
crreative currently uses 0.5s |
14:27 |
octacian |
sounds about right |
14:27 |
Fixer |
octacian: current one is a bit slow, it needs to be faster to not catch with the blocks |
14:28 |
octacian |
Fixer: are you saying slightly faster or immediate? |
14:29 |
Fixer |
octacian: slightly faster, immediate is also fine tbh %) |
14:30 |
octacian |
hmmm OK |
14:30 |
Fixer |
octacian: with instant there is bigger chance of error |
14:30 |
octacian |
That's true. |
14:30 |
octacian |
But once you get used to it, it's slightly nicer because everything breaks immediately rather than different things at varied times |
14:38 |
octacian |
..would XtremeHacker join already? lol |
14:45 |
Shara |
octacian: Did someone invite him/her? |
14:45 |
Shara |
If not, feel free |
14:45 |
octacian |
Reminds me, he doesn't know about this channel. Well, that's an obvious reason why he won't join :rotfl: |
14:46 |
Shara |
It's fine to invite someone if they are contributing to MT in some way. |
14:46 |
octacian |
Well, soon as he joins another channel I will |
14:47 |
octacian |
He works with me on a few things - mods, a subgame, so yes, he does contribute to MT in some way |
14:48 |
Shara |
I'm mostly afk today, but will voice if I see him here |
14:52 |
octacian |
OK, thanks. |
14:57 |
|
XtremeHacker joined #minetest-hub |
14:59 |
octacian |
Shara: could you give XtremeHacker voice? |
15:00 |
Shara |
Welcome :) |
15:00 |
octacian |
Thanks! |
15:04 |
XtremeHacker |
Thans. :) |
15:04 |
XtremeHacker |
*Thanks |
15:37 |
* CWz |
has a theory that Engineer is actually the most useless class in tf2, since his sentry can be replaced by a heavy solider combo. |
15:38 |
Jordach |
they don't |
15:44 |
|
Megaf joined #minetest-hub |
15:48 |
Megaf |
o/ |
15:48 |
Jordach |
o7 |
15:51 |
Fixer |
broken hand |
15:51 |
Fixer |
o\ |
15:52 |
Megaf |
/o\ |
15:52 |
Megaf |
\o/ |
15:52 |
Megaf |
(o_o) |
15:55 |
Krock |
or scratching on the head? |
15:56 |
Megaf |
I think o7 is just protecting his eyes from the sun while searching for something near the horizon |
15:57 |
Krock |
depends if there's a straigt down line after the horizontal one in your font |
15:58 |
Krock |
o'7 basically, as replacement |
15:58 |
|
VanessaE_phone joined #minetest-hub |
16:29 |
|
lumidify joined #minetest-hub |
16:55 |
Krock |
!tell tenplus1 http://i.imgur.com/ML0I2vC.png - look like a nuclear war to me tbh |
16:55 |
ShadowBot |
Krock: O.K. |
17:08 |
sofar |
~ |
17:08 |
sofar |
aliens |
17:08 |
sofar |
argh |
17:08 |
sofar |
~ |
17:09 |
Jordach |
ayy lmao |
17:09 |
sofar |
~ |
17:09 |
sofar |
/o\ |
17:09 |
sofar |
aliens |
17:09 |
sofar |
sigh |
17:09 |
sofar |
that looked better in my head |
17:10 |
Shara |
Hi sofar :P |
17:17 |
Krock |
lol |
17:18 |
nore |
hey sofar |
17:18 |
sofar |
hacking up my timer class a bit atm |
17:18 |
nore |
heh |
17:18 |
sofar |
I don't like how it needs a global name |
17:18 |
sofar |
trying to make it use a local name instead |
17:19 |
sofar |
but, then I need to use debug.* functions to get the upvalue |
17:19 |
sofar |
maybe I shouldn't, or use a different method |
17:20 |
nore |
oh, btw: those of you who preferred fire & tnt disabled by default on multiplayer servers: is game#1696 ok for you? it enables both of them back by default, but disabling them is as simple as going into the "configuration" tab of the inventory and unticking both of them |
17:20 |
|
nerzhul joined #minetest-hub |
17:20 |
nore |
ehm, what do you need a global name?? |
17:21 |
nore |
*why |
17:21 |
nore |
hey nerzhul |
17:21 |
sofar |
for persistency, I can't store a reference to the function |
17:21 |
sofar |
I need to store a reference to the name |
17:21 |
nore |
wait. |
17:21 |
sofar |
but, I'm beginning to wonder if I should abandon storing it at all |
17:21 |
nore |
so you sore a reference to the name of the function? |
17:21 |
nore |
*store |
17:21 |
sofar |
yes, the name |
17:21 |
nore |
uuuuuuh |
17:21 |
sofar |
yeah, exactly |
17:21 |
nore |
no don't ever do that |
17:22 |
nore |
several problems with that |
17:22 |
sofar |
that's what I'm concluding now as well |
17:22 |
nore |
1. the function's name might be changed |
17:22 |
nore |
2. it might have upvalues |
17:23 |
sofar |
yeah, and my timer class should be able to handle function refs just fine at timer creation |
17:23 |
sofar |
hmm |
17:23 |
nore |
so the correct way to do that is minetest.register_timer(<timer name>, <timer def>) |
17:23 |
sofar |
ok, let's redo it a bit |
17:23 |
sofar |
no, it's all under a Timer() class |
17:23 |
nore |
with the function getting what would previously were upvalues as arguments |
17:23 |
nerzhul |
hey nore |
17:23 |
sofar |
no more stuffing minetest.* even worse |
17:23 |
nore |
okay, Timer.register_timer |
17:23 |
nore |
same thing |
17:24 |
nore |
the thing is, you have to register the timer somewhere |
17:24 |
nore |
else you can't restore it |
17:24 |
Krock |
local t1 = Timer(function() <def> end) t1:Start(<interval>) |
17:24 |
nore |
no |
17:24 |
nore |
doesn't work either |
17:24 |
nore |
because you start the timer |
17:25 |
nore |
the server is restarted |
17:25 |
nerzhul |
sofar, i agree for purely generic features outside of minetest specific scope it's a good idea |
17:25 |
nore |
and now it no longer knows the function |
17:25 |
Krock |
eww. right |
17:25 |
nore |
so I see only two ways to do this: 1. register_timer thing |
17:25 |
sofar |
just wait |
17:25 |
sofar |
stop it |
17:25 |
sofar |
go get coffee |
17:25 |
sofar |
come back in 30 |
17:25 |
* sofar |
shoos |
17:25 |
sofar |
shoo |
17:25 |
sofar |
shooooo |
17:26 |
nore |
2. a preprocessing step that performs transformation of the source code from the intuituve version to the less intuitive one |
17:26 |
nore |
aaaaand, going back to work now :p |
17:26 |
Krock |
nore, you were shoooo'ed away ;) |
17:26 |
nore |
Krock: exactly :p |
17:27 |
nore |
I'm letting sofar think and see why there are no other solutions |
17:27 |
nore |
(arguably, passing the function as a string instead is yet another solution... but even more awful) |
17:28 |
nore |
(and bad for performance as well) |
17:28 |
Krock |
erializing the whole function would solve it but is somewhat insecure |
17:28 |
Krock |
*serializing |
17:28 |
nore |
you can't serialize a function I think |
17:31 |
|
epoch joined #minetest-hub |
17:32 |
Krock |
somehow I managed it once... uhm |
17:34 |
Krock |
> return string.dump(function() print("foobar") end) |
17:34 |
Krock |
^ produces bytecode, nore |
17:34 |
nore |
ah yeah |
17:35 |
nore |
but loading bytecode is not safe so not allowed IIRC |
17:35 |
Krock |
yes |
17:37 |
sofar |
I didn't serialize the *code* |
17:37 |
sofar |
guys, you're going on a red herring I didn't even make |
17:37 |
sofar |
20 more minutes, shoo |
17:37 |
* sofar |
waves hands unintimidatingly torwards Krock and nore |
17:37 |
Krock |
these are just hypotheses |
17:39 |
nore |
sofar: I never said you serialized the code :) |
17:39 |
nore |
but I'm waiting and will see what you come up with |
17:40 |
Krock |
I think sofar must mute this channel for a while to not get interrupted |
17:40 |
Krock |
it's quite mean to stop sofar from working on this feature |
17:41 |
|
rubenwardy joined #minetest-hub |
17:41 |
|
epoch joined #minetest-hub |
17:41 |
sofar |
lol |
17:42 |
Krock |
^^ |
17:42 |
Krock |
hello rubenwardy o/ |
17:42 |
rubenwardy |
hi |
17:44 |
nore |
Mode #minetest-hub [-v nore] by sofar |
17:45 |
Krock |
Mode #minetest-hub [+b ~norefree.node/user/somewhat] by sofar |
17:45 |
Calinou |
free.nude |
17:45 |
Krock |
or that ^ |
17:45 |
nore |
heh |
17:45 |
* sofar |
shoos more |
17:46 |
nore |
Krock: it's ~ncourantsas.eleves.ens.fr actually :p |
17:46 |
rubenwardy |
wat |
17:46 |
nore |
hey rubenwardy |
17:47 |
* Krock |
gives sofar a 't' for the 2nd last position that will definitely make his "shoo" work |
17:47 |
Krock |
*shoos |
17:47 |
nore |
(I don't know how this work and how you can control it) |
17:47 |
Krock |
nore, the cloaks? you can request one in the services channel |
17:48 |
nore |
hmmm |
17:48 |
nore |
should do that someday |
18:00 |
sofar |
ok, it's working entirely now |
18:01 |
sofar |
publishing to minetest-mods, including demo code |
18:01 |
nore |
sofar: code or it didn't happen |
18:01 |
sofar |
we can curate and test it there |
18:01 |
nore |
:p |
18:17 |
* sofar |
writes docs :P |
18:22 |
nore |
you didn't push anything yet :'( |
18:24 |
Jordach |
sofar, what'cha doin |
18:24 |
sofar |
gotta have docs |
18:25 |
sofar |
Jordach: saveable timer class code |
18:25 |
sofar |
github.com/minetest-mods/timer |
18:25 |
Jordach |
oo |
18:26 |
nore |
sofar: push it and push docs later :p |
18:32 |
sofar |
reload |
18:33 |
sofar |
reload |
18:34 |
Jordach |
RELOADING |
18:34 |
* sofar |
pushes |
18:34 |
sofar |
... his desk |
18:34 |
* sofar |
giggles |
18:35 |
sofar |
To github.com:minetest-mods/timer.git |
18:35 |
sofar |
* [new branch] master -> master |
18:35 |
sofar |
alright it's pushed |
18:39 |
nore |
sofar: okay, so it's equivalent to the register_timer thing I spoke about :p |
18:39 |
nore |
except that the mod is responsible for the seralization |
18:39 |
sofar |
yes except I dropped the entire `register_foo` naming thing |
18:40 |
sofar |
just treat it like a lua class |
18:40 |
sofar |
we could add serialization and deserialization as a method |
18:40 |
sofar |
actually |
18:40 |
nore |
also |
18:40 |
sofar |
we could even do the storage load and retrieve |
18:40 |
sofar |
Timer:store(storageref, "keyname") |
18:41 |
nore |
yes |
18:41 |
sofar |
t = Timer(func, storageref, "keyname") |
18:41 |
nore |
I'd still like an easy way to do what you usually do with minetest.after |
18:42 |
nore |
i.e. minetest.after(5, function(pos) minetest.set_node(pos, {name = "default:stone"}) end, pos) |
18:42 |
sofar |
t = Timer(func, storageref, "keyname", default_interval, default_repeats) |
18:42 |
nore |
but put that in a function |
18:42 |
nore |
like on_place = function(...) minetest.after(...) end |
18:42 |
sofar |
you can do |
18:42 |
nore |
how |
18:42 |
nore |
? |
18:42 |
sofar |
t = Timer(function(bla) end, .... |
18:43 |
nore |
yes? |
18:43 |
sofar |
yeah, should work just fine |
18:43 |
nore |
you can't pass arguments with that method |
18:43 |
sofar |
correct, you can not |
18:43 |
nore |
also, you can have only one running at once |
18:43 |
sofar |
no, you can have as many as you want? |
18:44 |
nore |
not with the same function/timer class |
18:45 |
sofar |
local t = Timer(....) |
18:45 |
nore |
and you don't know in advance how many you will want in the case I just said |
18:45 |
sofar |
I don't see the problem. t can be a local variable |
18:45 |
sofar |
you can make thousands of t's |
18:45 |
nore |
but |
18:45 |
sofar |
for i = 1,1000 do local t= Timer() end |
18:46 |
nore |
you can't restore these |
18:46 |
nore |
or store them |
18:46 |
sofar |
if you want to save them you need to array them |
18:46 |
sofar |
I don't see the problem with that |
18:46 |
sofar |
that's what arrays are for |
18:46 |
nore |
and know when to delete them etc |
18:46 |
nore |
that's horribly complicated |
18:46 |
sofar |
that's not something I can solve anyway |
18:46 |
nore |
however, what you can do |
18:46 |
nore |
yes you can |
18:47 |
sofar |
well I suppose with a storageref and key name, it could autosave? |
18:47 |
sofar |
but then I need to maintain lots of state |
18:47 |
nore |
allow each of your timers to contain several at once, but with the same function, only the arguments & delay would be different |
18:47 |
sofar |
which I don't want to |
18:48 |
sofar |
you're making it way too complex |
18:48 |
nore |
and you do things like timer:start_new(delay, args) |
18:48 |
sofar |
nooooo |
18:48 |
nore |
nah, that's the usual use case |
18:48 |
nore |
why no? |
18:48 |
sofar |
if you want that, make a new overlay class that does that |
18:49 |
sofar |
and does the housekeeping of what is essentially an array |
18:49 |
nore |
hmmm, I'll do that, probably |
18:49 |
* sofar |
shoos nore |
18:49 |
nore |
meh |
18:50 |
* nore |
shuns sofar |
18:50 |
sofar |
now, auto-storing and retrieving, that is something we should put in Timer() |
18:50 |
sofar |
since that is very useful |
18:50 |
sofar |
but I don't see why every entity couldn't have a Timer in it's own luaobject |
18:51 |
sofar |
so I don't see the need for an embedded list |
18:57 |
|
Megaf joined #minetest-hub |
18:59 |
|
lumidify_ joined #minetest-hub |
20:28 |
sofar |
ok I'm gonna make it handle saving/restoring as well |
20:28 |
sofar |
the Timer() initializer can directly read from storage if needed |
20:29 |
sofar |
and then you can Timer:save() it when you need |
20:29 |
sofar |
that'll make the demo code really simple too |
20:38 |
Sokomine |
sofar: i think trees_lib is now ready. i've seperated the examples from the lib and done some adjustments to the examples for mtg (i.e. added apsen tree and copied leafdecay). that part can be found on https://github/Sokomine/trees_lib_examples |
20:38 |
Sokomine |
how do i hand trees_lib over to minetest_mods now? :-) |
20:39 |
Sokomine |
it still could use some adjustments to more recent changes - in particular that lbm/timer growth instead of abms |
20:40 |
sofar |
github transfer it to `sofar` |
20:40 |
Sokomine |
perhaps the few lines that show how easy aspen trees could be added (once their schematic and textures are there) in comparison to how many lines it takes in mtg will convince some that the lib could be of use :-) |
20:40 |
sofar |
I'll move it tonight |
20:40 |
Sokomine |
thank you |
20:41 |
Sokomine |
now...er...where do i find that...*searching for link* |
20:41 |
|
epoch joined #minetest-hub |
20:46 |
Sokomine |
found it. thanks. hope it'll help if more people can work on it. i'm sometimes a bit lazy with my own repros and pull requests |
20:50 |
nerzhul |
sofar, you mean persistent storage? |
20:51 |
sofar |
nerzhul: yes. I'll push an update in a sec |
20:51 |
sofar |
it's working nicely and makes it even easier to make timers |
20:52 |
sofar |
I should test it with an anon function too, just to be sure |
20:52 |
nerzhul |
sofar, do you use mod storage or another storage model ? i think we should fededate our storage at a point |
20:52 |
sofar |
use mod storage |
20:53 |
sofar |
gimme a sec and I'll have code to show |
21:08 |
sofar |
https://github.com/minetest-mods/timer |
21:08 |
sofar |
nerzhul: nore: Krock: ^^ |
21:08 |
sofar |
take a look at the usage as well: |
21:08 |
sofar |
https://github.com/minetest-mods/timer/blob/master/timerdemo/init.lua |
21:09 |
Krock |
\o/ |
21:10 |
nerzhul |
sofar, interesting |
21:10 |
sofar |
note that the timer gets stored in the calling mod, not in the timer class mod |
21:10 |
nerzhul |
and it permits each mod to use its private storage it's nice |
21:10 |
sofar |
yes, so things like upgrading will be easier for mods |
21:11 |
nerzhul |
yes, and if a mod is removed, timer is removed with it |
21:11 |
sofar |
and you can still do non-persistent timers easily |
21:11 |
sofar |
exactly |
21:11 |
Fixer |
btw, why minetest-mods are not in minetest/ organisation? |
21:11 |
sofar |
I wanted my own empire |
21:12 |
sofar |
eh, wait |
21:12 |
sofar |
:) |
21:12 |
sofar |
no, it doesn't belong there, period |
21:12 |
sofar |
minetest-mods is basically organizing mod devs |
21:12 |
sofar |
as opposed to organizing core devs |
21:13 |
nerzhul |
Fixer, it's difficult, as you cannot have subgroups unlike gitlab |
21:13 |
nerzhul |
minetest/mods/timers is not possible with github |
21:13 |
Fixer |
oh |
21:14 |
sofar |
also minetest-mods can contain things that -core probably would never accept |
21:15 |
sofar |
it spreads a bit of risk |
21:15 |
Fixer |
https://forum.minetest.net/viewtopic.php?f=18&t=16595#p262452 please read Wikipedia Founder cat eyes |
21:16 |
sofar |
Fixer: ? |
21:17 |
Fixer |
sofar: "Where can i find new specifications for 27. map format?" |
21:17 |
Fixer |
sofar: i've poked unexplore author to check new map format and he has no idea what was changed/added |
21:17 |
sofar |
open an issue, I'd say |
21:17 |
sofar |
docs out of date -> bug |
21:18 |
Fixer |
thats a good idea |
21:30 |
sofar |
nore: the one thing I may want to add is a `data` ref that gets passed through to the timer function |
21:30 |
sofar |
timer:set_data(data) |
21:30 |
sofar |
timer:get_data() |
21:30 |
nore |
I think this would be good to have indeed :) |
21:30 |
sofar |
so you can pass it an arbitrary bit of data |
21:30 |
sofar |
but it would not get saved to storage |
21:30 |
nore |
what |
21:31 |
nore |
then it's useless |
21:31 |
sofar |
since it can contain functions |
21:31 |
sofar |
there's no way to save it |
21:31 |
sofar |
or userdata |
21:31 |
nore |
well, you are responsible for the data being able to be saved |
21:31 |
sofar |
easy enough to timer:set_data() after initializing it |
21:32 |
sofar |
and if the mod changes behavior, it may entirely redo the structure of `data` |
21:32 |
sofar |
so storing it would potentially cause issues with mod upgrades |
21:33 |
sofar |
it would be entirely reasonable to pass an luaobject ref |
21:34 |
nore |
hmmm |
21:35 |
nore |
well, it's the always-there storage & compatibility problem |
21:35 |
nore |
the one that never has a perfect solution |
21:49 |
rubenwardy |
sofar,: unpack(arg) |
21:49 |
rubenwardy |
function foo(bar, ...) local tab = unpack(arg) end |
21:49 |
rubenwardy |
tab because ... in table form |
21:49 |
rubenwardy |
opposite of pack |
21:50 |
rubenwardy |
actually no |
21:50 |
rubenwardy |
arg is a table with the value of ... |
21:50 |
rubenwardy |
unpack turns a table into an arglist |
21:51 |
rubenwardy |
so you could do start_timer(name, ...) local def = {name=name, data=arg} end |
21:51 |
rubenwardy |
https://www.lua.org/pil/5.2.html |
21:52 |
sofar |
I know unpack, minetest.after uses it |
21:52 |
rubenwardy |
unpack is the wrong one, arg is right |
21:52 |
sofar |
but it's use is limited since you can always use a nameless function and embed the data |
21:53 |
sofar |
minetest.after(4, function()... |
21:53 |
sofar |
and again, you can't rely on `arg` being serializable |
21:53 |
sofar |
and even table entries may change |
21:54 |
sofar |
suppose I pass a ref to a table entry, it may not exist after startup anymore |
21:54 |
rubenwardy |
warn about that then |
21:54 |
sofar |
or not do it |
21:54 |
sofar |
just use a local closure |
21:54 |
sofar |
or treat it as unsaved data |
21:58 |
sofar |
I mean, we're all just lazy because we write things like |
21:58 |
sofar |
minetest.after(5, minetest.set_node, pos, node) |
21:58 |
sofar |
instead of the WAY more DIFFICULT *cough* |
21:59 |
sofar |
minetest.after(5, function() minetest.set_node(pos, node) end) |
21:59 |
sofar |
:) |
21:59 |
nore |
the first avoids closures and is more easy (in some sense) to serialize :) |
21:59 |
sofar |
the difference is literally: "function() ( )" |
22:00 |
rubenwardy |
does Timer define a timer type that can be started many times? |
22:00 |
rubenwardy |
or does it make a new timer instance |
22:00 |
nore |
rubenwardy: it doesn't :'( |
22:00 |
sofar |
no |
22:00 |
sofar |
a timer is a timer |
22:00 |
sofar |
a timer is not ten timers |
22:00 |
sofar |
a timer is ONE timer |
22:02 |
rubenwardy |
do you have any examples of loading timers? |
22:02 |
sofar |
linked, yes |
22:02 |
sofar |
https://github.com/minetest-mods/timer/blob/master/timerdemo/init.lua |
22:02 |
sofar |
there's 3 timers in that code example |
22:04 |
rubenwardy |
oh, so it DOES define a timer type, it just can only be started once |
22:04 |
nore |
yes |
22:05 |
nore |
that's completely useless imho, but *shrug* |
22:05 |
sofar |
? |
22:05 |
sofar |
why useless? |
22:05 |
nore |
I mean, you often have events that make another event happen x time later |
22:05 |
sofar |
just make a new one |
22:05 |
rubenwardy |
what about buffs? |
22:05 |
sofar |
local t1, t2 |
22:06 |
sofar |
moar timers |
22:06 |
nore |
hmm, not useless because there are cases I see where it is usefull |
22:06 |
nore |
i.e. executing an event every x seconds |
22:06 |
nore |
but |
22:06 |
sofar |
I can make it execute N times too |
22:06 |
nore |
for the thing executing an event x seconds after another one |
22:06 |
rubenwardy |
you'd have to make another timer with the exact same table and the same key as one that's defined at load time |
22:07 |
nore |
with it being persistent which is want we can't do in minetest.after |
22:07 |
nore |
it doesn't help |
22:07 |
nore |
*what |
22:07 |
sofar |
show me a scenario |
22:07 |
sofar |
I think you're not seeing that this code can support that |
22:07 |
sofar |
easily |
22:07 |
sofar |
we can frob all sorts of useless bits into the class |
22:08 |
nore |
okay |
22:08 |
sofar |
or use it smarter |
22:08 |
nore |
so |
22:08 |
sofar |
I don't know what the right answer is |
22:08 |
sofar |
but I do know that making swiss army knifes is not a good way to do OOP |
22:09 |
nore |
you have a tool |
22:09 |
nore |
that when you right-click on a node |
22:09 |
nore |
after 10s, the node turns into gold |
22:09 |
nore |
of course, the tool only has a limited number of uses, so you don't want to lose any event |
22:10 |
nore |
how do you do that? |
22:10 |
sofar |
counter argument |
22:10 |
|
Fixer joined #minetest-hub |
22:10 |
sofar |
you right click an entity |
22:10 |
sofar |
after 10 seconds, the entity poops a golden egg |
22:10 |
nore |
counter argument? |
22:10 |
sofar |
how do you do that? |
22:10 |
sofar |
you can't serialize the object |
22:10 |
sofar |
the entity could be missing after a server restart |
22:11 |
sofar |
or, dead |
22:11 |
nore |
that's your problem |
22:11 |
nore |
nodes positions exist at all times |
22:11 |
sofar |
#define "your" |
22:11 |
sofar |
"sofar's" ? |
22:11 |
nore |
what I mean is |
22:11 |
sofar |
the mod using the timer class? |
22:12 |
nore |
what you want to do with the entity is using the reference again later |
22:12 |
nore |
that could have problems even without persistent timers |
22:12 |
nore |
the problem of the person writing the mod :p |
22:12 |
nerzhul |
sofar, i'm re-adding the player files backend on #5475 |
22:12 |
nore |
so for that you have to take care anyway |
22:12 |
rubenwardy |
https://gist.github.com/rubenwardy/46caffac4196b64d661f2ad3fbdac7a3 |
22:13 |
nerzhul |
i'm plug-in it like a database |
22:13 |
nore |
however, for something that's a node position |
22:13 |
sofar |
s/you/mod_writer/ |
22:13 |
nore |
nothing can happen |
22:13 |
nore |
yes |
22:13 |
sofar |
well generally when 2 people talk, and one says "you" they mean the other person in the conversation |
22:14 |
rubenwardy |
your solution means that a different function could be run after a shutdown. Whilst this may be useful, it'll cause more problems than it solves - what if they don't have a timer in the root scope? |
22:14 |
nore |
rubenwardy: yes, that's what I want :) |
22:14 |
rubenwardy |
see gist |
22:15 |
rubenwardy |
updated gist to more match sofar's api |
22:16 |
sofar |
can we please stop writing API's using minetest.register_nopnsense()? |
22:17 |
rubenwardy |
I updated it |
22:17 |
rubenwardy |
and also it's nice when APIs are consistent |
22:17 |
sofar |
minetest.timer_interval? |
22:17 |
rubenwardy |
the content is important, not the naming of functions |
22:17 |
nore |
hmm, I think rubenwardy meant the_timer_name:run(...) |
22:18 |
nore |
same thing :p |
22:18 |
rubenwardy |
there you are, updated |
22:18 |
nore |
you can remove the "mod:event" as well |
22:19 |
rubenwardy |
updated again |
22:19 |
sofar |
s/timer_type/t/ (it's not a "_type") |
22:19 |
sofar |
lol |
22:19 |
rubenwardy |
it is |
22:19 |
rubenwardy |
well, it's not a language type |
22:20 |
rubenwardy |
timer_def may be clearer |
22:20 |
sofar |
you know what |
22:20 |
sofar |
I think we can do that |
22:20 |
rubenwardy |
the point is that it's bad to get conflicting function definitions after serialisation |
22:20 |
sofar |
differently though |
22:20 |
sofar |
here's now |
22:21 |
sofar |
well no, hmm |
22:21 |
sofar |
I need to think about it a bit |
22:21 |
sofar |
but, not sure I like it yet |
22:22 |
sofar |
what I think I can do |
22:22 |
sofar |
is this |
22:22 |
sofar |
instead of t:start() |
22:22 |
sofar |
you can do |
22:22 |
sofar |
local t_1 = t:start(param1, param2, param3) |
22:23 |
sofar |
that makes a new timer instance |
22:23 |
sofar |
or something like that |
22:24 |
sofar |
see the big problem I have is that you've made 2 objects instead of one |
22:24 |
sofar |
I'd ... just make 2 objects |
22:24 |
nerzhul |
sofar, #5475 needs you attention when timer:start() |
22:24 |
Jordach |
wooooooo |
22:24 |
Jordach |
got my energy back to develop |
22:27 |
sofar |
I can live with embedding/passing the data into the timer function, but you guys are making my OOP hurt with the request to make an object model that has 2 behaviors |
22:27 |
sofar |
you guys need a TimerManager() class around Timer() |
22:28 |
Jordach |
>OOP |
22:28 |
Jordach |
the door is that-a-way |
22:29 |
Jordach |
pack your shit |
22:29 |
Jordach |
</sarcasm> |
22:29 |
sofar |
I'm absolutely not a fan of OOP |
22:29 |
Jordach |
:D |
22:29 |
Jordach |
:DDDDDD |
22:29 |
sofar |
but lua does it nicely and elegantly that it's just stupid to not use it |
22:30 |
Jordach |
lua at least makes writing C hell of a lot easier |
22:30 |
Jordach |
(in the viewpoint of that lua is C but easier to write for another person) |
22:32 |
sofar |
I would have loved it if lua was a curly brace language |
22:32 |
sofar |
oh well |
22:33 |
sofar |
rubenwardy: what's wrong with e.g. ItemStack() and Settings() ? |
22:33 |
nore |
sofar: easy, just preprocess your files with s/{/begin/ and s/}/end/ :) |
22:33 |
nore |
hmm, doesn't work for if/then though |
22:33 |
sofar |
x = begin a = 5, c = 6, end |
22:34 |
nore |
heh |
22:34 |
rubenwardy |
those are fine as they have no side effects |
22:34 |
nore |
^ this is valid OCaml code btw :p |
22:34 |
sofar |
ocaml? ocaml! |
22:35 |
sofar |
that language should come with a warning: WRITTEN BY FRENCH PEOPLE, BEWARE |
22:35 |
nore |
OCaml is nice :) |
22:35 |
nore |
aaaand? |
22:35 |
nore |
OCaml is a wonderful language |
22:36 |
sofar |
[] |
22:36 |
sofar |
there's a bar of soap |
22:36 |
sofar |
go wash your mouth :) |
22:36 |
* nore |
only sees an empty list |
22:37 |
nerzhul |
OCaml is just a crappy language :p |
22:37 |
nerzhul |
it's like Minitel vs Internet :D |
22:38 |
Jordach |
sofar, nore is french ;) |
22:38 |
nore |
print_endline ("OCaml is a " ^ (match talking_to with "sofar" | "nerzhul" -> "" | _ -> "wonderful ") ^ "programming language.") |
22:38 |
nore |
:) |
22:38 |
Jordach |
it explains alot |
22:38 |
sofar |
Jordach: I'm well aware of most peoples' nationalities :) |
22:38 |
nore |
heh |
22:38 |
Jordach |
i forgot the space in a lot |
22:39 |
Sokomine |
nore: such people-translaters could be of general use :) |
22:39 |
nore |
Sokomine: :D |
22:40 |
nore |
I don't see why some people say OCaml is awful though :'( |
22:41 |
Jordach |
if i wanted a trash language i'd have learned java years ago |
22:41 |
nore |
when you have to work on complicated datatypes (like when you are writing a compiler), it is just so much more adapted than C/C++/Lua/Python/Java/etc |
22:41 |
nore |
and it has *pattern matching* |
22:42 |
* nore |
's eyes brighten when he sees a language provides pattern matching |
22:43 |
Sokomine |
hmpf. i'll never catch up reading the forum! new posts appear faster than ic an read... |
22:43 |
rubenwardy |
Haskell |
22:44 |
rubenwardy |
That's what I'm using to write a compile atm :) |
22:45 |
nore |
yeah, Haskell does this as well :) |
22:45 |
nore |
I prefer OCaml but this I can concede it's just a matter of taste ^^ |
22:45 |
nore |
Sokomine: I gave up reading the forum looooooong ago |
22:45 |
nore |
even just reading the modding sections |
22:47 |
Jordach |
Sokomine, forum.minetest.net 127.0.0.1 |
22:48 |
Jordach |
it's a mountain of shitposts at this point |
22:48 |
Sokomine |
jordach: *g* need to set that for all these people that post while i'm still trying to read :) |
22:49 |
* Jordach |
solves the sapling and plant growing issue entirely |
22:49 |
Jordach |
core:omni_* |
22:49 |
nore |
Jordach: how? |
22:49 |
Jordach |
nore, each plant registry under register_decoration does not count the others ratio |
22:50 |
Jordach |
i'm already using 0.000007 on trees in plains and it fails |
22:50 |
Jordach |
even at that precision |
22:50 |
nore |
what do you mean, it fails? |
22:50 |
Jordach |
nore, other registered decorations do not count towards placing it |
22:50 |
nore |
ah |
22:50 |
nore |
that's bad :/ |
22:50 |
Jordach |
it's why i'm using omni plants |
22:50 |
Fixer |
*,..,* |
22:50 |
Jordach |
they're randomised during on_gen |
22:51 |
Fixer |
there is nice bot for jabber written in Ocaml |
22:51 |
Fixer |
i used this doing bot fights |
22:51 |
Fixer |
that was hilarious |
22:51 |
* Jordach |
forgot about the DJ Hero soundtrack again |
22:52 |
Jordach |
and blender broke again |
22:52 |
Fixer |
Jordach: https://pbs.twimg.com/media/C9KPANZWsAEzJoT.jpg |
22:52 |
Jordach |
fail as in total app crash |
22:52 |
Fixer |
Jordach: https://pbs.twimg.com/media/C9KPAOAW0AE_QUt.jpg |
22:55 |
Fixer |
long silence from Jordach |
22:55 |
Jordach |
uwot |
22:56 |
sofar |
Jordach: that just means you're using it correctly |
22:57 |
Jordach |
sofar, only when minimised |
23:00 |
Jordach |
Sokomine, farmed / grown lilac; http://i.imgur.com/T9YOwhL.png |
23:00 |
Jordach |
mesh is the grown on a flower bed variant |
23:00 |
Jordach |
wild ones are only the standard X shape |
23:00 |
Jordach |
and that fits in a block, i measured |
23:13 |
sofar |
10 surfaces? |
23:14 |
sofar |
so it makes 5 plants in a bunch, do I see that right? |
23:14 |
Jordach |
well, flowers grown in a flowerbed produce 5 plants |
23:14 |
Jordach |
considering you have to find them wild for the inital seed |
23:15 |
Jordach |
see https://github.com/Jordach/Solar_Plains/issues/6#issuecomment-291122699 |
23:15 |
sofar |
no, I'm just talking about the visual |
23:15 |
Jordach |
eys |
23:16 |
sofar |
I see 10 surfaces, I'm assuming you're attempting to make "a bunch" of flowers in one obj |
23:16 |
Jordach |
yeeeep |
23:16 |
Jordach |
it'll look proper later on |
23:16 |
sofar |
well it doesn't look unproper now |
23:16 |
Jordach |
i mean in game |
23:16 |
sofar |
I'm just ... 10 surfaces for what looks like a bunch of 5 plants |
23:17 |
Jordach |
the engine doesn't do it for me, so |
23:17 |
sofar |
take out the middle one and go for 8/4 ? |
23:17 |
sofar |
could add it to meshoptions |
23:17 |
Jordach |
lemme place a few in world |
23:17 |
sofar |
the engine could do it |
23:17 |
Jordach |
sofar, the corners are actually different ;) |
23:17 |
Jordach |
they're not inline in a X shape |
23:18 |
Jordach |
they're 1/16th off to the left relative to that rotation |
23:18 |
sofar |
right, that can all go into meshoptions |
23:18 |
Jordach |
so there's no visual z-fighting |
23:18 |
sofar |
yes, of coure |
23:18 |
sofar |
that can all go into meshoptions |
23:18 |
Jordach |
sofar, and as usual, my mcore.options will support it |
23:19 |
Jordach |
makes it far easier to work with those bits |
23:19 |
sofar |
place_param2 = jordach_style_meshopt_value, |
23:19 |
Jordach |
top kek |
23:19 |
Jordach |
wait what |
23:19 |
Jordach |
place_param2 |
23:19 |
* Jordach |
checks https://github.com/minetest/minetest/blob/master/doc/lua_api.txt |
23:20 |
Jordach |
https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L3901 |
23:20 |
Jordach |
DAAAAAMN |
23:20 |
sofar |
there's no client side prediction to that, though |
23:20 |
sofar |
(that's a bug) |
23:22 |
Jordach |
i'll ignore it for now |
23:22 |
Jordach |
but will be ready to roll whenever it's ready |
23:24 |
Sokomine |
any forum moderators present? looks like the lastest postings could get cleaned up... |
23:24 |
sofar |
I have the powers |
23:24 |
sofar |
but celeron55 doesn't want me to use them |
23:24 |
Sokomine |
nore: there are sometimes very intresting topics |
23:25 |
Sokomine |
Jordach: er. i've just handed my trees_lib over to sofar for minetest-mods. it does handle the saplings and node registration etc but isn't enitrely up to date with more recent changes like lbm |
23:26 |
Sokomine |
jordach: very nice that lilac. please get it added as a flower. not only to bfd |
23:26 |
Jordach |
Sokomine, you mean Solar Plains |
23:27 |
Jordach |
i've started from nothing |
23:27 |
Jordach |
and re-implemented everything over anew |
23:28 |
Sokomine |
Jordach: oh? working on a new game now instead of bfd? hope you'll make it a little easier for players :-) |
23:28 |
Sokomine |
btw, i could use some rape seed flowers....for farming. i'm still after those oil plants i'd love to have added to farming in mtg |
23:29 |
Jordach |
can do |
23:29 |
Sokomine |
that would be great :-) |
23:29 |
Jordach |
Sokomine, it's a redesign of BFD but in a less inane way |
23:30 |
Jordach |
and contains the next part of my design |
23:31 |
Jordach |
Sokomine, instead of how VE-S does trading and such |
23:31 |
Jordach |
i plan on something even fancier |
23:32 |
|
Nathans21 joined #minetest-hub |
23:32 |
Jordach |
i've got a few programming logic sketches |
23:32 |
Jordach |
but other than that, it's a basic prototype |
23:35 |
Sokomine |
trading? what does that have got to do with it? |
23:35 |
Jordach |
multiplayer sucks without things to actually do |
23:37 |
Jordach |
http://i.imgur.com/z7lO9Ok.png Sokomine, sofar |
23:38 |
Sokomine |
ah yes, i remember you where planning something |
23:38 |
Jordach |
considering my ability to optimise everything in MT Lua wise |
23:38 |
Sokomine |
have you tried out brandonreeses adventuretest? the server with the most current version? it's pretty nicely done. i love that npc run around in the villages and even talk to a degree :-) |
23:39 |
Jordach |
Sokomine, don't let me have a crack at that ;) |
23:39 |
Jordach |
you know my talent for polish |
23:39 |
Sokomine |
Jordach: i don't like the style of the grass. but the flower is very nice |
23:39 |
Jordach |
Sokomine, always improvable |
23:40 |
Sokomine |
it's probably too bright for my taste. and just a diffrent style. but i really like the flower |
23:41 |
Jordach |
http://i.imgur.com/PoBviWd.png |
23:41 |
Jordach |
sand is considerably better |
23:41 |
Jordach |
and my ginger cat is giving me a cuddle |
23:42 |
* Sokomine |
grabs the cat and runs away with it |
23:42 |
Jordach |
he's a middle aged git |
23:42 |
Jordach |
he only really loves me and prefers sitting on my lap to anyone elses |
23:43 |
Sokomine |
:-) |