Commit graph

260 commits

Author SHA1 Message Date
a2a9108d36
//sculpt: fix a bunch of bugs
including, but certainly not limited to, wea.make_heightmap now returns 
a Vector3 instance for heightmap_size
2021-12-28 15:22:51 +00:00
bbafca2020
apply: use wea.sculpt.apply_heightmap() 2021-12-28 02:20:47 +00:00
b0c3d34dd0
Implement apply function for VoxelManipulators 2021-12-28 02:17:26 +00:00
58d3c1e43b
Add optional frame to brush previews
This way, it's easiere to see where the edges are of the preview
2021-12-27 19:45:13 +00:00
d657ce1abe
//sculptlist: fix bugs. It works! 2021-12-27 19:36:57 +00:00
10c9d6f886
Start implementing a //sculpt command, but it's not finished or tested yet.
First up: test that our initial basic dynamic brushes work as intended 
with the //sculptlist [preview] command.

Also on the todo list: document it in the chat command reference!
2021-12-27 03:11:52 +00:00
eab498aac2
comment debug logging 2021-12-27 01:58:01 +00:00
6e89fc868f
//maze: fix generated maze not reaching to the very edge of the defined region
Fixes #60.
2021-12-26 22:57:47 +00:00
607f2bfdea
//move+: bugfix 2021-11-13 12:41:00 +00:00
8ec89c3e67
Implement //move+, but it isn't working right just yet. 2021-11-13 12:36:10 +00:00
d560583121
Make //copy+ a thing using the new wea.parse.axes 2021-11-11 02:20:37 +00:00
VorTechnix
f7d4c5c6ac
Fix shadowing error 2021-11-07 07:04:07 -08:00
3f48832fff
Merge branch 'main' into VorTechnix 2021-11-07 14:31:01 +00:00
33a2ff1ed4
//spiral2 circle: round down 2021-10-31 19:48:40 +00:00
9d7000baed
Add circular spirals :D 2021-10-31 16:59:52 +00:00
d3a8efb9b8
Add //spiral2, write glue for square spirals
Next up: circular spirals!
2021-10-31 15:11:01 +00:00
ad789d500a
Implement spiral square, but it's untested.
It would also be awesome to customise the directional plane upon which 
the spiral is generated. It might actually be possible without melting 
my brain I think....


Looking at http://www.mathematische-basteleien.de/spiral.htm it should 
be possible to go this for circles too. But there's 1 particular 
function in Vector2.js that we need to port to Vector3.lua that we 
haven't yet which we'd need for that.....
2021-10-30 02:46:25 +01:00
84741f5cb9
ellipsoid2: remove todo 2021-10-23 14:32:44 +01:00
2ae241aee5
Add //ellipsoid2 2021-10-14 01:50:27 +01:00
91d5b9abc2
ellipsoid: add comment 2021-10-13 22:50:37 +01:00
5bdd8ddb5e
ellipsoid: remove redundant minetest.get_content_id("air") call
wea.is_airlike() is the new function that should be used instead,  but 
in this case the call wasn't even necessary
2021-10-13 22:46:14 +01:00
653864be99
Start working on //copy, but it's not finished yet.
We need to merge @VorTechnix's branch in first to gain access to 
advanced axis parsing functions before we can complete it.

For this reason, the command registration for //copy is currently 
commented out.
2021-10-11 02:41:45 +01:00
55982b2eab
cloud wand: Improve chat message text 2021-10-03 15:31:27 +01:00
VorTechnix
a5960983e7 Merge branch 'main' into VorTechnix 2021-09-05 09:34:54 -07:00
62582b6abb
Update sapling alias compatibility 2021-08-12 01:09:24 +01:00
2920f7081d
Add //noiseapply 2021-08-07 23:01:15 +01:00
b131970f16
fixup 2021-08-07 22:30:38 +01:00
6f00394d3d
Noise: add perlinmt algorithm & set as default 2021-08-07 22:30:10 +01:00
fc2444c5cd
//floodfill: remove debug 2021-08-07 02:31:21 +01:00
d1b0866af2
//floodfill: fix crash 2021-08-07 02:30:38 +01:00
VorTechnix
cff58792bf Merge branch 'main' into VorTechnix 2021-08-05 10:43:00 -07:00
35777b7ae5
//layers: comment debug 2021-08-05 02:38:57 +01:00
f30ddbae3b
//walls: add optional thickness argument 2021-08-05 02:00:38 +01:00
87f84e2482
//bonmeal: add optional node list constraint 2021-08-05 01:17:43 +01:00
ef678e6a05
//layers: fix 2021-08-04 12:17:39 +01:00
db830c6633
Implement slope constraint for //layers, but it isn't tested yet 2021-08-04 01:41:51 +01:00
VorTechnix
77ffda46f7 added axis and dir checks 2021-08-02 18:16:50 -07:00
VorTechnix
74ba9cc36f more lib/selector refactoring 2021-08-02 16:01:02 -07:00
VorTechnix
325f1cc11e added init for lib/selectors 2021-08-02 13:29:55 -07:00
VorTechnix
b20c8f9af1 Merge branch 'main' into VorTechnix 2021-08-01 07:03:31 -07:00
64ed01132e
scale_down: fix redefining posi_copy 2021-07-30 19:49:11 +01:00
54d0f5a3a3
run2d: Fix accidental redefining global variable 2021-07-30 19:48:10 +01:00
51e1e7dcbd
noise.params_apply_default: Fix shadowing variable 2021-07-30 19:47:21 +01:00
1f4a115063
//maze3d: Fix accidental global variable definition 2021-07-30 19:46:33 +01:00
f37a2aabcf
//forest: Fix redefining variable i in loop 2021-07-30 19:45:09 +01:00
c6bae3b7e0
//erode river: fix redefining i in nested loop 2021-07-30 19:44:02 +01:00
910d4b036f
maze2d: squash another undefined variable 2021-07-30 19:03:54 +01:00
ecb846fcfe
//erode river: fix undefined global variable 2021-07-30 18:03:39 +01:00
VorTechnix
6e3b9d99e9 removed tests 2021-07-23 16:21:58 -07:00
VorTechnix
8718e59206 added wcompass 2021-07-23 12:11:08 -07:00
VorTechnix
d7d96ae263 //wbox added 2021-07-20 12:52:19 -07:00
VorTechnix
7b17c3675a Update corner_set.lua 2021-07-19 09:50:10 -07:00
VorTechnix
0c9987c745 corner set working 2021-07-19 08:55:39 -07:00
VorTechnix
1e7ab670f7 fix typo 2021-07-19 07:47:22 -07:00
VorTechnix
2c42e0495c cornerset broken 2021-07-19 07:42:47 -07:00
VorTechnix
f7323afe10 wireframe corner 2021-07-18 17:27:37 -07:00
fa2c0642c1
Fix typo in comment 2021-07-18 20:11:10 +01:00
e4d3f26692
perlin: use wea.bit.band 2021-07-17 21:34:50 +01:00
0b379c48cb
Implement //airapply
For #56, but the docs aren't written yet so we'll wait on closing it 
until I've written them.
2021-07-15 02:17:14 +01:00
0d1900d37c
Add airlike backend command, but it's nto tested or hooked up yet 2021-07-13 23:49:21 +01:00
e799a2ea61
Refactor Queue implementation into separate file 2021-07-13 22:02:34 +01:00
e85b91d074
//noise2d infrared: remove debug print 2021-07-13 00:56:26 +01:00
03038689e2
Add infrared noise 2021-07-13 00:54:52 +01:00
0dee65ca1d
//noise2d: add red noise 2021-07-13 00:15:23 +01:00
7db2207aea
noise2d/make_2d: add todo 2021-07-12 02:46:47 +01:00
46c2a02ade
//noise2d: add white algorithm; fix nasty bug in apply_2d 2021-07-12 02:45:32 +01:00
a42e296f4e
Reference: Document //noise2d 2021-07-06 01:08:36 +01:00
8a14d35c04
noise2d: add comment 2021-07-04 16:14:48 +01:00
0b0595a1d3
Remove a whole bunch of stray debug print statements 2021-07-04 14:35:02 +01:00
1d82013d86
//noise2d: add sin; sort out apply_mode as number 2021-07-04 13:21:13 +01:00
49bf0f19bc
Perlin: remove debug functions 2021-07-04 12:03:29 +01:00
b2eb76d280
//noise2d works!
...just.

Next up more engines and documentation
2021-07-03 22:53:16 +01:00
ee2e5716eb
Implement more of the noise command backend
It's still not hooked up yet though, and there's no command parsing 
logic either
2021-07-03 01:44:36 +01:00
db7b20d485
Refactor table functions into subtable of wea
Also, you can return a value from dofile()!!!!

This changes everything.
2021-06-28 00:56:29 +01:00
9cb746e86a
noise: add comment 2021-05-31 00:38:07 +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
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
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
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
63d284b35b axes + safeguards 2021-05-17 10:41:52 -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
8877e356f0
refactor: refactor utils/strings.lua into multiple files 2021-03-20 01:48:56 +00: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
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
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
56380f149b
heightmap_size: refactor to use { x, z } instead of [0] / [1] 2021-02-26 02:20:53 +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
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
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
a360f06138
Fix eta calculations 2021-02-07 02:45:34 +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
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
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
c6a1571e1f
Add support for ethereal 2020-09-20 13:28:54 +01:00
d556a4e710
forest: save sapling removal back to disk 2020-09-14 13:43: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
0afbba4deb
os.clock() → minetest.get_us_time()
....how did I miss that :P
2020-06-26 20:46:35 +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