Closed schrum2 closed 1 year ago
makes cobblestone
if the origin lava block is put out it turns to obsidian
minecraftBlockSet:edu.southwestern.tasks.evocraft.blocks.WaterAndLavaBlockSet
We have successfully encouraged the creation of cobblestone blocks.
Although some more experiments with this fitness function need to be run, I'm comfortable closing this issue. Further developments can be tracked in the new issue #873
The reason for issue #862 is that water and lava can combine to make different types of stone in different circumstances. I wonder if by combining these things with a moving machine, we could create structures somehow. At the moment, this whole idea is very vague and unclear. Some searching online might lead to new ideas of what is possible. However, we need some kind of fitness function that will encourage something to happen between water and lava.
At first, I guess we can start simple, and simply have the goal be the creation of as many solid blocks as possible. I'm pretty sure that one of the blocks that can be created by the interaction of water and lava is obsidian (check this). So, we could have a fitness function that tries to maximize the number of obsidian blocks in the evaluation area.
Note: at first glance, it might seem as though you could simply extend the
TypeCountFitness
the way thatNumRedstoneFitness
does, but this won't work for two reasons.TypeCountFitness
fitness does not simulate the shape in the environment at all. It just creates the shape and bases the fitness on the original arrangement of blocksTypeCountFitness
only counts blocks within the bounds of the shape and not around it.So, this new fitness function will need to place the shape in the world, wait some set amount of time (use the "minecraftMandatoryWaitTime" parameter, but change its description to "time in milliseconds for a full evaluation of a simulated Minecraft shape"), and then read the surrounding space, and count the number of Obsidian blocks (anticipate needed to replace Obsidian with some other kind of block and write the code in a general fashion so that this change can be easily made).