Minetest-WorldEditAdditions/worldeditadditions_core
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
..
core Implement //set+ 2024-05-25 14:45:56 +01:00
textures initial pos marker wall for +x only 2023-06-27 21:45:48 +01:00
utils core.param2: add todo reimplement notice 2024-06-05 00:14:17 +01:00
init.lua Initial //orient implementation 2024-06-04 22:49:41 +01:00
mod.conf movetool, //speed: add optdepend on pova 2023-12-30 13:12:10 +00:00
README.md Implement run_command, but it's not quite finished yet 2022-05-17 01:03:58 +01:00

worldeditadditions_core

This mod's purpose is to provide a solid base upon which the rest of WorldEditAdditions can function. Once it is complete, we will be able to mark our dependency on worldedit itself optional. To get to that point though will still require a significant effort in implementing enhanced versions of all existing WorldEdit commands. If you've got some free time and a great idea for a command, please do open a pull request! :D

In short, worldeditadditions_core is a reimplementation of a number of underlying parts of the worldedit engine. Parts of worldeditadditions_core are likely to look very similar to parts of WorldEdit - this is because inspiration was taken from Uberi/WorldEdit when implementing worldeditadditions_core.