Commit Graph

460 Commits

Author SHA1 Message Date
Starbeamrainbowlabs
b816133716
core: implement fetch_command_def
This rovides an abstraction to fetch a worldedit command's definition, 
regardless of where it was registered.

We would normally expect all commands to be registered in 
wea_c.registered_commands, but before we only do a one-off pass to 
import commands from worldedit should a new mod we aren't aware of 
register a command with worldedit and get loaded after us, we won't 
detect it - hencee  the need for this function.
2022-05-19 02:31:01 +01:00
Starbeamrainbowlabs
98909f0fae
//metaball: bugfix
It works!
2022-05-16 20:14:31 +01:00
Starbeamrainbowlabs
722e62bae0
Finish initial //metaballs command implementation, but it's untested 2022-05-16 01:21:09 +01:00
Starbeamrainbowlabs
3311d80a2a
Rework metaballs backend
We need a way of defining metaballs per-player. Our solution to this is 
a custom in-memory per-player storage system. The reason for this is 
because just a position (e.g. that provided by pos1/pos2) is not enough 
- we need a radius as well.
2022-05-16 01:01:01 +01:00
Starbeamrainbowlabs
f34617a3d3
Add backend functionality for metaballs
Implementing a frontend command sounds like a headache to me
2022-05-15 17:42:19 +01:00
Starbeamrainbowlabs
03fb033b70
//dome+: add option to make the resulting dome hollow inside 2022-05-15 15:38:50 +01:00
Starbeamrainbowlabs
04e971e12d
Add //dome+
Improvements oveer //dome:

 - Allow customising the direction it points in
 - Allow multiple pointing directions at once to give the effect of 
creating multiple domes on top of each other in a single command (it's 
actually implemented as an implicit union, and doesn't actually call 
wea.dome more than once).
2022-05-15 15:27:43 +01:00
Starbeamrainbowlabs
a4237dcca5
depends.txt → mod.conf 2022-05-01 17:07:30 +01:00
Starbeamrainbowlabs
c443459282
wireframe/corner_set: fix luacheck warnings 2022-01-03 13:30:22 +00:00
Starbeamrainbowlabs
bc1ded787c
wea.sculpt.apply: Comment debug logging 2022-01-02 17:19:53 +00:00
Starbeamrainbowlabs
80e230a9d7
saplingnames: update cool_trees bamboo 2022-01-02 17:16:38 +00:00
Starbeamrainbowlabs
d9204e95b5
selection: Improve message shown to players 2022-01-02 13:19:31 +00:00
Starbeamrainbowlabs
1da5599e80
remove debug logging 2021-12-31 14:46:23 +00:00
Starbeamrainbowlabs
2d53869f11
//move+: fix leaving-source-behind problem 2021-12-31 13:38:13 +00:00
Starbeamrainbowlabs
d6cd0cdb59
tokenize_commands: fix crash 2021-12-31 13:16:09 +00:00
Starbeamrainbowlabs
d252ec4675
wea.move: add potential solution as a comment 2021-12-31 03:05:02 +00:00
Starbeamrainbowlabs
934007c07b
//move+ add comment about bug 2021-12-31 03:01:51 +00:00
Starbeamrainbowlabs
56a83572e7
fixup 2021-12-31 02:46:15 +00:00
Starbeamrainbowlabs
1310dae884
Refactor: Split up terrain.lua, make subtable wea.terrain
This is just the start, if my plans work out.

The eventual aim here is to implement a generic Heightmap2D class, just 
like Vector3.

This will make interacting with heightmaps much easier.
2021-12-31 02:42:32 +00:00
Starbeamrainbowlabs
9df5ba6fe5
//sculpt, //sculptlist: fix naming of static brushes; prettify output 2021-12-31 01:43:53 +00:00
Starbeamrainbowlabs
227265db72
//sculpt: fix importing static brushes 2021-12-31 01:39:04 +00:00
Starbeamrainbowlabs
dd8cd78d6b
wea.inspect: pull metatable names from item.__name
this is completely arbitrary, but will assist in discovering types of 
tables etc.
2021-12-31 01:38:24 +00:00
Starbeamrainbowlabs
4597edcf1e
str_ends: write tests 2021-12-31 01:33:44 +00:00
Starbeamrainbowlabs
08cff1c967
strings/polyfill/str_ends: actually export it correctly 2021-12-31 01:14:08 +00:00
Starbeamrainbowlabs
f19b22e906
//sculpt: add simple test ellipse static brush 2021-12-31 01:04:27 +00:00
Starbeamrainbowlabs
ec04cc58be
Add support for autoloading static brushes on server start 2021-12-31 01:03:56 +00:00
Starbeamrainbowlabs
f259f85771
Add io compatibility layer
....I can't believe that Lua doesn't have an inbuilt scandir 
equivalent?!
2021-12-31 00:57:17 +00:00
Starbeamrainbowlabs
1e9a651537
stings/polyfill: add str_ends
....because seriously, Lua *really* should have this.
2021-12-31 00:55:46 +00:00
Starbeamrainbowlabs
ef2dbc1806
Reorder brushes
circle_soft1 is now the default brush, as it's awesome
2021-12-28 19:07:02 +00:00
Starbeamrainbowlabs
b0e0b83c0d
//sculpt: Add buffer to catch height variations in terrain 2021-12-28 19:04:13 +00:00
Starbeamrainbowlabs
ca6f1e7cea
//sculpt: sort pos{1,2}_compute 2021-12-28 18:38:10 +00:00
Starbeamrainbowlabs
1de037c341
//sculpt brushes: __smooth → __gaussian 2021-12-28 18:35:16 +00:00
Starbeamrainbowlabs
3e2687f82d
Add soft circle brush 2021-12-28 18:32:40 +00:00
Starbeamrainbowlabs
1cad9f4064
Minor layout tweaks 2021-12-28 18:32:10 +00:00
Starbeamrainbowlabs
db5d25d1de
//convolve: update matrix & kernel to use Vector3
A lot of the maths remains in the old style, but at least it doesn't 
take a zero-indexed table
2021-12-28 18:31:46 +00:00
Starbeamrainbowlabs
17cc91ba1c
//sculpt: implement circle brush 2021-12-28 17:45:20 +00:00
Starbeamrainbowlabs
2da0f2dcc2
Add circle brush, but it isn't working right just yet. 2021-12-28 17:22:18 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
bbafca2020
apply: use wea.sculpt.apply_heightmap() 2021-12-28 02:20:47 +00:00
Starbeamrainbowlabs
b0c3d34dd0
Implement apply function for VoxelManipulators 2021-12-28 02:17:26 +00:00
Starbeamrainbowlabs
f1a433b5e3
split_shell: automatically trim whitespace; ignore args that consist solely of whitespace
Hence "//bonemeal       1     4     " now functions correctly
2021-12-28 01:27:39 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
d657ce1abe
//sculptlist: fix bugs. It works! 2021-12-27 19:36:57 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
c030acfd7e
Vector3: add new .clamp() function 2021-12-27 02:18:56 +00:00
Starbeamrainbowlabs
eab498aac2
comment debug logging 2021-12-27 01:58:01 +00:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
f7a5e223d4
really fix #72 2021-12-26 22:40:00 +00:00
Starbeamrainbowlabs
502595579e
Try fixing #72 2021-12-26 22:36:24 +00:00
Starbeamrainbowlabs
607f2bfdea
//move+: bugfix 2021-11-13 12:41:00 +00:00
Starbeamrainbowlabs
8ec89c3e67
Implement //move+, but it isn't working right just yet. 2021-11-13 12:36:10 +00:00
Starbeamrainbowlabs
d560583121
Make //copy+ a thing using the new wea.parse.axes 2021-11-11 02:20:37 +00:00
Starbeamrainbowlabs
9729e82e35
parse_axes: support "true" as alias to activate mirrorring submode 2021-11-11 01:50:12 +00:00
Starbeamrainbowlabs
94f675ddce
parse_axes: add mirroring function 2021-11-11 01:47:22 +00:00
Starbeamrainbowlabs
41604d19ac
player.lua: tidy up comments 2021-11-11 01:33:08 +00:00
Starbeamrainbowlabs
43ea6e34c1
fixup 2021-11-10 02:07:34 +00:00
Starbeamrainbowlabs
e82440a096
Add deep copy table function 2021-11-10 02:07:13 +00:00
Starbeamrainbowlabs
35970b31b3
Implement tests for parse_axes 2021-11-08 00:47:35 +00:00
Starbeamrainbowlabs
4fb59a160f
parse_relative_axis_name: write tests 2021-11-08 00:16:51 +00:00
Starbeamrainbowlabs
96c3ede365
parse_axes: bugfix, start writing tests 2021-11-07 18:04:18 +00:00
Starbeamrainbowlabs
2babba9c55
first pass on writing an advanced axes parser, but it's untested 2021-11-07 17:14:11 +00:00
VorTechnix
46bd5d4fce Merge branch 'VorTechnix' of https://github.com/sbrl/Minetest-WorldEditAdditions into VorTechnix 2021-11-07 07:36:45 -08:00
VorTechnix
54268431b5 added missing quotation marks 2021-11-07 07:36:43 -08:00
VorTechnix
f7d4c5c6ac
Fix shadowing error 2021-11-07 07:04:07 -08:00
Starbeamrainbowlabs
3f48832fff
Merge branch 'main' into VorTechnix 2021-11-07 14:31:01 +00:00
Starbeamrainbowlabs
33a2ff1ed4
//spiral2 circle: round down 2021-10-31 19:48:40 +00:00
Starbeamrainbowlabs
9d7000baed
Add circular spirals :D 2021-10-31 16:59:52 +00:00
Starbeamrainbowlabs
d3a8efb9b8
Add //spiral2, write glue for square spirals
Next up: circular spirals!
2021-10-31 15:11:01 +00:00
Starbeamrainbowlabs
a3f26200a0
init: call spiral_square 2021-10-30 02:47:19 +01:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
84741f5cb9
ellipsoid2: remove todo 2021-10-23 14:32:44 +01:00
Starbeamrainbowlabs
2ae241aee5
Add //ellipsoid2 2021-10-14 01:50:27 +01:00
Starbeamrainbowlabs
91d5b9abc2
ellipsoid: add comment 2021-10-13 22:50:37 +01:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
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
VorTechnix
191e99f0b5 refactored table_tosting 2021-10-10 14:39:50 -07:00
VorTechnix
b72d36816e added to_boolean 2021-10-10 14:39:30 -07:00
Starbeamrainbowlabs
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
Starbeamrainbowlabs
62582b6abb
Update sapling alias compatibility 2021-08-12 01:09:24 +01:00
Starbeamrainbowlabs
2920f7081d
Add //noiseapply 2021-08-07 23:01:15 +01:00
Starbeamrainbowlabs
b131970f16
fixup 2021-08-07 22:30:38 +01:00
Starbeamrainbowlabs
6f00394d3d
Noise: add perlinmt algorithm & set as default 2021-08-07 22:30:10 +01:00
Starbeamrainbowlabs
fc2444c5cd
//floodfill: remove debug 2021-08-07 02:31:21 +01:00
Starbeamrainbowlabs
d1b0866af2
//floodfill: fix crash 2021-08-07 02:30:38 +01:00
VorTechnix
551f0c7e16 player_dir debugged (hopefully) 2021-08-05 20:38:59 -07:00
VorTechnix
cff58792bf Merge branch 'main' into VorTechnix 2021-08-05 10:43:00 -07:00
VorTechnix
4cf30a0e74 updated @return on sort 2021-08-05 10:41:35 -07:00
VorTechnix
533519d318 streamlined getsign 2021-08-05 10:40:36 -07:00
Starbeamrainbowlabs
e9398862b9
wea.inspect: comment out debug 2021-08-05 15:58:14 +01:00
Starbeamrainbowlabs
9bcf242443
Add worldeditadditions.inspect function 2021-08-05 15:55:30 +01:00
Starbeamrainbowlabs
35777b7ae5
//layers: comment debug 2021-08-05 02:38:57 +01:00
Starbeamrainbowlabs
f30ddbae3b
//walls: add optional thickness argument 2021-08-05 02:00:38 +01:00
Starbeamrainbowlabs
87f84e2482
//bonmeal: add optional node list constraint 2021-08-05 01:17:43 +01:00
Starbeamrainbowlabs
c48e9f2ab8
Vector3.min, Vector3.max: allow arguments to be numbers 2021-08-04 21:23:01 +01:00
Starbeamrainbowlabs
7c7abf4509
Queue: document with comments 2021-08-04 21:11:47 +01:00
Starbeamrainbowlabs
ef678e6a05
//layers: fix 2021-08-04 12:17:39 +01:00
Starbeamrainbowlabs
db830c6633
Implement slope constraint for //layers, but it isn't tested yet 2021-08-04 01:41:51 +01:00
Starbeamrainbowlabs
902d5ddc8b
wea.calculate_normals: update comment 2021-08-04 00:53:47 +01:00
Starbeamrainbowlabs
1833e68ec5
terrain.lua: add wea.calculate_slope() 2021-08-04 00:51:16 +01:00