Commit Graph

477 Commits

Author SHA1 Message Date
Starbeamrainbowlabs c465d6efb0
Commands that modify the terrain now ignore liquids 2022-06-11 21:56:26 +01:00
Starbeamrainbowlabs 6e0779a4e5
//sculpt: Fix undefined `default` brush 2022-06-11 18:53:54 +01:00
Starbeamrainbowlabs fc4f64d25a
Merge branch 'main' of github.com:sbrl/Minetest-WorldEditAdditions into main 2022-06-05 17:13:49 +01:00
Starbeamrainbowlabs e294d96efe
//dome+: ensure domes include pos1 2022-06-05 17:10:41 +01:00
VorTechnix dc73e0e1e9 sum param clarification 2022-05-30 08:38:33 -07:00
VorTechnix 53600789d8 added compass directions, fixed tmp.sign bug 2022-05-29 16:23:59 -07:00
VorTechnix 021fdac284 variable refactor 2022-05-23 18:49:24 -07:00
VorTechnix 6ed65074b8 unexposed number parser 2022-05-23 18:04:34 -07:00
VorTechnix a8655373a2 fixed typo 2022-05-23 17:11:26 -07:00
VorTechnix 3196a590f5 changed: functions returned
(and unexposed key_instance class)
2022-05-23 17:08:42 -07:00
VorTechnix 1cef968731 Key Instance type checking 2022-05-23 17:06:23 -07:00
VorTechnix e17b2cce4e small correction 2022-05-23 15:02:59 -07:00
VorTechnix 23140467d2 new parser connected 2022-05-23 14:58:45 -07:00
VorTechnix 2cddccdca4 working (tested) parser implementation 2022-05-23 14:58:27 -07:00
VorTechnix 8789b39d1d Merge branch 'main' into VorTechnix 2022-05-21 07:04:09 -07:00
VorTechnix a0982c70f0 check_dir update (unification) 2022-05-20 19:29:01 -07:00
VorTechnix a6b4d047b8 axes_parser implemented (not added to init) 2022-05-20 19:27:47 -07:00
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