Commit Graph

8673 Commits

Author SHA1 Message Date
Nils Dagsson Moskopp
cbf3dc49aa Replace grass path with dirt path
If a player wants to make a path when there is no dirt with grass on the
ground it means they need to either have silk touch to collect dirt with
grass or place dirt beside dirt with grass and wait for the grass cover
to spread before they can create the new paths …

Since the former is not possible early in the game and the latter is not
easy, this patch imitates Minecraft 1.17 behaviour; the following nodes
can now be turned into path nodes by right-clicking them with a shovel:

• Dirt (mcl_core:dirt)
• Coarse Dirt (mcl_core:coarse_dirt)
• Dirt with Grass (mcl_core:dirt_with_grass)
• Mycelium (mcl_core:mycelium)
• Podzol (mcl_core:podzol)

A group “path_creation_possible” has been added to mark nodes that can
be turned into a dirt path with a shovel. One obvious objection to that
addition might be that the “dirt” group already exists. Even though all
existing nodes that can be turned into a dirt path do indeed belong to
the “dirt” group, it is not a good idea: Changing what “dirt” means to
“any node that can be turned into a dirt path” would make it harder to
maintain the code.
2022-04-25 15:33:01 +02:00
cora
6bc676545b Allow saplings to grow on coarse d. and mycelium 2022-04-25 15:30:45 +02:00
chmodsayshello
77c2f9371e Merge pull request 'Update Fork' (#1) from MineClone2/MineClone2:master into master
Reviewed-on: https://git.minetest.land/chmodsayshello/MineClone2/pulls/1
2022-04-25 12:31:14 +00:00
cora
4cdb1130af Merge pull request 'Add hypercopyrighted end crystal beam texture' (#2134) from add-hypercopyright-beam into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2134
2022-04-25 03:38:10 +00:00
cora
5f126c4686 add hypercopyrighted end crystal beam texture
This texture has the following poem written by me, cora, encoded in its
pixeldata. I the author hereby release both the texture file and the
poem as cc0.

Additionally I explicitly consent with its inclusion into MineClone2,
MineClone5 and Mineclonia as well as any other minetest game for this
day and all the days to come.

Shall though betray me with a texture, mate
I'll smile at though just like a summer's day
The raindrop particles - no laggy state
But spring is coming, really, soon it's may

As If the seasons meant a damn to us
They do not exist in mineclone at all
unreal water flow, iron never rusts
but copper does in summer and in fall

But what this literally is about
because this damn thing is really silly
you see somehow they had to say it loud

I would bring that quote with painting lilys
but plagerism everywhere you see
so this will just be good enough for me
2022-04-24 01:46:57 +02:00
cora
dd12417529 Merge pull request 'Use uncarved pumpkin in survival' (#2119) from uncarved_pumpkins into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2119
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-04-22 20:01:23 +00:00
Nils Dagsson Moskopp
67ae203772 Trigger node callbacks when pumpkin is sheared
The code for shearing a pumpkin used minetest.swap_node() to replace a
faceless pumpkin with a carved pumpkin. This did not trigger the node
callbacks of the carved pumpkin, which meant that shearing a pumpkin
would not check for the snow golem or iron golem spawn conditions.

This patch replaces minetest.swap_node() in the code for shearing a
pumpkin with minetest.set_node(), which does trigger the callbacks;
therefore snow and iron golems can now spawn as a pumpkin is carved.
2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
5ba36c08b6 Drop carved pumpkin when shearing snow golem 2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
56db877360 Disconnect gourd stems after destruct
While testing the previous commit, it became clear that gourd stems do
not disconnect properly if the gourd disappears while not being dug. A
simple method to create illegal curved stems was to explode the gourd.

This patch changes gourds so that the stem curves back after a gourd is
destroyed, regardless of reason. This hopefully makes curved stems that
are not connected to matching gourds a relict of the past.
2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
e1d67a2095 Disconnect stems from carved pumpkins after dig
Carved pumpkins can end up being connected to a stem – either if they
were grown in a previous version of MineClone2 or Mineclonia, or if a
player carves them before harvesting them. This patch makes sure that
stems turn into unconnected stems after such a carved pumpkin is dug.
2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
a2dd8c935d Make villagers accept uncarved pumpkin in trades
As map generation and growing mechanics have been changed to generate
uncarved pumpkins instead of carved, requiring players to shear every
pumpkin before trading it with villagers seems like useless busywork.
2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
4fda54b0d1 Remove pumpkin pie recipe with carved pumpkin
Shearing an uncarved pumpkin turns it into a carved pumpkin and drops
four pumpkin seeds. As map generation and growing mechanics have been
changed to generate uncarved pumpkins instead of carved, preserving a
recipe to get pumpkin pie from carved pumpkins enabled players to get
both seeds and pumpkin pie from grown pumpkins, which was unintended.
2022-04-22 18:07:37 +00:00
Nils Dagsson Moskopp
9a53761b08 Remove pumpkin seeds recipe with carved pumpkin
Shearing an uncarved pumpkin turns it into a carved pumpkin and drops
four pumpkin seeds. As map generation and growing mechanics have been
changed to generate uncarved pumpkins instead of carved, preserving a
recipe to get seeds from carved pumpkins enables players to get twice
the amount of seeds as intended. Because of this, the recipe must go.
2022-04-22 18:07:37 +00:00
Alexander Minges
9b614c115c Grow uncarved pumpkin from seeds instead of carved
Carved pumpkin has to be explicitly registered as a separate node, as
registering a carved pumpkin node happened as a side effect of invoking
mcl_farming:add_gourd() for the carved pumpkin.

The iron / snow golem spawning checks that trigger whenever a carved
pumpkin is placed had to be moved out of the mcl_farming:add_gourd()
invocation to preserve the existing behaviour.

Note that uncarved pumpkin must not be registered as a separate node,
as invoking mcl_farming:add_gourd() for a registered node name leads to
stems not updating when an adjacent node is manually placed or mined.
2022-04-22 18:07:37 +00:00
Alexander Minges
faf3f60cff Use uncarved pumpkin instead of carved in mapgen 2022-04-22 18:07:37 +00:00
cora
1bcbdfbc4c Merge pull request 'Fix endermen dropping node AND taking it (#2122)' (#2130) from fix_enderman_dupe into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2130
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-04-22 10:25:46 +00:00
cora
b6ab815adc Fix endermen dropping node AND taking it 2022-04-22 01:02:20 +02:00
cora
511b7030e1 Merge pull request 'Generate podzol when planting huge spruce trees' (#2126) from spruce_podzol into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2126
Reviewed-by: AFCMS <afcm.contact@gmail.com>
Reviewed-by: kabou <kabou@noreply.git.minetest.land>
2022-04-21 22:27:10 +00:00
cora
a83a2e9aba generate podzol under huge spruce trees 2022-04-21 22:25:47 +00:00
cora
0c03d420b8 Merge pull request 'Check protection on dragon egg punch (#2127)' (#2129) from enderdragon_egg_fix into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2129
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-04-21 19:41:27 +00:00
AFCMS
8396dfe7e3
enderdragon egg: check for protection on punch 2022-04-21 21:02:43 +02:00
cora
231b658c3f Merge pull request 'Lift clouds to 384 in valleys mapgen' (#2110) from raise_valleys_clouds into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2110
2022-04-19 10:26:41 +00:00
kay27
dc4ccf91cc lift clouds to 384 in valleys mapgen
Valleys has a much higher average elevation than v7 often leading
to "normal" looking terrain being in the clouds. This lifts the
clouds up higher.
2022-04-19 10:23:10 +00:00
cora
8bf1d2b235 Merge pull request 'Fix sugarcane not getting param2 on mapgen' (#2118) from fix_sugarcane_color into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2118
2022-04-19 10:22:22 +00:00
cora
3cb9947cf4 fix sugarcane not getting param2 on mapgen 2022-04-19 12:16:07 +02:00
cora
d1cd46e197 Merge pull request 'change version in readme to 0.74 (indev)' (#2115) from change-readme-074-indev into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2115
2022-04-16 11:01:40 +00:00
cora
33097a7656 change version in readme to 0.74 (indev) 2022-04-16 11:59:10 +02:00
cora
9ad4222f35 Merge pull request 'update readme to 0.73.1' (#2114) from release_0731 into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2114
2022-04-16 09:52:56 +00:00
cora
feb1fcc5b4 update readme to 0.73.1
Since "someone" had to make a huge deal publicly about supposed
copyright problems we need to do yet another release because
of this.
2022-04-16 11:48:42 +02:00
cora
6976ffca62 Merge pull request 'Shuffle pixels in mcl_end_crystal_beam.png' (#2113) from fix_mcl_end_crystal_beam into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2113
2022-04-16 09:23:32 +00:00
Nils Dagsson Moskopp
34b5002fc8
Shuffle pixels in mcl_end_crystal_beam.png
A user claimed that this texture was a texture from Minecraft 1.8.9 –
see <https://git.minetest.land/MineClone2/MineClone2/issues/2099> for
further details. I have not verified that but I noticed that in commit
152e552458 the file was replaced with a
file containing the exact same pixels.

A visual inspection confirms that the file contains noise, so it is not
clear if it is even copyrightable. However, to ensure that it could not
be identical to a file from Minecraft, To get noise of the same quality,
I have shuffled all its pixels with the following POSIX sh shell script:

LANG=C
PREFIX=mcl_end_crystal_beam
convert $PREFIX.png $PREFIX.pnm
<$PREFIX.pnm  >$PREFIX.plainpnm pnmtoplainpnm
<$PREFIX.plainpnm >$PREFIX.seed tr '1234567890 ' ' 1356902468'
(
 <$PREFIX.plainpnm head -n+3
 <$PREFIX.plainpnm tail -n+4 \
  |tr ' ' '\n' \
  |shuf --random-source $PREFIX.seed
) >$PREFIX.shuffled.plainpnm

I then opened mcl_end_crystal_beam.shuffled.plainpnm using GIMP,
converted the color black to tranparency and saved the image as a
paletted PNG (which yields a smaller filesize than a grayscale PNG).
2022-04-16 01:24:04 +02:00
cora
e63e3b3cbd Merge pull request 'Make shields work with all mobs' (#2107) from shield_mob_fixes into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2107
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-04-12 10:31:31 +00:00
NO411
2aa04519dd Merge branch 'shield_mob_fixes' of https://git.minetest.land/MineClone2/MineClone2 into shield_mob_fixes 2022-04-09 16:21:32 +02:00
NO411
e790bf90f4 Make shields work with all mobs 2022-04-09 16:21:22 +02:00
NO411
b108f58b2f NO11 2022-04-09 16:19:53 +02:00
cora
8e904e2ca9 Merge pull request 'mcl_weather: fix typo/crash' (#2105) from fix_weather_typo into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2105
Reviewed-by: NO11 <no11@noreply.git.minetest.land>
2022-04-08 15:03:06 +00:00
cora
bb593159f1 mcl_weather: fix typo/crash 2022-04-08 06:23:14 +02:00
cora
83c91aba93 Merge pull request 'Shields: Fix crash when deflecting ghast fireball ( #2095 )' (#2103) from fix-shield-ghast-crash into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2103
Reviewed-by: NO11 <no11@noreply.git.minetest.land>
2022-04-07 20:47:56 +00:00
cora
e7970ecce5 shields: Fix crash when deflecting ghast fireball 2022-04-07 22:40:48 +02:00
kabou
b96fb2af17 Merge pull request 'Replace mcl_end_crystal_beam.png with free version.' (#2100) from end_crystal_beam into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2100
2022-04-06 21:22:57 +00:00
kabou
152e552458 Replace mcl_end_crystal_beam.png with free version.
* Replace mcl_end_crystal_beam.png with unknown provenance with a
  version from the PixelPerfection texture pack that has a know good
  free licence.
2022-04-06 23:04:01 +02:00
cora
f807ac5c70 Merge pull request 'Remove settlements_in_world and settlements.txt' (#2094) from villages-fixes into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2094
2022-04-02 20:32:21 +00:00
kabou
ace0dc00c7 Remove settlements_in_world and settlements.txt
The global(!) table settlements_in_world` has no use, but is serialized and
saved to a file `settlements.txt` every time during generation of a new
village, adding more lag.  This commit removes all related code:
* Remove all instances of `settlements_in_world`.
* Remove `settlements.load()` and `settlements.save()`.
2022-04-02 21:52:03 +02:00
cora
85d1f61188 Merge pull request 'More composters fixes and updates.' (#2093) from composters into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2093
Reviewed-by: cora <cora@noreply.git.minetest.land>
2022-04-02 02:01:34 +00:00
kabou
f3b28df6cc Rework function comments.
* Move descriptive function comments to above the function definition.
* Adopt some luadoc styles.
* Update a stale reference to a renamed function in comments.
2022-04-02 03:32:56 +02:00
kabou
f37f8b6bca Return itemstack in composter_harvest().
* `composter_harvest()` is a `on_rightclick` handler and should return
  what remains of the ItemStack that was passed to it.
2022-04-02 03:32:56 +02:00
kabou
2ba801dfc7 Add protection support to composter.
* Add checks for `minetest.is_protected()` and log any violations.
* Add local aliases for global functions.
2022-04-02 03:32:56 +02:00
kabou
bba3aabb59 Add compostability to GROUPS.md 2022-04-02 03:32:56 +02:00
kabou
19eb31f389 Streamline use of vector ops.
* Use vector.offset instead of vector.add.
* Define and use local alias for vector.offset.
2022-04-02 03:32:56 +02:00
kabou
541a805a48 Logix fix and some simple optimizations.
* Fix silly and mostly inconsequential logic bug that had gone unnoticed up
  till now.
* Condense a single use variable away by using a slightly more elaborate
  assignment statement.
* Add a few more local aliases for global minetest.* functions.
2022-04-02 03:32:56 +02:00