Time |
Nick |
Message |
00:15 |
|
twoelk|2 joined #minetest-hub |
00:30 |
garywhite |
FYI, a Fire OS bug for Amazon tablets is causing sideloads to not work |
00:30 |
CBugDCoder |
MT is availible for the kindle? |
00:34 |
sofar |
never tried it myself |
00:35 |
sofar |
I've sideloaded kodi, though |
00:35 |
Grandolf |
ive used it on kindle fire |
00:35 |
Grandolf |
kindle is slow to load |
00:38 |
Wayward_One |
Heh, good thing I don't update mine :3 |
00:51 |
|
rubenwardy joined #minetest-hub |
00:53 |
rubenwardy |
o/ |
01:04 |
paramat |
\o |
01:06 |
benrob0329 |
o/ |
01:13 |
|
bigfoot547 joined #minetest-hub |
01:17 |
shivajiva |
\o |
01:18 |
shivajiva |
heh seems like a reasonable precaution |
01:18 |
shivajiva |
lol |
02:17 |
|
xerox123_ joined #minetest-hub |
02:27 |
|
paramat joined #minetest-hub |
02:32 |
|
ThomasMonroe joined #minetest-hub |
02:37 |
|
CBugDCoder joined #minetest-hub |
06:15 |
|
nerzhul joined #minetest-hub |
06:45 |
|
behalebabo joined #minetest-hub |
07:43 |
|
CWz joined #minetest-hub |
07:59 |
|
compunerd joined #minetest-hub |
08:19 |
|
nerzhul joined #minetest-hub |
09:13 |
|
Krock joined #minetest-hub |
09:37 |
|
shivajiva joined #minetest-hub |
09:38 |
|
Bobr2 joined #minetest-hub |
09:42 |
|
Megaf joined #minetest-hub |
09:52 |
|
RoaryTiger joined #minetest-hub |
11:25 |
|
Fixer joined #minetest-hub |
11:26 |
|
Jordach joined #minetest-hub |
11:44 |
|
Krock joined #minetest-hub |
11:46 |
|
sniper338 joined #minetest-hub |
12:44 |
|
Krock joined #minetest-hub |
12:51 |
|
Aerozoic joined #minetest-hub |
13:01 |
|
ThomasMonroe joined #minetest-hub |
13:24 |
|
Mr_Pardison joined #minetest-hub |
13:36 |
|
sniper570 joined #minetest-hub |
13:56 |
|
CBugDCoder joined #minetest-hub |
14:24 |
|
Fixer joined #minetest-hub |
15:06 |
|
Fixer joined #minetest-hub |
15:14 |
|
Mr_Pardison joined #minetest-hub |
15:14 |
|
tenplus1 joined #minetest-hub |
15:14 |
tenplus1 |
hi folks |
15:15 |
Krock |
hi tenplus1 |
15:15 |
Fixer |
tidyman |
15:15 |
tenplus1 |
hey Krock :) |
15:15 |
tenplus1 |
hifixer |
15:15 |
tenplus1 |
how's all ? |
15:15 |
Fixer |
tenplus1: so how is that chest investigation doing, |
15:15 |
benrob0329 |
tenplus1: hey tenplus1 |
15:15 |
tenplus1 |
hi benrob o/ |
15:15 |
tenplus1 |
Fixer: will work on that next day am off, too much happening lately |
15:16 |
benrob0329 |
Pushed that backend update for the TARDIS a few days ago :P |
15:16 |
tenplus1 |
nice one, working ok ? |
15:16 |
Wayward_One |
hi all |
15:16 |
tenplus1 |
hey wayward |
15:16 |
Mr_Pardison |
sup peeps. |
15:17 |
benrob0329 |
tenplus1: yees, probably going to push some smaller updates for a bit |
15:18 |
tenplus1 |
hi pardison |
15:18 |
benrob0329 |
I keep putting off the interior generation, probably because its a huge undertaking |
15:19 |
tenplus1 |
dont worry, it'll happen soon enough :D |
15:20 |
benrob0329 |
So much has to change for it to happen, I've gotta change from a meta to a pos based owner-resolution system |
15:20 |
Mr_Pardison |
Wayward_One informed me that MT's files are cross compatible so that means I will still have my technic setup that will show me how much time and how many things it takes to producer fuel for the nuclear reactor. |
15:22 |
CBugDCoder |
hi ten |
15:23 |
tenplus1 |
hi CBug |
15:24 |
Mr_Pardison |
afk fire drill (idk why it's happening or if it's real) |
15:25 |
* tenplus1 |
runs around with foam extinguisher |
15:27 |
* tenplus1 |
adds blue agave to Xanadu so we can make tequila :D |
15:28 |
CBugDCoder |
is is possible to use the biome api for lua generated terrain? |
15:28 |
tenplus1 |
I thnk they are separate, |
15:29 |
CBugDCoder |
ik the biome api is in C++ but i was hoping to be able to use it on athermensia for biomes in diferent realms |
15:30 |
tenplus1 |
0.5.0 has new cavegen decorations and the floatlands layer with biomes ready to use |
15:30 |
CBugDCoder |
something like VM:generate_biomes(placeholder node) |
15:31 |
CBugDCoder |
cause i am generating the terain in lua but i want to yse the builtin biome features instead of coding my own biome generator |
15:31 |
CBugDCoder |
use^ |
15:33 |
tenplus1 |
is it something you cant do with builtin mapgen ? |
15:33 |
CBugDCoder |
yes cause i want to have terain at -10000 |
15:34 |
CBugDCoder |
i would love to be able to use the default mapgen but idk how to do that :/ |
15:34 |
tenplus1 |
look how Caverealms_lite works |
15:34 |
tenplus1 |
paramat did say he was adding layering, but dunno how it works yet |
15:35 |
CBugDCoder |
ik i did and have a simple biome gen working but the builtin one is much better XD |
15:35 |
tenplus1 |
we really need the layering feature to have biomes underground as well and in the air |
15:36 |
FourFire |
well it looks like my mod wasn't actually crashing Minetest |
15:36 |
tenplus1 |
hi ff |
15:37 |
FourFire |
But I've apparently brought a game engine core bug to the attention of the MCL2 dev |
15:37 |
CBugDCoder |
well underground biomes are existant but not underground landscape |
15:37 |
FourFire |
hi tenplus1 |
15:37 |
tenplus1 |
what bug? |
15:37 |
Mr_Pardison |
tequila! |
15:38 |
Mr_Pardison |
finally someone gets that. |
15:38 |
FourFire |
tenplus1, https://hastebin.com/yuvizojate.vbs |
15:38 |
tenplus1 |
eheheh, mind you the blue agave texture is a bit rough, had to draw that in gimp :D |
15:38 |
Mr_Pardison |
you got gimped |
15:38 |
tenplus1 |
oog, that looks a bad 'un |
15:39 |
Mr_Pardison |
it's a joke we had back in 9th grade in web design when we had to use it. |
15:40 |
FourFire |
Does anyone know whether there's a way to run mod_data:set_string("String", value) once, upon map save or perhaps on a regular timer? |
15:40 |
FourFire |
in case of crash |
15:41 |
tenplus1 |
use globaltimer |
15:41 |
tenplus1 |
that way you can run it every nth second or so |
15:41 |
FourFire |
I currently have it running in ABMs which run multiple times per second, and I think this reduces stability |
15:42 |
FourFire |
where is globaltimer documented? |
15:42 |
tenplus1 |
finding link |
15:43 |
Jordach |
trying to rotate a node with facedir |
15:43 |
tenplus1 |
https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L2520 |
15:43 |
Jordach |
doesn't seem to work when given a proper 3d direction |
15:44 |
Jordach |
minetest.dir_to_facedir({x=-1,y= 0,z= 0},true) does not when using set_node param2 |
15:49 |
Jordach |
even with a get_look_dir() doesn't work inside an on_use |
15:51 |
tenplus1 |
hi Jordach, am surprised it doesnt work... so long as player obj is supplied it should |
15:51 |
Jordach |
it's from on_use (itemstack, user, pointed_thing) |
16:04 |
benrob0329 |
FourFire: why not just save directly to mod_storage? |
16:04 |
FourFire |
benrob0329, I am right now |
16:04 |
tenplus1 |
what is it that you are saving at regular intervals ff ? |
16:05 |
FourFire |
But I want to see if I increase performance and reduce crash rates by dong it this way |
16:06 |
FourFire |
tenplus1, 11 variables which update quite frequently |
16:06 |
tenplus1 |
ah okie |
16:06 |
FourFire |
how often depends on things in game, but can be up to once every 0.01 second |
16:06 |
|
Mr_Pardison joined #minetest-hub |
16:09 |
benrob0329 |
FourFire: I feel like that's too much probing for sanity's sake |
16:09 |
benrob0329 |
does it need to be updated that much? wouldn't 1/s be enough? |
16:10 |
FourFire |
benrob0329, tell me how many flops does the following function use: mod_data:set_string("String", (tonumber(mod_data:getstring) + 1)) |
16:11 |
FourFire |
compared to: string = string + 1, mod_data:set_string("String", string) |
16:11 |
FourFire |
? |
16:11 |
benrob0329 |
well, it parses the json file, reads the string, converts is to a number (which can be done with get/set_int) then adds 1, then writes the json file |
16:12 |
FourFire |
if I'm running this 100 times per second, I get the feeling it's going to consume some CPU power |
16:12 |
FourFire |
Now, what I'm proposing to do is only: string = string + 1 |
16:12 |
benrob0329 |
I mean you can use variables as a buffer, but I feel like the problem is with how often you need to probe this |
16:13 |
FourFire |
100 times per second, and then only once every three minutes or so do mod_data:set_string("String", string) |
16:13 |
benrob0329 |
would it be that bad if it only updated 1/second, with bigger jumps in between updates? |
16:13 |
FourFire |
no, every update is an increment of 1 |
16:14 |
FourFire |
but the writing to sotrage can happen in big jumps, yes |
16:14 |
benrob0329 |
I suppose I don't understand how energy is used |
16:14 |
FourFire |
Like i said, I've got 11 different variables which work in this way, energy is one of them |
16:14 |
FourFire |
energy is consumed on a per ABM basis, not as a function of time |
16:15 |
Fixer |
upcoming minecraft will have kelp and coral, gotta remove that from minetest_game >_> |
16:15 |
benrob0329 |
I still feel like this is bad design if it requires constant updating hundreds of times a second, but very well |
16:15 |
benrob0329 |
Fixer: We were first :^) |
16:15 |
CBugDCoder |
we had it first so we can keep it :) |
16:15 |
FourFire |
it's my first programming, I'm trying to reduce the burden |
16:16 |
tenplus1 |
can you paste your current ABM into pastebin and show me ff ? |
16:16 |
FourFire |
tenplus1, you can see my entire mod if you like |
16:16 |
tenplus1 |
okie |
16:17 |
Fixer |
"Fish[3], finally, is not only an item, but also a mob. Cod, salmon, puffer fish, clownfish and even more species of tropical fish will be added. Any player will be able to catch a fish in a bucket, and it will not despawn anymore after release, allowing to create aquariums at home." |
16:17 |
CBugDCoder |
ten i am working on a hub mod for LoS and am making teleporter pads is playerplus on_walkover good for them or would node timers be better? |
16:17 |
FourFire |
tenplus1, https://cdn.discordapp.com/attachments/369123175583186964/385648764054011915/FourFire_nano_mod_1.0.0.7z |
16:19 |
tenplus1 |
abm's only run every 1 second or more... 0.1 isnt a valid time |
16:20 |
tenplus1 |
wow, you have a LOT of abm's |
16:21 |
FourFire |
You say that, but ingame I experience the ABMs working faster than 1 per second |
16:21 |
tenplus1 |
do mr a favour, give me the gist of what this mod actually does |
16:21 |
tenplus1 |
*me |
16:21 |
FourFire |
It's an implementation of a cellular automata in 3 dimensions |
16:21 |
FourFire |
The standard node, node_grey spawns rarely in topsoil |
16:22 |
tenplus1 |
so it grows naturally depending on which node it's near ? |
16:22 |
FourFire |
if you mine it, you get one drop, 9 drops become one original node, and nine nodes become a control node |
16:22 |
|
Mr_Pardison joined #minetest-hub |
16:22 |
FourFire |
you can place caol ore or coal blocks next to a node_grey and it will eat the block |
16:23 |
FourFire |
spreading for coal ore, not spreading for coalblock |
16:23 |
FourFire |
this gives all node_grey a pool of energy which they then consume to spread, meanwhile eating other nodes |
16:24 |
FourFire |
Ore nodes, as well as sand, clay & gravel when eaten, add to iterating counters |
16:24 |
tenplus1 |
and why the counters ? what do they provide to the ore ? |
16:24 |
tenplus1 |
the node_grey ? |
16:24 |
FourFire |
energy is consumed and the contents of those nodes may be regained by placing a chest directly above a control node |
16:25 |
benrob0329 |
FourFire: would a node timer work? started on place? |
16:25 |
FourFire |
metals are "smelted" to bars, and blocks |
16:26 |
FourFire |
not because these are global values which just need to be updated upon multiple node actions |
16:26 |
tenplus1 |
so once a chest is placed on a control node the counters can be used to place items inside / |
16:27 |
FourFire |
tenplus1, the counters add up how many ore nodes of a given type have been eaten and "smelted" this is so that the player can get those smelted items back with the chest above the control node |
16:27 |
FourFire |
yes, try it out yourself in creative |
16:27 |
FourFire |
further, there's a third kind of block, nano_white |
16:27 |
FourFire |
this is supposed to be white-hot burning nano |
16:28 |
FourFire |
if you set fire to nano_grey it catches on fire and is replaced by nano_white, this rapidly spreads |
16:28 |
tenplus1 |
so long as it has eatable ores nearby ? |
16:29 |
tenplus1 |
catch_up = true is going to seriously lag servers |
16:29 |
tenplus1 |
I'd set this to false |
16:29 |
FourFire |
this is the control method nano_white either disappears, or spawns either stone, ore or gravel |
16:29 |
FourFire |
That's supposed to be on true for a reason |
16:29 |
tenplus1 |
if catching up and somehow it has to update 800 nodes at one point in time the server could stall |
16:30 |
FourFire |
if your node_grey spread to far, you just set one on fire and they will be "burnt out" relatively wuickly |
16:30 |
FourFire |
That |
16:30 |
FourFire |
s true |
16:31 |
|
Darcidride_ joined #minetest-hub |
16:31 |
tenplus1 |
hi Darcidride_ |
16:34 |
tenplus1 |
so far it has updated 7000 nodes + |
16:34 |
tenplus1 |
this mod on a server would be a nightmare |
16:35 |
tenplus1 |
will look into it and see if it can be optimized |
16:46 |
FourFire |
tenplus1, what is the average server hardware in the minetest community? |
16:46 |
sofar |
is it abm based? |
16:46 |
FourFire |
sofar, link to my mod above if curious |
16:46 |
tenplus1 |
hi sofar... and yeh it's all abm based |
16:46 |
sofar |
well abm's are the worst way to do things CPU wise |
16:47 |
tenplus1 |
you could merge many of the abm's into a single one... |
16:47 |
sofar |
convert it to use node timers instead |
16:55 |
CBugDCoder |
tenplus1 i am working on a hub mod for LoS and am making teleporter pads is playerplus on_walkover good for them or would node timers be better? |
16:56 |
tenplus1 |
if you use playerplus you could easily use on_walkover for tp pads |
16:57 |
CBugDCoder |
ok thx :) |
16:59 |
tenplus1 |
especially if they are placed specifically by server owner and players can only use them, not place them |
17:03 |
CBugDCoder |
yes they are going to be i wont even have them in the creative inv |
17:03 |
tenplus1 |
sweet, on_walkover is perfect then :) |
17:04 |
CBugDCoder |
kk and probbly less resource intensive then timers since they will be loaded 99.99% of the time :) |
17:04 |
tenplus1 |
you could have an admin tool to SET coords inside teleport block which keeps it light so node contains nothing but coords |
17:05 |
CBugDCoder |
right actually i will be setting to a game name string but ittle work the same |
17:06 |
tenplus1 |
:P |
17:06 |
tenplus1 |
I think on_walkover should be in minetest itself... is too handy not to be |
17:06 |
CBugDCoder |
and ill have checkpoiint blocks which will have no data XD |
17:07 |
tenplus1 |
gotta check it when you've finished... sounds interesting :D |
17:07 |
CBugDCoder |
yes on_walkover should be in core |
17:07 |
ThomasMonroe |
you could check out the spawn as it is atm |
17:07 |
ThomasMonroe |
:P |
17:09 |
tenplus1 |
:P |
17:19 |
|
Mr_Pardison joined #minetest-hub |
17:20 |
sofar |
on_walkover isn't necessarily more efficient than node timers |
17:20 |
tenplus1 |
if playerplus is already running then on_walkover is already in use already |
17:21 |
tenplus1 |
why add nodetimers on top of that... so yes... it is more efficient |
17:21 |
sofar |
iterating over all logged in players and doing the lookups for that also has a cost |
17:21 |
tenplus1 |
playerplus already uses the same node lookup for many things BEFORE checking on_walkover... it's already cached beforehand |
17:22 |
FourFire |
Is this the process of software bloat? |
17:23 |
tenplus1 |
not at all... playerplus is optimized to check once beneath the player every second and uses that single lookup for many things |
17:23 |
FourFire |
People with varying levels of knowledge arguing over what is necessary and then slowly but surely conceding to more and more features used only once |
17:23 |
FourFire |
or rarely |
17:23 |
sofar |
tenplus1: it still derefs minetest.registered_nodes for every pos every player is standing on, every interval |
17:24 |
FourFire |
until Excel requirestens of thousands of times more ram and computing power just to do what it did originally? |
17:24 |
benrob0329 |
tenplus1: is there a playerplus script I can use that will just add on_walkover if the mod is not installed? |
17:24 |
tenplus1 |
derefs ??? explain sofar |
17:24 |
sofar |
https://github.com/tenplus1/playerplus/blob/master/init.lua#L63 |
17:24 |
tenplus1 |
yes ben, it's at the end of the playerplus init.lua |
17:26 |
tenplus1 |
it runs the registered on_walk_over that has been assigned to THAT particular node... what's wrong with that ? |
17:26 |
sofar |
it does a table lookup over the entire list of registered nodes |
17:26 |
sofar |
that's not a cheap thing |
17:27 |
sofar |
I'm not saying it's a bad thing |
17:27 |
benrob0329 |
Only do it once, putting the ones that do in a secondary table? |
17:27 |
tenplus1 |
? that one check is NOT expensive |
17:27 |
sofar |
I'm saying that performance wise, it's not the most efficient thing in many cases |
17:27 |
tenplus1 |
it looks at that exact node table for a function and if found will run it... |
17:27 |
Mr_Pardison |
I shall have my other computer (that I normally use) ready for use on or before Monday. |
17:28 |
Mr_Pardison |
yay! |
17:28 |
sofar |
plus this does give a 1.0 second latency on pressure plates |
17:28 |
sofar |
which may be 0.1 second, too, so it's inconsistent for users |
17:29 |
sofar |
anyway, I don't really like that method myself, for various reasons |
17:29 |
sofar |
nodetimers have other pros and cons |
17:29 |
FourFire |
tenplus1, will there be any noticable impact if I make a 64x64 floor of pressureplates in the basement of my castle? |
17:30 |
tenplus1 |
my point is that if playerplus is already in use and checking what the player stands on for speed changes or other playerplus features, you may as well use it for teleport blocks |
17:30 |
FourFire |
because players will do this kind of thing |
17:30 |
tenplus1 |
ff, no... |
17:30 |
benrob0329 |
sofar: how would you impliment a pressure plate type thing? (Legitimate question) |
17:30 |
tenplus1 |
it'll only ever check the current block the player stands on top of with on_walkover... but with nodetimers it'll check every single block's nodetimer |
17:31 |
sofar |
depends if I want a low latency one or that isn't a factor |
17:31 |
benrob0329 |
Low latency is best |
17:31 |
shivajiva |
^ |
17:31 |
sofar |
then it's nodetimers hands down |
17:31 |
tenplus1 |
hi shiva |
17:32 |
shivajiva |
hi tenplus, everyone o/ |
17:32 |
Mr_Pardison |
o/ shivajiva |
17:32 |
benrob0329 |
sofar: do we have a player radius checker or something? |
17:32 |
sofar |
the core handles nodetimers without escaping to lua unless needed, and entity checks are usually cheap, so there is almost no lookup overhead for things like pressure plate events |
17:32 |
CBugDCoder |
hi shivajiva |
17:32 |
sofar |
yes, entities can be searched in a region |
17:34 |
sofar |
if you have many players, nodetimers will also benefit if they are all in the same region |
17:34 |
sofar |
if they're far apart, then the other method may help |
17:34 |
sofar |
btw |
17:35 |
shivajiva |
interesting, now I have to make one to see the gain |
17:35 |
sofar |
if you do a globalstep, and then use a time method to only run every N steps, you're silly and should learn to use minetest.after() instead |
17:35 |
sofar |
a globalstep is for doing something every step |
17:35 |
sofar |
use minetest.after if you're NOT doing something every step |
17:36 |
shivajiva |
in a hub scenario where the pads are all in clusters in close proximity it should be visibly better |
17:36 |
sofar |
scale becomes a factor at that point |
17:36 |
benrob0329 |
What is one step, time wise? |
17:36 |
sofar |
30 players in a room with 4 teleport pads |
17:37 |
sofar |
do you want 30 checks or 4 checks? |
17:37 |
tenplus1 |
I already mentioned that that single check is used for many other things in playerplus itself... it's not a wasted check |
17:38 |
sofar |
benrob0329: depends on the server tick interval, default 0.09sec |
17:40 |
sofar |
tenplus1: that's only relevant if the other parts are used. And the scale still matters as well. |
17:40 |
sofar |
but, sure, this isn't a criminal piece of code or anything |
17:40 |
tenplus1 |
and the playerplus checks are global so other mods can use it to save checks also |
17:41 |
Jordach |
https://jordach.net/images/sunvdmuqbsiacqwqa.png |
17:41 |
Jordach |
tenplus1, got a proper model for my automation pipes |
17:41 |
tenplus1 |
ooh nice/// looks good |
17:42 |
tenplus1 |
what can it do so far ? |
17:42 |
tenplus1 |
anything new added |
17:42 |
sofar |
ugly nodeboxes :) |
17:44 |
Jordach |
that's no nodebox |
17:44 |
shivajiva |
only issue with that is the dependency I need once I coded with those checks tenplus, I guess that's why you'd like to see it incorporated :) |
17:44 |
Jordach |
https://youtu.be/jU5HkFtyBh8 |
17:44 |
Jordach |
tenplus1, ^ |
17:44 |
sofar |
does it stick 1px into the brick block? |
17:44 |
tenplus1 |
shiva: yeah, if it were included in game already and checked nodes around player then it'd be faster and global for mods to make use of |
17:45 |
Jordach |
sofar, it also tiles perfectly |
17:45 |
sofar |
tenplus1: one issue is that other mod writers may not want 1.0 second interval steps |
17:45 |
sofar |
someone else will want better |
17:45 |
sofar |
e.g. xdecor has a faster interval for its pressure plates |
17:46 |
tenplus1 |
true, will make that configurable |
17:46 |
sofar |
but that will change all your code to run at a different interval |
17:46 |
sofar |
and you want your movement code to be consistent, I assume |
17:46 |
sfan5 |
Jordach: it looks like you're reinventing buildcraft |
17:46 |
tenplus1 |
depends on feature, |
17:48 |
tenplus1 |
since mt engine checks what player is standing on every single step, that's why I wanted it included in engine, then it could work very fast but reduce checks to minimum |
17:48 |
sofar |
that would be preferred |
17:48 |
shivajiva |
^ |
17:49 |
tenplus1 |
from what I saw in code, it checks from under players feet up to above head... so 4x node checks per tick |
17:49 |
sofar |
it may require some creative thinking about the callback though |
17:49 |
tenplus1 |
store that in a global var, let mods access it and the game will fly along when mods adapt |
17:49 |
sofar |
global var? |
17:49 |
sofar |
nah |
17:49 |
tenplus1 |
global table |
17:49 |
sofar |
that won't fly |
17:50 |
tenplus1 |
player[name].standing_on .foot_level .head_level |
17:50 |
tenplus1 |
would be easy |
17:50 |
sofar |
player:get_node_table() you mean |
17:50 |
sofar |
stupid to make a global table |
17:50 |
sofar |
just make a method to get the data |
17:51 |
sofar |
but, even simpler would be to make an API that is event based |
17:51 |
benrob0329 |
on_walkover(function(entity, pos, dir)) |
17:51 |
sofar |
either to the player object, or to the node def |
17:51 |
tenplus1 |
if get_node_table is easier then yes |
17:51 |
tenplus1 |
so long as mod can read what it needs superquick without having to check itself |
17:51 |
sofar |
global tables would be terrible api design |
17:53 |
tenplus1 |
I used global tables for simplicity to see if it all worked.. but yeah, a player:get_node_table() would be safer |
17:53 |
tenplus1 |
will write a function for that |
17:54 |
sofar |
I'd suspect some pair of on_entity_move_in(pos, object) and on_entity_move_out(pos, object) are the best possible combination |
17:54 |
sofar |
I do not think you continuously want to generate events while the entity is at a position and doesn't move |
17:55 |
benrob0329 |
Global tables are a bad idea for storing information :-) |
17:55 |
sofar |
there are only 2 relevant events, so to speak |
17:55 |
tenplus1 |
sounds like a plan... step on step off functions sound better and more configurable |
17:55 |
tenplus1 |
eheheh ben, I know... just testing for now |
17:55 |
sofar |
so these events can also fire if an item is dropped, for instance |
17:56 |
sofar |
which would be really handy for hoppers and stuff |
17:56 |
sofar |
or for lava to burn items |
17:56 |
sofar |
you could even improve fire spread this way |
17:56 |
sofar |
which sounds weird, but think about it |
17:56 |
sofar |
instead of ABM's, you could make fire ember entities |
17:57 |
tenplus1 |
it's a feature we are lacking in mt itself and does need some work to implement properly |
17:57 |
sofar |
they randomly shoot out of fire nodes |
17:57 |
tenplus1 |
been thinking about this for a looooong time |
17:57 |
sofar |
then events cause the spread |
17:58 |
benrob0329 |
sofar: or fire is a node state, which spawns particles :-) |
17:58 |
benrob0329 |
minetest.register_flame() |
17:58 |
tenplus1 |
the particle spawner pull to link all spawner particles into 1 draw seems nice |
17:59 |
sofar |
hijiri's pr? |
18:00 |
tenplus1 |
I think it's his, would need to check... but yeah, it improves particle performance |
18:00 |
tenplus1 |
and we need that too |
18:04 |
tenplus1 |
I thnk that the ;get_node_list() would improve server performance more than csm would... my opinioni |
18:05 |
|
nerzhul joined #minetest-hub |
18:05 |
tenplus1 |
hi nrz |
18:10 |
Jordach |
sfan5, notice there;s a few key differences |
18:10 |
sfan5 |
and those are? :D |
18:10 |
Jordach |
mover's can extract and insert certain items intelligently |
18:11 |
Jordach |
they know the difference between the fuel slot and src slot |
18:11 |
FourFire |
how do I lengthen the interval of minetest.register_globalstep(func(dtime)) to several seconds? |
18:11 |
Jordach |
sfan5, second mention, you can put pipes like this: | | and have them not honeycomb |
18:12 |
Jordach |
or form stupid crossroads |
18:12 |
Jordach |
unlike shitty pipeworks, it doesnt need to override things |
18:12 |
tenplus1 |
use dtime...e.g... define timer before globalstep and 1st line inside have timer = timer + dtime ; if timer < 1.0 then return end ; timer = 0 |
18:15 |
tenplus1 |
so depending on placement of pipe depends which "inventory" it checks... kinda like hoppers ? |
18:18 |
Jordach |
like it, but has a special rule |
18:19 |
tenplus1 |
kewl |
18:19 |
Jordach |
movers will not pull from their redside onto a greenside |
18:19 |
Jordach |
they can only put into others after it has checked the red side |
18:34 |
|
Mr_Pardison joined #minetest-hub |
18:44 |
Mr_Pardison |
Is a spike in lag normal when a player connects or disconnects from a server normal? |
18:44 |
tenplus1 |
depends on mods loaded and what it's up to |
18:47 |
Mr_Pardison |
3d_armor, 3d_armor_ip, abriglass, abripanes, abritorch, areas, bags, bakedclay, beds, bewarethedark, boats, bones, bucket, builtin_item, castle, caverealms, creative, darklands, default, dmobs, doors, dye, ethereal, farming, fire, flowers, ghost, give_initial_stuff, goblins, handholds, homedecor_light, hopper, inventory_plus, irc, irc_commands, jbo |
18:47 |
Mr_Pardison |
n, killme, mapfix, mobs, mobs_animal, mobs_monster, moreplants, nyancat, protector, real_torch, sauth, sban |
18:47 |
|
CBugDCoder joined #minetest-hub |
18:47 |
Mr_Pardison |
those are the list when running the cmd mods irc command. |
18:47 |
Mr_Pardison |
these are from d/l. |
19:07 |
|
ImNotHere joined #minetest-hub |
19:08 |
tenplus1 |
hi ImNotHere |
19:08 |
Megaf |
Hi tenplus1 |
19:08 |
tenplus1 |
o/ :P |
19:09 |
Mr_Pardison |
I see that waving (either o/ or \o) has been taken up as a way of greeting someone. |
19:09 |
Mr_Pardison |
fancy. |
19:09 |
tenplus1 |
it's handy :P aaaaaaah pun |
19:10 |
Mr_Pardison |
>.< |
19:10 |
Krock |
o/ Mr_Pardison |
19:10 |
Mr_Pardison |
\o Krock |
19:10 |
tenplus1 |
hey Krock :P |
19:11 |
Krock |
It's been used as a greeting long before this channel was created |
19:11 |
tenplus1 |
yeh, irc has spawned many ascii alternatives :) |
19:11 |
Krock |
2nd hello today, tenplus1 |
19:11 |
Mr_Pardison |
I took it up. |
19:11 |
Jordach |
i find node timers useless compared to a rock solid ABM |
19:11 |
tenplus1 |
waaaay before emojii |
19:11 |
Jordach |
node timers will stop working even with return true |
19:11 |
Jordach |
if the server crashes |
19:11 |
Krock |
IRC - The Movie |
19:12 |
Jordach |
UNO: The Movie |
19:12 |
Jordach |
(that's a real thing) |
19:12 |
tenplus1 |
nooooooooo |
19:12 |
tenplus1 |
Firefox vs Chrome the movie |
19:12 |
Krock |
yeeeeeee |
19:12 |
tenplus1 |
brb |
19:12 |
Krock |
The Ultimative Browser Battle: Firefox vs Chrome vs Shitty Toilet |
19:13 |
sofar |
Jordach: that doesn't make sense |
19:13 |
Jordach |
sofar, in my testing |
19:13 |
Megaf |
Mr_Pardison: o/ |
19:13 |
Jordach |
any time the server crashed due to bad logic, return true would not self restart |
19:13 |
sofar |
Jordach: if the server crashes and doesn't save the mapblock, doesn't it then load the old mapblock? |
19:13 |
Mr_Pardison |
\o/ |
19:13 |
Jordach |
sofar, not even that |
19:13 |
Megaf |
\o Jordach |
19:13 |
Jordach |
sofar, secondly, it behaved strangely |
19:14 |
Jordach |
sometimes it'd refuse to even properly call on_timer() some times |
19:14 |
Jordach |
even with print statements meowing with a digit |
19:14 |
sofar |
bug number? |
19:14 |
Jordach |
not listed |
19:14 |
sofar |
then it downt exist |
19:14 |
Mr_Pardison |
"mewoing"? |
19:14 |
Jordach |
but it's visible in 20a85d7 |
19:14 |
sofar |
repro code? |
19:15 |
Jordach |
crash the server when running a on_timer() call ending in return true |
19:15 |
Jordach |
make the timer one second or similar |
19:15 |
Jordach |
then crash it inside the on_timer call |
19:15 |
sofar |
you mean the on_timer callback causing the crash? |
19:15 |
Jordach |
yes |
19:15 |
sofar |
ah, yeah, sure |
19:15 |
Jordach |
that pisses me off entirely |
19:15 |
Jordach |
you could LBM it, but that's unfun |
19:15 |
Jordach |
when an ABM does the same thing with profiling |
19:16 |
sofar |
but crashing on_timer() is a developer issue |
19:16 |
Jordach |
(i've found the abm to even provide a strange mechanic related to how MT loops through x, y and z |
19:16 |
sofar |
not a player issue |
19:17 |
Jordach |
don't nodetimers survive being unloaded? |
19:19 |
sofar |
yes, they do |
19:20 |
Jordach |
handily, my logic for item movement only requires pos |
19:20 |
Jordach |
the rest is done magically |
19:20 |
Jordach |
(and currently hardcoded for certain items due to how slots are handled) |
19:21 |
Jordach |
i've found in testing, that minetest.rotate_and_place() is more useful than .rotate_node() |
19:21 |
Jordach |
because sneaking shouldn't make it do silly things, especially when that node has a formspec or on_place() action |
19:22 |
|
Mr_Pardison joined #minetest-hub |
19:42 |
|
IhrFussel joined #minetest-hub |
19:42 |
tenplus1 |
hi fussel |
19:44 |
IhrFussel |
Hi there... regarding the newest issue on github I already told you that the GUI scaling is just wrong on Android screens ... maybe tablets can display it fine but not cheaper phones with 4" screens ... I suggest you to set the default gui_sclaing on Android to 0.9 or 0.85 |
19:44 |
|
Grandolf joined #minetest-hub |
19:44 |
|
Grandolf joined #minetest-hub |
19:44 |
IhrFussel |
2nd newest* |
19:44 |
tenplus1 |
hi Grandolf |
19:46 |
IhrFussel |
Wait...it's the other way round, menu is too small so larger scaling is needed... but on some devices the menu would be too large to navigate then... I guess we need a resolution check before deciding the scale |
20:12 |
Jordach |
rubenwardy, might be time to get rid of device specific pixel scaling and use 1:1 pixel ratio for offsets and 0-100% positioning for anything else |
20:12 |
Jordach |
IhrFussel, ^ |
20:14 |
tenplus1 |
noticed this issue earlier: https://github.com/minetest/minetest/issues/6720 ... may have to change builtin_item to using "upright_sprite" to save pixel redraw for every item |
20:19 |
Krock |
but rotated items look nicer |
20:19 |
tenplus1 |
they do, yes... but with so many dropped items in a world and the drawing of every single pixel as a box, it must cause some amazing graphical lag eventually |
20:20 |
Jordach |
tenplus1, actually |
20:20 |
Jordach |
all you need is a strip rectangle with pixel co-ordinates from say 1,16 |
20:20 |
Jordach |
then use alpha to hide the real pixels |
20:22 |
Jordach |
https://jordach.net/images/kmhbbcgsyktebqfijx.png this node is actually a b3d model, and not a placed item |
20:23 |
|
paramat joined #minetest-hub |
20:23 |
benrob0329 |
Jordach: iirc that model was not optimized, it had a lot of inner faces |
20:23 |
tenplus1 |
hi paramat |
20:23 |
benrob0329 |
Hi paramat |
20:25 |
benrob0329 |
Oy, that's painful |
20:25 |
benrob0329 |
Dropped items..ehh |
20:25 |
Mr-Pardison |
shivajiva: issue on d/l about players being able to join with the exact same name as an admin but a different spelling. Have had this issue twice already. |
20:25 |
Mr-Pardison |
any idea what it could be? |
20:25 |
tenplus1 |
I may change to "upright_sprite" for now and see if it makes any improvement on Xanadu, as a test |
20:25 |
Jordach |
./privs <player_name> |
20:25 |
Jordach |
usually gives them away |
20:26 |
benrob0329 |
tenplus1: should still rotate |
20:26 |
benrob0329 |
For that matter, we could change it to be a one-face animated model |
20:26 |
tenplus1 |
maybe, will check |
20:26 |
benrob0329 |
Make it bounce up and down :D |
20:27 |
Jordach |
benrob0329, fun fact |
20:27 |
Jordach |
that can be a quad with a UV containing a row of pixels |
20:27 |
Jordach |
a single quad, as UV doesn't give a shit about tri count |
20:29 |
benrob0329 |
Jordach: what can be |
20:29 |
Jordach |
benrob0329, what i mean is, those faces are likely 16x1 pixel quads with two tris instead of 16*2 tris |
20:30 |
Jordach |
(eg, 1 quad per pixel instead of 1 quad per row / column) |
20:31 |
benrob0329 |
I still have no idea what your talking about |
20:31 |
Megaf |
Jordach: https://www.youtube.com/watch?v=5ks3ucumilU |
20:31 |
Jordach |
benrob0329, you use blender right |
20:31 |
Jordach |
make a plane in blender |
20:31 |
Jordach |
give that plane a z-transparency or similar with a texture with alpha |
20:31 |
paramat |
CBugDCoder you can use core ore and decoration generation in a lua mapgen |
20:31 |
Jordach |
no extra faces needed |
20:32 |
paramat |
but not biome generation |
20:32 |
benrob0329 |
Jordach: that doesnt solve the 3D effect |
20:32 |
Jordach |
benrob0329, faces will still be inside the model |
20:33 |
Jordach |
1 quad per pixel or not |
20:33 |
Jordach |
you cannot solve that with how it's generated |
20:33 |
paramat |
see https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L2824 |
20:33 |
benrob0329 |
Jordach: then you'll need more models for each resolution |
20:33 |
paramat |
use those after 'set data' but before 'calc lighting' and 'write to map' |
20:33 |
Jordach |
benrob0329, no |
20:34 |
Jordach |
for the sides the cover the entire face |
20:34 |
Jordach |
eg, from the front |
20:34 |
CBugDCoder |
ik i knew that for a while |
20:34 |
Jordach |
you just use a single plane with a texture |
20:34 |
benrob0329 |
Right, the edges though |
20:34 |
Jordach |
the insides need to be 1 quad with the UV mapped from edge to edge x image size |
20:34 |
CBugDCoder |
but is a function for biomes in the plans? |
20:38 |
tenplus1 |
nite all o/ |
20:38 |
CBugDCoder |
night |
20:38 |
|
tenplus1 left #minetest-hub |
20:47 |
paramat |
no plans yet |
20:47 |
paramat |
would be nice |
20:47 |
paramat |
for walk over, it might be close, see https://github.com/minetest/minetest/issues/247#issuecomment-332812987 |
20:55 |
CBugDCoder |
yay cant wait :) |
21:04 |
|
Mr-Pardison left #minetest-hub |
21:08 |
FourFire |
Okay I'm confused, what do I need to do to get this code to run: https://hastebin.com/solidakega.pl |
21:09 |
lisac |
hey is there any way to place an item_image in HUD? |
21:09 |
FourFire |
the point is to have a recurring timer every 80 seconds which executes all of those commands |
21:10 |
Krock |
FourFire, an example: https://github.com/minetest/minetest_game/blob/master/mods/player_api/api.lua#L99 |
21:10 |
Krock |
move your timer inside the new defined function |
21:10 |
Krock |
*timer variable |
21:10 |
Krock |
lisac, only if you have the HUD ID |
21:10 |
|
Mr_Pardison joined #minetest-hub |
21:11 |
Krock |
create a HUD, if there's none to alter. |
21:11 |
lisac |
Krock, is HUD a formspec? |
21:11 |
lisac |
that is, can I place formspec elements in HUD? |
21:11 |
Krock |
no, it's nothing like a formspec |
21:11 |
Mr_Pardison |
limited time, just saying hi. |
21:12 |
lisac |
item_image is a formspec element |
21:12 |
lisac |
hey Mr_Pardison. |
21:12 |
Krock |
it uses a different API to add the images and doesn't have the same features |
21:12 |
Mr_Pardison |
Hello lisac |
21:12 |
Krock |
lisac, but you can still add images to the HUD |
21:12 |
lisac |
item_image makes a 3D image from a node name |
21:12 |
lisac |
like, a cobblestone from default:cobble. |
21:12 |
lisac |
it's what I'm looking to do :) |
21:13 |
Krock |
oh I see |
21:13 |
FourFire |
Krock, like this? https://hastebin.com/posebegebu.pl |
21:13 |
Krock |
not sure if that exists et |
21:13 |
Krock |
*yet |
21:13 |
Krock |
FourFire, how do you define a function? just a simple function? |
21:14 |
Krock |
let me give you a short example |
21:14 |
Mr_Pardison |
shivajiva: respond to my message on Monday when I am back online |
21:14 |
Mr_Pardison |
g2g cya |
21:14 |
|
Mr_Pardison left #minetest-hub |
21:14 |
FourFire |
[Spits the result here] = Function(does something to this number) |
21:19 |
lisac |
FourFire, https://pastebin.com/P866W2K7 |
21:20 |
Krock |
https://pastebin.com/bPDUXV8A |
21:20 |
Krock |
^ FourFire |
21:20 |
lisac |
Krock, a minute too slow. :) |
21:20 |
lisac |
though your example is longer. |
21:21 |
Krock |
^^ |
21:22 |
Krock |
corrected a few typos now.. I hope it helps. Otherwise you should really consider to look at the Lua tutorial for once |
21:23 |
Krock |
-> http://tylerneylon.com/a/learn-lua/ |
21:24 |
Krock |
the font is insane big so even blind people can read it |
21:27 |
Aello |
Hello! New to the Modding API, what should I do to access the "default.xx" things properly without errors? |
21:27 |
Aello |
I was trying "sounds = default.node_sound_leaves_defaults()" |
21:27 |
Aello |
Thank you! |
21:28 |
paramat |
what was the error message? |
21:29 |
lisac |
Aello, did you include 'default' in your depends.txt? |
21:29 |
lisac |
I'm also not sure if default stuff is local |
21:29 |
paramat |
^ |
21:30 |
paramat |
anything in 'default.' namespace is global |
21:31 |
Aello |
I did not. Sorry for the delay, was checking the debug message, the file is huge. The message was like; "Undeclared global variable "default" accessed at *location*" |
21:32 |
Aello |
I will include it and ask if have any issue, Thank you! :) |
21:32 |
paramat |
try depending on default |
21:32 |
Aello |
Got it :) |
21:34 |
* Shara |
wonders what Aello is working on. |
21:34 |
lisac |
Shara, I'd say a Minetest mod. :) |
21:34 |
Shara |
My wondering is more specific. :) |
21:35 |
* Aello |
hides. Secret! Also I am behind the schedule. :) |
21:36 |
Shara |
Hehehe :) |
21:37 |
* Aello |
bows. :) |
21:37 |
Shara |
No worries. |
21:37 |
Krock |
Shara, you broke the chain of :) |
21:38 |
Shara |
To make up for it :) :) |
21:38 |
Shara |
Does that help? :) |
21:38 |
benrob0329 |
Always :) |
21:38 |
Shara |
Yay :) |
21:57 |
paramat |
:) |
21:59 |
Raven262 |
Hello everyone :) |
21:59 |
Raven262 |
Its hard keeping this smile up, but eh :) |
21:59 |
Shara |
Has to be done now :) |
22:02 |
benrob0329 |
Krock: dang, I never realized how flexible Lua tables are :) |
22:02 |
benrob0329 |
They open up some interesting possibilities :) |
22:02 |
benrob0329 |
Like metatables :) |
22:04 |
Krock |
you'll need metatables if you plan to add something like objects or classes |
22:04 |
Raven262 |
He did it^ |
22:04 |
Raven262 |
You broke the chain, Krock. |
22:04 |
benrob0329 |
Do we have metatables set up for pos + pos ? |
22:04 |
Krock |
damn it |
22:04 |
benrob0329 |
Because adding positions without destructing the tables would be really useful |
22:05 |
Krock |
no, as vectors are simply a table |
22:05 |
benrob0329 |
Dangit |
22:05 |
benrob0329 |
Would be useful though |
22:05 |
Krock |
indeed, same for pos == pos or pos * n |
22:06 |
Shara |
Krock: now we will all be :( |
22:06 |
benrob0329 |
Krock: user-made vectors would need to be setmetatable-ed to work by themselves |
22:07 |
benrob0329 |
Against a MT created vector though it would be fine (metatables call by first argument) |
22:08 |
|
sniper338 joined #minetest-hub |
22:12 |
|
sniper338 joined #minetest-hub |
22:18 |
|
Megaf joined #minetest-hub |
22:20 |
Megaf |
Good to be back on Quassel |
22:20 |
Megaf |
Thanks Raspberry Pi for hosting my client |
22:20 |
|
sniper338 joined #minetest-hub |
22:21 |
* Megaf |
expects thumbs up from Calinou |
22:22 |
Calinou |
thumbs north-west-up |
22:23 |
Calinou |
pitch 87°, yaw 314° |
22:23 |
* Calinou |
hides |
22:24 |
* Megaf |
will accept that |
22:25 |
benrob0329 |
Krock: I'm having a lot of "Oohhh!" Moments while reading this :P |
22:26 |
benrob0329 |
Lua is a lot cooler than I thought 5 minutes ago |
22:26 |
Krock |
except that it starts with 1 |
22:26 |
benrob0329 |
Meh |
22:26 |
benrob0329 |
I can get used to that |
22:27 |
benrob0329 |
Just like I can get used to tables as being the be-all end-all of data types |
22:28 |
benrob0329 |
I mean its like someone took Lisp's concept of "Everything is a list" but made it an array and ran into the county with it |
22:30 |
Krock |
Lisp without the parentheses |
22:31 |
benrob0329 |
Just curly brackets :^) |
22:46 |
Megaf |
This is a test |
22:46 |
Megaf |
Test ........ˆ |
22:47 |
benrob0329 |
Test success? |
23:04 |
paramat |
*sigh* |
23:06 |
rubenwardy |
paramat, I wonder if dsohler has internal conflict, given he hates assholery |
23:06 |
rubenwardy |
oh geez, comma gore |
23:06 |
rubenwardy |
oh, geez comma, gore, |
23:09 |
paramat |
heh |
23:09 |
paramat |
maybe best to not delete his comments so we have evidence |
23:09 |
rubenwardy |
yeah |
23:09 |
rubenwardy |
I deleted them before as they were offtopic and taking up the chat |
23:10 |
rubenwardy |
and to try and dissuade response from other people |
23:10 |
rubenwardy |
but that worked out swimmingly |
23:10 |
rubenwardy |
plus they were plain rude and unnecessary |
23:11 |
paramat |
could always lock topic and start a duplicate, keeps evidence |
23:11 |
rubenwardy |
nah |
23:12 |
paramat |
indeed might not help much |
23:14 |
Fixer |
swimmingly? |
23:15 |
paramat |
as in a sarcastic 'badly' |
23:15 |
paramat |
or rather |
23:15 |
paramat |
a sarcastic 'smoothly' |
23:15 |
Fixer |
Definition of swimmingly: very well : splendidly the event went swimmingly |
23:17 |
Fixer |
Wuzzy has nice ability to find lots of bugs |
23:17 |
Fixer |
including weird ones |
23:17 |
Fixer |
like dropped hands... wtf |
23:17 |
paramat |
random hands happened to me in 0.4.3, funny bug |
23:19 |
paramat |
i would rejoin a world and a dozen hands would appear in mid air nearby and fall |
23:21 |
Fixer |
daaaaaaaaaamn, vanessas servers are on 0.4.16 that means i will not test that cache pr in my cases |
23:22 |
Fixer |
6 minutes wasted, but maybe patch will apply to 0.4.16, doubt it |
23:29 |
Megaf |
watching Formula E https://www.youtube.com/watch?v=WGq2lFEpZiM |
23:29 |
Megaf |
Live ^ |
23:29 |
Megaf |
benrob0329: positive, test good |
23:33 |
Fixer |
SimCity Spectrum 48k |
23:33 |
Fixer |
:O |
23:52 |
benrob0329 |
Krock: would vector metatable things go in builtin or in the engine itself? |
23:55 |
sofar |
unless it requires some C++, it would be in builtin |
23:57 |
benrob0329 |
sofar: I wouldn't think so, but i'm not sure how one would set metatable stuffs for every vector to come out of the api |
23:58 |
sofar |
vector already is entirely lua |
23:59 |
benrob0329 |
Ok, this might be somehing I can tackle then |
23:59 |
sofar |
does it make sense to do for every vector? it gets used a lot |