Commit graph

410 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