drgn reports: healing tree now replaces bloc ... #4264
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#4264
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
drgn reports a bug:
Player position:
Player look:
Player information:
Player meta:
Log identifier
Profiler save:
Status:
Teleport command:
Compass command:
Other trees seem to do the same.
I really don't want to test them all, cuz I don't want to have whole village of Walstrand destroyed!
this is apparently due to this commit:
5a411e8b4c
documentation: https://github.com/minetest/minetest/blob/master/doc/lua_api.md#schematic-specifier
i'm unsure what the solution to this is - possibly we leave it as it is (people's tree farms are already destroyed), possibly we ask Tenplus1 to make it a setting instead. or possibly instead, we ask the engine folks to change force_place to not over-write chests somehow.
more ideally, we need better ways of creating trees.
part of an issue i started writing for ethereal, which i'm not going to post just yet:
Let's ask TenPLus1 to make it a setting. I very much doubt anyone is happy to have chests written over.
Or use force_place when called from mapgen and not use it when growing from sapling. Might fix both issues without sise effects.
the apparent intention of adding that parameter to moretrees tree placement, was to keep leaves from interfering w/ the placement of trunks, which created "floating" trees. that's not just a problem during mapgen.
There already is a better way to create trees: The L-system. It has a lot of configurability. The core of it uses a regular language (regular as in regular expression) to instruct a "pen" to "draw" a tree.
From what I can tell, this system completely avoids the issues that come with the schematic-placing approach used in Ethereal. Moretrees uses the L-system for tree generation, and does not have any issues of the sort seen in this bug (as far as I can tell).
Ultimately, this is probably what the long-term solution for ethereal trees should be.
Moretrees has the issue of having very huge trees and not even beeing able to produce them at mapgen time. Moretrees places ongen saplings that later grow into trees.
I don't know a solution to this problem apart from removing the force_place flag from the schematics again - or by having diffrent tree versions for mapgen and later growth.
I think tree size is not a universal problem with moretrees (e.g. poplars are normal). Instead, it's just that their L-system models for most of the trees are too large, leading to huge trees.
I'm not sure about the mapgen issue. But I imagine that L-system trees could be force-grown at mapgen time by calling whatever function is used to initiate sapling growth rather than placing saplings.
Temporary fix:
d014245be1
minetest's l-system implementation is incredibly restrictive. and hard to work with. i challenge you to implement something close to ethereal's redwood, date palm, or giant mushroom with them. the schematic system is also very restrictive, but the constraints are different.
upstream issue: https://notabug.org/TenPlus1/ethereal/issues/72
Ideally, the healing tree trunks should be able to replace only some specified kinds of nodes (grass, leaves, flowers, air, water), but not any other (certainly not other trunks, chests, stone or any other objects).
Leaves could have even shorter list (just air or flowers?)
But that may be a nontrivial change.
QA
The temporary fix is in place and trees don't replace other blocks anymore. That's an OK for 1.1.119, but the temporary fix is in yl_stable ethereal, it must come from upstream instead, else we need to fix from yl_commons instead
i think my upstream issue will probably be implemented, hopefully we can get rid of the temporary fix then
upstream seems to have removed the
force_place
attributes, so this should go back to old behavior.machines that have been destroyed will mostly have already been destroyed. i don't require any refunds, but other players possibly might have valuable stuff that they lost.
I reset yl_stable to parity with upstream
Good point
this is live