Commit Graph

200 Commits

Author SHA1 Message Date
Starbeamrainbowlabs
717a651bd8
typos in comments 2024-10-02 01:20:08 +01:00
Starbeamrainbowlabs
d74427e017
Fix some luacheck errors
the others are because rotate.lua isn't finished
Unfortunately I don't have the time to fix it now, because it will require a lot of time
2024-10-02 01:17:41 +01:00
Starbeamrainbowlabs
f3f0e8966d
run_command: prepend the name of the command in case of error. 2024-10-01 21:27:30 +01:00
VorTechnix
b319baae16
Merge branch 'dev' into selection-tools-refactor 2024-10-01 11:44:01 -07:00
VorTechnix
a794429961
Show default values in param
Co-authored-by: Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>
2024-10-01 06:50:48 -07:00
Starbeamrainbowlabs
5fd0c3dad3
core/pos: implement set_multi as a convenient alternative to multiple set() calls
/cc @VorTechnix & https://github.com/sbrl/Minetest-WorldEditAdditions/pull/112/files?diff=unified&w=1
2024-09-30 22:01:22 +01:00
VorTechnix
61bfab240a
axes parser re-refactor tests passed 2024-09-18 21:25:42 -07:00
Starbeamrainbowlabs
d29b037675
orientation: refactor a bit, docs 2024-09-17 23:23:09 +01:00
Starbeamrainbowlabs
d49f6d2131
Lift orientation functions from screwdriver2 mod
Ref @12Me21 https://github.com/12Me21/screwdriver2/blob/master/init.lua#L75-L79
Ref @khonkhortisan https://forum.minetest.net/viewtopic.php?p=73195&sid=1d2d2e4e76ce2ef9c84646481a4b84bc#p73195

....if either of you have an issue with this, please get in touch! The licence seems to allow this lifting and relicencing like this (given it's WTFPL as of the time of typing), but correct me if I'm wrong.

For reference, WorldEditAdditions is currently licenced under the Mozilla Public License Version 2.0.
2024-09-17 23:18:37 +01:00
Starbeamrainbowlabs
0915a137f8
weac.table: dofile() table_find 2024-09-17 23:13:00 +01:00
Starbeamrainbowlabs
6290c61e2f
typo 2024-09-17 22:56:02 +01:00
Starbeamrainbowlabs
163f4fc0fd
weac.table*: fix documentation, table.find 2024-09-17 22:51:04 +01:00
Starbeamrainbowlabs
da97890e0c
Make weac.table* appear in API docs 2024-09-17 22:13:01 +01:00
Starbeamrainbowlabs
12747f6524
pos_marker_manage: fix crash 2024-09-12 19:00:29 -07:00
Starbeamrainbowlabs
48af3e3127
run_command: fix crashes
...oops, should have tested that last commit
2024-09-13 02:58:24 +01:00
Starbeamrainbowlabs
0561e02845
pos_marker_manage: fix crash 2024-09-13 02:54:38 +01:00
Starbeamrainbowlabs
8c4d503f1f
turn wea_core into an EventEmitter; emit command execution pipeline events
These are subject to feedback and change - please let me know if they are named sensibly or not!
2024-09-13 02:52:35 +01:00
Starbeamrainbowlabs
f09e10ae49
document register_command 2024-09-13 02:51:36 +01:00
VorTechnix
78c418cb24
pos_marker quick patch 2024-09-12 09:55:02 -07:00
VorTechnix
e24997dd80
Update split.lua 2024-09-12 09:54:40 -07:00
VorTechnix
a772f7ed55
Merge pull request #111 from sbrl/axis-parser-hv-rework
Axis parser hv rework
2024-09-12 06:32:53 -07:00
VorTechnix
738940a431
stable at last 2024-09-11 19:41:57 -07:00
VorTechnix
bcaceac28b
parseNumber unstable (0 bug) 2024-09-11 18:04:25 -07:00
VorTechnix
7e9e0f6a48
Finally committing this 2024-09-09 12:19:54 -07:00
Starbeamrainbowlabs
977dcc6a93
pos_marker_manage: add some checks to update_entity event listener
For #105 because I can't reproduce the issue.
2024-08-18 20:33:57 +01:00
Starbeamrainbowlabs
e2167c4ba3
core.param2: add todo reimplement notice
Ref https://discord.com/channels/1135598362821935254/1247681375935533119

---------------------------------------

Hi, a wild //orient+ appeared! While it (probably) doesn't crash, it also unfortunately doesn't work yet.

This is because facedir e.g. points towards the direction the node is pointing, and minetest.facedir_to_dir doesn't capture all the nuance of how the node is pointing, and e.g. if a node is pointing +y and you want to rotate by (0, 90, 0) [degrees], then the current implementation won't do anything.

Then I decided that this is silly and there has to be a solution. After all, screwdriver2 has a great implementation! https://content.minetest.net/packages/12Me21/screwdriver2/

....then I found this lookup table in their codebase: https://github.com/12Me21/screwdriver2/blob/master/init.lua#L75-L79

....aaaaarrrggggghhhhh //orient+ is such a pain to implement!

and my existing implementation is so neat 😢 1dd073f14b/worldeditadditions_core/utils/param2.lua

so, in other words, although I've implemented //orient+ I'm going to have to reimplement the nuts-and-bolts function that does the rotation, which may make it slightly more complicated and annoying to implement support for nodes with param2 types other than facedir.

/rant about Minetest's param2 value and rotations 😛
2024-06-05 00:14:17 +01:00
Starbeamrainbowlabs
1dd073f14b
//orient: it works without crashing.... but very strangely.. 2024-06-04 23:07:05 +01:00
Starbeamrainbowlabs
02d95cec46
Initial //orient implementation
....unfortunately, it doesn't work yet.
Next up is a frankly ridiculous number of print()s to figure out what's going on here
2024-06-04 22:49:41 +01:00
Starbeamrainbowlabs
ffdd1b65b3
Implement //set+
This is on the road to //orient and later stair/etc support in //rotate :D
2024-05-25 14:45:56 +01:00
Starbeamrainbowlabs
00478c2ea8
weac/polyfill: add @module so it appears in the Lua API 2024-05-25 14:06:57 +01:00
Starbeamrainbowlabs
66c939c917
fix comments 2024-05-19 16:28:05 +01:00
Starbeamrainbowlabs
abe66cf1c5
//speed: fix crash when pova isn't installed
stupid bug in weac.{player_get_physics_override,player_set_physics_override}, as you might have suspected
2024-01-01 22:24:49 +00:00
Starbeamrainbowlabs
c1fce81bc3
post_marker_wall: @module → @namespace 2023-12-31 17:08:36 +00:00
Starbeamrainbowlabs
2f98b86c5f
movetool, //speed: add optdepend on pova
pova is a physics_override manager mod, so it's important we have support for it to ensure we play nice with other mods
Ref https://content.minetest.net/packages/TenPlus1/pova/
2023-12-30 13:12:10 +00:00
Starbeamrainbowlabs
b56bd0d84b
//rotate: fix some minor keyword issues, update reference & changelog
At some point we need to move the parser to allow for a `player` reference for relative keywords.... or else pass them through somehow
2023-12-16 01:11:25 +00:00
Starbeamrainbowlabs
dc39dbff08
Bugfix: don't +/1 (1, 1, 1) twice in //rotate 2023-12-16 00:37:27 +00:00
Starbeamrainbowlabs
54c66e0dc9
//rotate: fix bug in which regions are accidentally cut off 2023-12-16 00:35:52 +00:00
Starbeamrainbowlabs
7d29453699
plug in new //rotate+ logic
...but it doesn't work yet
currently it crashes with a variety of interesting and colourful error messages
working on debugging it now, but it's gonna take a moment
2023-12-13 23:05:00 +00:00
Starbeamrainbowlabs
b92cc434db
core/run_command: be more robust in case of programming errors 2023-12-13 23:04:09 +00:00
Starbeamrainbowlabs
873ff4bef8
Bugfix: don't error out on //flora → //bonemeal alias if bonemeal mod isn't installed
Also add worldeditadditions_core.command_exists to check both WEA and WEW for whether a command exists or not
2023-12-13 22:15:27 +00:00
Starbeamrainbowlabs
74a8996afc
//rotate: start implementing a frontend
This is more complicated than I expected.
We've got a new parser and a state machine for the args, but we now need to put these values to use and pass them to worldeditadditions.rotate().
NOTE TO SELF: BE REAL CAREFUL WITH ORIGIN HANDLING.
We MUST NOT pull from sorted pos1/2 by accident! Though I doubt this would be an issue since weac.pos.get(player_name, i) is a thing
2023-12-10 03:16:28 +00:00
Starbeamrainbowlabs
45f69eb8f9
Vector3.rotate3d: clarity in comment 2023-11-29 00:36:50 +00:00
Starbeamrainbowlabs
e28c428ef7
vector3: doc comment layout 2023-11-28 22:38:26 +00:00
Starbeamrainbowlabs
e3962bc8d7
StagedVoxelRegion : ..... I really need to come back and comb through this 2023-11-28 00:40:11 +00:00
Starbeamrainbowlabs
6d03a5ca2c
EventEmitter: fix luacheck error 2023-11-28 00:33:27 +00:00
Starbeamrainbowlabs
78844484f8
Add //ngroups, which lists the groups a given node is a member of 2023-11-27 23:44:06 +00:00
Starbeamrainbowlabs
ef86a0658a
NodeListMatcher: I think groups need to be prefixed with group: when calling minetest.get_item_group
....but we'll find out in testing!
2023-11-27 23:19:34 +00:00
Starbeamrainbowlabs
050bd80cf3
//nodeapply: Generalise matching engine into NodeListMatcher
Also add support for @groups, i.e. @crumbly matches nodes that are a member of the "crumbly" group
This groups feature is untested atm as I need to implement //ninfo....
2023-11-27 22:27:20 +00:00
Starbeamrainbowlabs
9dd92dbe70
StagedVoxelRegion: initial save() implementation.
....but it's untested, as usual.
2023-09-24 02:07:08 +01:00
Starbeamrainbowlabs
f02b1d0b33
fix syntax errors 2023-09-23 21:56:56 +01:00