Commit graph

395 commits

Author SHA1 Message Date
VorTechnix
38335e291f Merge branch 'main' into vortechnix 2021-06-02 18:03:16 -07:00
VorTechnix
8bffeda5b5 Merge branch 'main' into vortechnix 2021-06-02 17:59:06 -07:00
1f44e240fb
utils/tables: refactor into separate files
..it was getting rather long, because Lua doesn't exactly come with 
batteries included :-/
2021-06-03 01:57:46 +01:00
9cb746e86a
noise: add comment 2021-05-31 00:38:07 +01:00
VorTechnix
6e04b11e18 added vector.abs 2021-05-30 14:34:57 -07:00
VorTechnix
8884c938e0 Merge branch 'main' into vortechnix 2021-05-30 09:35:41 -07:00
0474f5a0ee
wea.table_filter: also pass i as the 2nd argument 2021-05-30 16:17:19 +01:00
8bc2e543da
polyfill str_starts: make less dense and mroe readable 2021-05-30 13:06:47 +01:00
9b53b73bc9
//erode river: Update docs,rename some parameters for consistency 2021-05-30 02:09:52 +01:00
74bde4e60c
//erode river: comment debug
...we might need them again in the future
2021-05-30 01:44:00 +01:00
ccf27c8629
Bugfix new //erode river implementation
next stop: docs!
2021-05-30 01:42:06 +01:00
dc7ccf49f3
wea.parse.map: support bools 2021-05-30 01:40:18 +01:00
0498125ca7
Bugfix table_map: avoid infinite loop 2021-05-30 00:12:13 +01:00
a5c6e82ef3
Bugfix table_map: return result 2021-05-30 00:11:13 +01:00
00a60eba17
//erode → river: Change only 1 height at a time for extra granularity
this also simplifies it a bit too
2021-05-30 00:04:01 +01:00
9ecdd01914
//erode: initial river algorithm implementation 2021-05-30 00:02:21 +01:00
17b8f8a555
erode/snowballs: correct comment 2021-05-29 23:20:34 +01:00
a8ddc7831a
wea.table_filter: add API function
Really, Lua should have this already. At this rate, I'll be implementing 
the entire Javascript standard library... :P
2021-05-29 23:20:11 +01:00
b23f353b19
wea.min, wea.max: add API functions 2021-05-29 23:13:10 +01:00
c7c6a848dc
wea.table_unique(): Add API function 2021-05-29 22:49:50 +01:00
8eb9a8ed0f
wea.table_map(): Add api function 2021-05-29 22:49:35 +01:00
1e677c1f3f
wea.split: Standardise comment 2021-05-29 22:49:14 +01:00
98a04b12db
tokenise_commands: fix ordering 2021-05-29 00:57:42 +01:00
46eaf10884
tokenise_commands: improve comments 2021-05-29 00:54:30 +01:00
50da328c67
fixup 2021-05-29 00:44:17 +01:00
a937740275
Implement tokenise_commands utility function
This function is intended for use in //multi.
2021-05-29 00:43:09 +01:00
87b7254350
erode: add future comment 2021-05-22 02:36:56 +01:00
75a5f14f01
//erode snowballs: Fix assignment to global variable; slightly refactor changelog
Sincce we've got a number of bugfixes here and the changelog is getting 
a bit longer, I've split bugfixes up.
2021-05-22 01:39:59 +01:00
VorTechnix
912ecf09c2 Merge branch 'main' into vortechnix 2021-05-21 09:21:17 -07:00
e3e5710217
Merge branch 'main' of github.com:sbrl/Minetest-WorldEditAdditions into main 2021-05-21 02:11:11 +01:00
97aa24bcd3
wea.parse.weighted_nodes: comment out debug 2021-05-21 02:11:03 +01:00
VorTechnix
639c2061ef
Bugfix/torus: fix hollow implementation; improve clarity 2021-05-18 15:22:52 +01:00
VorTechnix
0a44992676
reference: add hollow example to torus 2021-05-18 14:56:19 +01:00
VorTechnix
2b02f9ff2e
Fix typos in comments 2021-05-18 14:55:43 +01:00
VorTechnix
184ca1a328 recovery 2021-05-17 21:12:46 -07:00
VorTechnix
d4b457f85d
Merge branch 'main' into vortechnix 2021-05-17 20:45:28 -07:00
VorTechnix
cb841bfb80 Update torus.lua 2021-05-17 18:57:51 -07:00
VorTechnix
7defe829c3 Revert "Merge branch 'main' of https://github.com/sbrl/Minetest-WorldEditAdditions into main"
This reverts commit d9069b3cfa, reversing
changes made to 35eeb918d0.
2021-05-17 18:49:07 -07:00
VorTechnix
d7f328c65b Revert "Update torus.lua"
This reverts commit 35eeb918d0.
2021-05-17 18:47:34 -07:00
VorTechnix
ec1623b230 Merge branch 'main' into vortechnix 2021-05-17 17:40:36 -07:00
VorTechnix
5b893901dc //torus update 2021-05-17 17:16:04 -07:00
VorTechnix
9bb9aeda5c Update torus.lua 2021-05-17 11:18:09 -07:00
VorTechnix
63d284b35b axes + safeguards 2021-05-17 10:41:52 -07:00
VorTechnix
d9069b3cfa Merge branch 'main' of https://github.com/sbrl/Minetest-WorldEditAdditions into main 2021-05-17 09:14:55 -07:00
VorTechnix
35eeb918d0 Update torus.lua 2021-05-17 09:13:43 -07:00
57ff577694
torus: add comment 2021-05-15 02:18:41 +01:00
0100725a7b
torus: finish rework 2021-05-15 02:09:43 +01:00
3fbfc1fb15
torus: rework to add axes, but it's not finished yet 2021-05-15 02:00:40 +01:00
f9eb67b4cc
bonemeal: Try bonemealing everything that isn't an air block
fixes #49
2021-05-11 22:17:10 +01:00
81f3a87180
wea.parse.chance: add weight mode 2021-05-11 22:12:04 +01:00
040d7fbfde
wea.parse.chance: use not 2021-05-11 21:59:43 +01:00
4ec04c03b3
worldeditadditions.parse.chance: add API function 2021-05-11 21:55:44 +01:00
d6d11c6b1a
README: Update quick reference 2021-03-20 02:17:56 +00:00
7639bd2c2b
worldeditadditions.apply_heightmap_changes: properly comment it
It's a pretty complicated function, so it's probably a good idea to 
document how it works.
2021-03-20 02:09:28 +00:00
1f273e4b13
comment worldeditadditions.eta 2021-03-20 01:56:14 +00:00
6af8bba987
selector_helps → axes
It makes sense to me at least that we should keep stuff to do with 
parsing axes together.
2021-03-20 01:53:01 +00:00
8877e356f0
refactor: refactor utils/strings.lua into multiple files 2021-03-20 01:48:56 +00:00
VorTechnix
866748a5c3 dir function rename 2021-03-19 16:25:26 -07:00
VorTechnix
a027130917
Merge pull request #5 from sbrl/main
Updates + noise
2021-03-18 17:31:34 -07:00
VorTechnix
d4edeaeff7 renamed translation function 2021-03-18 09:37:53 -07:00
VorTechnix
00b9a1f517 srel stable? 2021-03-17 11:36:12 -07:00
a1911037d2
Fill out noise.make_2d, but it's untested
Next, we need to do the make_3d version, followed by the plumbing to 
worldeditadditions.noise(), followed by the chat command

....there's a lot to do.
2021-03-16 21:39:12 +00:00
VorTechnix
20a879a7af scentre and some sorting 2021-03-15 20:51:23 -07:00
683a742fe2
Merge pull request #44 from VorTechnix/master
//scloud and cloud wand refactor
2021-03-13 12:11:27 +00:00
VorTechnix
18347f93bf wea.selection declared 2021-03-12 18:11:43 -08:00
VorTechnix
c39fc1c9e8 Removed unneeded local 2021-03-12 18:09:24 -08:00
VorTechnix
5ffa67b7ac refactor func names, move punchnode function 2021-03-12 18:01:17 -08:00
d20764cffd
Add pure Lua perlin implementation, but it's untested. 2021-03-13 00:37:26 +00:00
VorTechnix
3df23e8086 scloud and cloud wand refactor 2021-03-12 15:47:10 -08:00
VorTechnix
a671f742e9 scol and srect refactor 2021-03-09 11:05:03 -08:00
587d430e48
vector.floor: add resilience 2021-03-09 18:45:04 +00:00
feb4d6a4bf
//overlay: Don't place nodes above water
Fixes #38
2021-03-02 00:09:46 +00:00
e8d97959b2
Add //spush, //spop, and //sstack 2021-03-01 22:23:36 +00:00
108c280843
Start laying out stuff for our noise experiment, but it isn't hooked up yet and isn't finished. 2021-03-01 21:26:33 +00:00
2acc6b3470
Merge pull request #34 from VorTechnix/master
Added //srect and //basename
2021-03-01 20:54:13 +00:00
VorTechnix
727ee41e72 Simplify srect function 2021-02-28 09:59:09 -08:00
VorTechnix
e82c8b1e81
error handling
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2021-02-28 07:25:31 -08:00
VorTechnix
cb1d54c665 Added getsign, fixed srect glitch 2021-02-25 20:22:39 -08:00
56380f149b
heightmap_size: refactor to use { x, z } instead of [0] / [1] 2021-02-26 02:20:53 +00:00
VorTechnix
b62e4f706d added description 2021-02-24 19:42:24 -08:00
VorTechnix
191f1385b1 fixed modulo 2021-02-24 09:08:49 -08:00
VorTechnix
489d856176 Added srect and basename
Also moved saplingaliases and corrected the block text in forest.lua
2021-02-24 08:40:53 -08:00
78572e453e
Implement point cloud wand 2021-02-23 22:56:56 +00:00
f2aa87b396
terrain: pick the node to replace with from higher up in the column in question
....unless we hit the ignore node, in which case we default to air.
2021-02-23 01:31:24 +00:00
4ba59a6ec3
//conv, //erode: treat liquids as air 2021-02-23 00:20:57 +00:00
aef4fe4380
fillcaves: treat liquids as air 2021-02-23 00:19:24 +00:00
4368f74e30
Fix directionality in worldedit region update when scaling down 2021-02-18 02:33:26 +00:00
3f871e01f5
//scale: fix more bugs, and also update the worldedit region after scaling 2021-02-18 02:18:34 +00:00
a63923fec9
//scale: scaling up works! Can't say the same about scaling down though, but that will come in time. 2021-02-18 01:24:53 +00:00
ed3adde56a
//scale: fix some bugs, and rename direction → anchor internally
It's nice to have some consistency, and find&replace saves soooo much 
time :P
2021-02-18 00:30:24 +00:00
17a67fc5f9
Merge branch 'master' of github.com:sbrl/Minetest-WorldEditAdditions 2021-02-17 23:46:11 +00:00
2a268d9ff8
Implement scale_up
Next up: testing!
2021-02-17 23:46:03 +00:00
756c1c12f2
scale_down: fix a number of runtime errors
Note that we still haven't tested it :P
2021-02-17 23:09:25 +00:00
bl-ue
1d3c2a0416 Fix typos 2021-02-09 19:53:30 -05:00
ad9e5a26b1
Start working on //scale, but it isn't finished yet. 2021-02-07 23:39:09 +00:00
03afd7e75c
//subdivide: comment out debug statements
....we're pretty sure what the issue is, and our server on elessar 
doesn't even emit them
2021-02-07 03:13:02 +00:00
555058b4ac
//subdivide: tweak update message display 2021-02-07 03:12:09 +00:00
151afadf6c
//many: fix running commands that take no arguments 2021-02-07 02:59:19 +00:00
a360f06138
Fix eta calculations 2021-02-07 02:45:34 +00:00
9d76c5d98a
wea.eta: fix obscure edge case 2021-02-07 01:37:50 +00:00
888ee04f9d
//subdivide: fix a number of other issues 2021-02-07 01:28:07 +00:00
edb80d7478
//subdivide: fix debug logging 2021-02-07 01:07:21 +00:00
122ff381f1
//subdivide: debug logging 2021-02-07 01:02:03 +00:00
ebed73fc49
//subdivide: fix emerge_area to only emerge individual chunked areas 2021-02-05 23:44:33 +00:00
38e5c81d33
//subdivide: tally total times so far as we go
- Don't use wea.sum() on a table full of all the times we've recorded
   so far
 - Limit individual stats list lengths to 25 to avoid memory issues when
   running with a large number of chunks
 - Tally total times / metrics as we go to avoid memory issues
2021-02-03 03:04:33 +00:00
25e659321a
//subdivide: reimplement count_chunks
this does the maths properly, so we'e going from O(n³) to O(1) :D

//subdivide should get started *so much faster* now :D
2021-02-03 02:25:33 +00:00
85a715a0ea
wea.emerge_area: remove debug prints 2021-02-03 00:45:54 +00:00
a511d85e29
human_time: correctly handle non-number inputs 2021-02-03 00:44:42 +00:00
e8584c4ec6
hollow: fix undefined variable 2021-01-31 21:30:13 +00:00
0be205dae7
Start implementing //hollow, but it isn't finished yet 2021-01-31 18:03:07 +00:00
4b1cf074d5
//count: make numbers human-readable
Fixes #14
2021-01-31 17:43:08 +00:00
4b2f2b0001
Add //line
Fixes #25.
2021-01-16 18:36:17 +00:00
d2f101e9dd
It works! 2020-10-10 22:22:53 +01:00
008519177c
//subdivide: Fix more issues, there are a few more to go 2020-10-10 21:57:19 +01:00
2ac6ea03a7
Fix some bugs, but the new //subdivide still doesn't work yet 2020-10-10 21:50:03 +01:00
aa234595a8
Refactor //subdivide to call minetest.emerge_blocks
....whether it actually works or not is another question entirely 
though.....
2020-10-10 21:43:22 +01:00
ef165b9c58
Add ETA to //many, and tidy up message generation in //subdivide 2020-10-10 17:01:08 +01:00
fea89f2e3c
//maze, //maze3d: Allow non-number seeds
This uses a simple (non-crypto!) hash function to hash non-number 
strings to a number. Existing seeds are *not* affected - they will still 
work as before.
2020-09-28 01:31:15 +01:00
39103a046f
//maze: fix some areas of generated mazes not being explored 2020-09-28 01:30:15 +01:00
130524a7d0
Disable some debug prints, and update docs 2020-09-20 22:07:47 +01:00
a6f5fe5123
Finish initial //ellipsoidapply implementation 2020-09-20 21:19:29 +01:00
e0e64dc6b9
Start ellipseapply, but it isn't finished 2020-09-20 18:03:29 +01:00
13278570cb
Optimise //count 2020-09-20 17:53:55 +01:00
5967db2496
Update depends.txt 2020-09-20 13:29:16 +01:00
c6a1571e1f
Add support for ethereal 2020-09-20 13:28:54 +01:00
0ddf160e84
Fix minor string manipulation crash 2020-09-15 02:00:24 +01:00
d556a4e710
forest: save sapling removal back to disk 2020-09-14 13:43:05 +01:00
66a265bbce
Add soft dependencies to worldeditaditions & updaate docs 2020-09-14 02:12:05 +01:00
2a592a808c
Finish bugfixing //forest!
moretrees still doesn't work with it though, and I don't understand 
why....
2020-09-14 01:19:15 +01:00
a6fc9712b4
Fix some crashes, but it's still not functioning as expected 2020-09-13 22:57:26 +01:00
0b285fa681
Start implementing //forest, but it isn't finished yet 2020-09-13 20:32:55 +01:00
44efb9bb38
Add .is_sapling() and new forest command.
It's not hooked up yet and we haven't implemented the chat command, so 
it's obviously untested.
2020-09-13 15:43:49 +01:00
25f369c582
Implement //fillcaves for #23 2020-08-26 19:17:07 +01:00
b303f8758a
//erode snowballs: make tweaks & add new noconv param 2020-08-21 22:01:24 +01:00
07588e0940
erode/snowballs: Add comment 2020-08-21 21:00:45 +01:00
fd5804dd9c
//erode: Finish the initial round of bugfixing, but I'm on the fence about it.
Specifically, I'm unsure about whether I'm happy with the effects of the 
algorithm.
Also, we convolve with a 3x3 gaussian kernel after erosion is complete - 
and we have verified that the erosion is having an positive effect at 
"roughening up" a terrain surface.
It seems like the initial blog post was correct: the algorithm does tend 
to make steep surfaces steeper.
It also appears that it's more effective on larger areas, and 'gentler' 
curves. THis might be because the surface normals are more conducive to 
making the snowballs roll.
Finally, we need to decide whether we want to keep the precomputed 
normals as we have now, or whether we want to dynamically compute them 
at the some of request.
2020-08-21 20:59:50 +01:00
997eb4d101
fix all the crashes with the new erosion algorithm
......but it doesn't look like it's functioning as intended just yet
2020-08-21 15:21:10 +01:00
acb288b984
Fix a ton of bugs but there are lots more to go..... 2020-08-21 13:27:40 +01:00
cdba38d37d
Start implementing snowball erosion algorithm.
There's still a long way to go - we're only just getting warmed up!
2020-08-20 01:53:26 +01:00
20ccf321ce
Start setting things out to implement erosion
First up, we're going to attempt to implement a snowballs-based 
algorithm.
Reference: https://jobtalle.com/simulating_hydraulic_erosion.html
2020-08-18 02:11:37 +01:00
91f11a2b0d
Comment out debug line 2020-08-11 21:17:23 +01:00
0afbba4deb
os.clock() → minetest.get_us_time()
....how did I miss that :P
2020-06-26 20:46:35 +01:00
c0624f5a94
Port human_time from Pepperminty Wiki & put it to use in //multi
Also, we've got a changelog!
2020-06-25 23:45:27 +01:00
adca852f56
update depends.txt 2020-06-21 18:27:11 +01:00
f8a6a204f8
Tidy up debug messages 2020-06-15 13:04:42 +01:00
fbf2b894e5
Finish farwand implementation 2020-06-13 14:23:14 +01:00
6f20b31763
Strat work on a far-reaching wand, but it isn't finished yet.
We've got all the backend functions we'll probably need implemented 
though!
2020-06-13 02:08:03 +01:00
b8a5bec987
Centralise all command aliases
This should avoid any crashes on startup because worldedit.alias_command 
is nil too (strange!)
2020-06-11 01:00:19 +01:00
5232406dbb
Alias //flora to //bonemeal 2020-06-11 00:38:35 +01:00
75a17ed64f
Add //layers command
Also add aliases //naturalise and //naturalize
2020-06-11 00:38:16 +01:00
d96f169950
It works! :D 2020-06-10 00:48:39 +01:00
32e786401a
Remove debugging code 2020-06-09 22:04:38 +01:00
2dbbeef9c9
convolve: fix a bunch of bugs.
It's still behaving reeaallllly strangely though
2020-06-09 22:00:56 +01:00
868052f945
Add //convolve command
....but it's all untested of course :P
2020-06-09 21:11:34 +01:00
6dac57c53e
Implement (untested!) manip interface on top of the raw convolutional code 2020-06-09 20:43:29 +01:00
9b9a471aa8
Implement initial (untested) convolution system.
Next we need to implement a worldedit function to handle fetching the 
manip data, calculating the heightmap, pushing it through this 
convolutional system, and saving the changes back again.
2020-06-09 01:21:32 +01:00
e26d5b1580
Upgrade //overlay to support a mix of nodes 2020-06-07 20:46:46 +01:00
c0b40266c8
//replacemix: add command 2020-05-14 21:37:27 +01:00
f3a8c1dd64
Add //count 2020-05-12 00:38:42 +01:00
f0dc2f5a3c
refactor worldeditadditions core functions into subdirectory 2020-05-11 22:28:25 +01:00
952d7a96f8
Add //walls command - fixes #12 2020-05-11 21:44:18 +01:00
5f7a64702a
Add //bonemeal command 2020-05-11 02:02:02 +01:00
238ef7c810
maze3d: reduce logging 2020-05-10 23:50:45 +01:00
70f7e64371
worldedit → worldeditadditions 2020-05-10 23:29:49 +01:00
e4df5af008
squash undeclared global "end_time" warning (fixes #10) 2020-05-10 22:24:33 +01:00
ae068989e2
migrate //overlaya to worldedit.register_command 2020-05-10 21:32:01 +01:00
121b06eb9a
Add commented out debug statement 2020-05-03 17:48:41 +01:00
076297553b
//maze3d: fix d-- 2020-05-03 17:34:51 +01:00
29223a3455
Patch maze3d to support the path dimennsion settings, but there's some weirdness going on 2020-05-03 17:02:28 +01:00
2720f62d09
//maze: add path_length and path_width support
....now we jujst need to tackle //maze3d
2020-05-03 16:19:42 +01:00
a3a193cd68
maze: apply additional branchiness fix from maze3d
We've tweaaked the chance though to make it look better though

Perhaps in the future we should add a setting for this?
2020-05-01 12:57:55 +01:00
394f3ec4ef
maze3d: make paths more 'branchy' 2020-04-30 02:02:45 +01:00
dc65c721bd
maze3d: comment out debug statements 2020-04-29 12:46:31 +01:00
a2d078e156
Add //maze3d command 2020-04-29 01:55:55 +01:00
340191b2cf
maze: comment out debug lines 2020-04-29 01:36:36 +01:00
c83cc9bf39
maze bugfix: correct stalling when 0 is picked (Lua starts things at 1 - ewwwww......) 2020-04-29 01:03:51 +01:00
cf4f602f38
add //maze command 2020-04-28 22:41:55 +01:00
ac05627d53
Add //multi command.
TODO: Documentation. Perhaps it should be it's own mod?
2018-10-14 00:19:32 +01:00
bbde06c72e
[floodfill] Bugfix: Don't get caught in an infinite loop if the search & replace nodes are identical
Also fix a crash in the //floodfill command logic if pos1 is nil
2018-06-22 21:23:12 +01:00
7883161cb8
Remove rogue return 2018-06-17 14:40:57 +01:00
841565a75f
Fix gaps in hollow torus 2018-06-10 13:50:24 +01:00
f3745dc6ba
Fix a few small bugs 2018-06-10 13:48:11 +01:00
429beb2e52
Add a hollowellipsoid command 2018-06-09 20:02:30 +01:00
2fd63fcb25
Correct offset 2018-06-09 19:38:23 +01:00
729424e97c
Formatting & performance improvements 2018-06-09 19:35:32 +01:00
aadee6a5ae
Add ellipsoid equation.
Ref https://stackoverflow.com/questions/17770555/how-to-check-if-a-point-is-inside-an-ellipsoid
2018-06-09 14:11:25 +01:00
43f395ad02
Try to fix the ellipsoid function, but it's not working right.
Thankfully I have a clue as to what's going wrong, which I've made a
note of. Time for some research I think.....
2018-06-09 13:36:25 +01:00
2b33100356
Fix crashes in new ellipsoid command 2018-06-09 13:10:42 +01:00
88c59fca7c
Initial //ellipsoid implementation. Also reduce default floodfill radius 2018-06-09 13:05:09 +01:00
e4eb070c0f
Add //overlay, and start filling out README 2018-05-22 22:20:26 +01:00
083f7a2967
Remove todos 2018-05-20 14:51:30 +01:00
9412a1bf30
Add optimised radius checking 2018-05-20 14:19:43 +01:00
7288347479
Make moar bugfixes. It works! 2018-05-20 13:05:03 +01:00
0bb807ff86
Fixed some bugs, but it keeps running out of memory. 2018-05-20 12:23:09 +01:00
02b54e6215
It doesn't have any syntax errors, so I guess there's only one way to find out if it actually works :P 2018-05-20 11:52:16 +01:00