Commit Graph

7213 Commits

Author SHA1 Message Date
kay27 a6e9afbb93 Add bell from mcl5 2022-05-20 13:33:39 +02:00
Nils Dagsson Moskopp c9c14d6ff0 Add noise to christmas chest textures 2022-05-20 04:13:13 +02:00
Nils Dagsson Moskopp ff384c9588 Reskin chests as presents on December 24th to 26th 2022-05-20 04:13:01 +02:00
cora c4e51650f8 smoker & bfurnace: More concise short descriptions 2022-05-18 13:37:34 +02:00
cora 8426e7826a Fix smoker fuel not being burned at twice the rate. 2022-05-18 13:30:00 +02:00
MysticTempest d10f8944ed Fix blast_furnace fuel not being consumed at twice the rate. 2022-05-18 05:30:05 -05:00
PrairieWind d93704fa0e Merge branch 'master' into furnaces 2022-05-17 18:33:20 +00:00
PrairieAstronomer fe36d579eb Add Blast Furnace and Smoker to Villager Workstations 2022-05-17 10:37:55 -06:00
PrairieAstronomer 4af0a4daae Updated GROUPS.md and fixed blast furnace group name. 2022-05-17 10:34:44 -06:00
PrairieAstronomer fd18c0d213 Removed Unneeded Code from Blast Furnace, and updated description. 2022-05-17 10:27:41 -06:00
PrairieAstronomer 7ac2593164 Removed Unneed code and fixed description of Smoker 2022-05-17 10:03:15 -06:00
PrairieAstronomer 29e18015b8 Make Fish and Salmon Smokable 2022-05-17 09:48:51 -06:00
PrairieAstronomer e1a6baffe9 Smoker 2022-05-16 21:11:10 -06:00
PrairieAstronomer f1a80876de Make Copper Ore Blastable 2022-05-16 20:59:19 -06:00
PrairieAstronomer 3558541648 Blast Furnace 2022-05-16 20:45:45 -06:00
cora 5282a63bcb add options for nametagged mobs and range 2022-05-15 20:04:09 +00:00
cora e5de4bba65 keep nametagged mobs, add "all" argument 2022-05-15 20:04:09 +00:00
cora 628686ce79 Add a command to safely remove all mob objects 2022-05-15 20:04:09 +00:00
rudzik8 37e72e333b Improve /seed command (now it looks like in modern MC) and update RU locale 2022-05-15 20:27:30 +07:00
MysticTempest dd1a58b01e Implement piston fixes:
This enables the feature of unsticky pistons. This allows
for some nodes to be unpullable, but otherwise pushable or diggable.
A certain selection of nodes that can never be moved.
And, stops certain entities from being pushed if they shouldn't move.

Along with this change; I've also updated the rules regarding
pushing, and pulling of nodes & objects to be more accurate to MC.
Now allowing for more complex redstone circuits to be built.
2022-05-15 02:18:21 -05:00
PrairieAstronomer fec5650711 Removed dependancies 2022-05-14 16:01:14 -06:00
PrairieAstronomer 5abfa555eb Added new workstations to villager jobsite definitions 2022-05-14 15:52:37 -06:00
PrairieAstronomer dead4069b0 Removed incorrect groups 2022-05-14 15:48:33 -06:00
PrairieAstronomer 4bc67a174b Loom 2022-05-14 15:34:08 -06:00
PrairieAstronomer c71b036e6a Cartography Table 2022-05-14 15:24:44 -06:00
PrairieAstronomer 046698c64f Fletching Table 2022-05-14 15:14:50 -06:00
cora 31b8ea26a2 add jobsites to professions table 2022-05-14 00:32:15 +02:00
cora fd6f2be485 update cleric trades 2022-05-14 00:32:15 +02:00
cora 07e0a90051 update tool smith trades 2022-05-14 00:32:15 +02:00
cora f073d4d420 update weapon smith trades 2022-05-14 00:32:15 +02:00
cora 89aaf6b709 update butcher trades 2022-05-14 00:32:15 +02:00
cora f09b578034 update leatherworker trades 2022-05-14 00:32:15 +02:00
cora 0ce1a92282 update armorer trades 2022-05-14 00:32:15 +02:00
cora 135ee97b21 update cartographer trades 2022-05-14 00:32:15 +02:00
cora 51cf92a909 update librarian trades 2022-05-14 00:32:15 +02:00
cora 2d47ad3e5f update fletcher trades 2022-05-14 00:32:15 +02:00
cora c28d700caf update fisherman trades 2022-05-14 00:32:15 +02:00
cora ba861d7b74 update farmer trades 2022-05-14 00:32:15 +02:00
cora 9b8b7ce6b4 refactor go home logic 2022-05-14 00:32:15 +02:00
cora 354d17a14c enable simple villager breeding 2022-05-14 00:30:44 +02:00
rudzik8 7f3ba7d4a2 Enable placing carpets on llamas and add textures for it 2022-05-13 22:00:09 +00:00
cora a1209b14a1 playerplus: fix deprc. add_player_velocity calls 2022-05-12 23:30:39 +00:00
kabou baf8e0b79c Update item entity for lodestone compass.
* Added another special case to the item entity registration for
  lodestone compasses, without this a dropped lodestone compass would
  turn into a regular compass on being dropped.
* Update the compass and lodestone compass frame number to be the
  stereotype frame.
2022-05-12 21:08:52 +02:00
chmodsayshello 00dba67cd8 remove lodestone compass from creative inventory 2022-05-12 19:06:13 +02:00
kabou 872b708465 Remove unused variable.
* Removed unused variable `stack_max`.
2022-05-11 21:45:15 +02:00
kabou 74e70b674e Fix return value of `get_compass_image()`.
* `get_compass_image()` did not actually return the image number.
2022-05-11 21:43:52 +02:00
kabou 14c882f982 Fix lodestone compass meta handling.
* The nature of a compass was being determined by looking at its meta.
  This caused lodestone compasses with unset meta to turn into regular
  compasses.  Fixed by using string matching on the itemname.
* Changed lodestone rightclick handler to explicitly set the correct
  name and frame of the compass used on it instead of waiting for
  globalstep to do this.
2022-05-11 21:31:50 +02:00
kabou 8ae605165b Fix lodestone compass stack_max.
* Lodestone compasses are stackable.
* Remove hardcoded `stack_max` setting, use default.
2022-05-11 17:53:41 +02:00
kabou aca4aca79b Add German translation.
* Add "de" (German) translation by chmodsayshello.
2022-05-11 17:43:57 +02:00
kabou bacc7613b5 Fix crash in mt 5.4 with vector ops.
* `vector.from_string()` is not available in mt pre-5.5.  Replace with
  `minetest.string_to_pos()`.
2022-05-11 17:41:10 +02:00
kabou 8a4b8707fa Add new compass API.
* Add API.md
* Update mcl_itemframes to use the new API.
* Revert old exported function back to original API.
2022-05-10 23:38:28 +02:00
kabou a8c231da34 Refactor compass code.
* Split up `get_compass_image()` into smaller functions.  This allows
  for better code sharing between old and new API and globalstep fn.
* Add `get_compass_itemname()` function.  It will be the new API of
  choice, `get_compass_image() will be deprecated soon.
* Remove function declaration out of globalstep function.
* Various other performance improvements.
* Add local aliases for global functions
* Lodestone compasses can only stack 1 item.
* Document functions and variables.
* Fix lodetone compass inaccurately reusing compass descriptions.
* Add usage descriptions to node definitions
* Refactor craftitem registration code.
* Update translation templates.
2022-05-10 22:43:03 +02:00
cora 12a943e222 Make villagers homeless when bed is gone on return 2022-05-09 10:29:58 +00:00
cora 8d0afede37 don't block mapgen on village generation 2022-05-09 10:29:57 +00:00
cora 0288581407 increase wait til village generated 2022-05-09 10:29:57 +00:00
cora 3774044f86 Walk back to bed instead of teleporting 2022-05-09 10:29:57 +00:00
cora 46dbf8c0ab Spawn villagers on villagegen, stay in village
This spawns a villager per bed on village gen and saves the bed
position in the entity. If it moves too far from the village
it gets teleported (for now) back.
2022-05-09 10:29:57 +00:00
MysticTempest 44b1d583a7 Potion Fixes:
Ensure all potion icons disappear after their effect is gone.
Stop Breath bar from flashing when water_breathing is in effect.
2022-05-09 05:18:59 -05:00
cora 5a25e42fd3 fix the 2nd nether dust warning ^^ 2022-05-09 12:06:28 +02:00
kabou 4e3a2a7b4c Fix list of spawnable biomes for rabbits.
* Rabbits spawn in Desert biome.
* Rabbits do no spawn in Forest and Swamp biomes.
2022-05-08 19:59:04 +00:00
chmodsayshello 6cb08a3c87 update dependencies 2022-05-08 19:57:09 +00:00
chmodsayshello 31a8ddabb8 minor changed (see long description)
This commit makes charged respawn anchors light sources, all respawn anchors can no longer be pushed by pistons and always drop the uncharged one
2022-05-08 19:57:09 +00:00
chmodsayshello 6806ea311d code from inital PR 2022-05-08 19:57:09 +00:00
cora e1ed990f58 sp. farm animals on grass, villagers near beds 2022-05-08 18:50:37 +00:00
cora e4c5f81524 make husks spawn only in deserts, zombies not 2022-05-08 18:50:37 +00:00
kay27 53042b6f48 Adopt mob spawning from mcl5 2022-05-08 18:50:37 +00:00
Elias Fleckenstein 34e5bb0334 Add Wither Spawning 2022-05-06 19:40:39 +00:00
Elias Fleckenstein c05a2d3a9d Add wither spawning schems 2022-05-06 19:40:39 +00:00
cora f1fc84b31b fix referencing mistake with cracked deepslate 2022-05-06 10:48:02 +00:00
AFCMS f9a2dacdd4 Fix texture and sound names in `mcl_amethyst` 2022-05-05 22:49:23 +02:00
AFCMS 00c70014c7 Fix codestyle and translation of `mcl_amethyst` 2022-05-05 22:49:23 +02:00
3raven f4020ebd31 mcl_amethyst.fr.tr
Translation
2022-05-05 22:49:23 +02:00
kay27 74322ead49 #11 Polish amethyst stuff 2022-05-05 22:49:23 +02:00
kay27 1a83f50505 Fix amethyst buds light levels again 2022-05-05 22:49:23 +02:00
kay27 206c98e354 Fix various amethyst errors, better seed function 2022-05-05 22:49:23 +02:00
kay27 69e83d5c0a #11 Spawn buds 2022-05-05 22:49:23 +02:00
kay27 d3dfd13f78 #11 Fix the style, add template.txt, add Russian translation 2022-05-05 22:49:23 +02:00
kay27 e28ccd9a80 #11 Put tabs instead of each 2 spaces 2022-05-05 22:49:23 +02:00
kay27 a5fba06a2c #11 Remove amethyst screenshot 2022-05-05 22:49:23 +02:00
Emojigit 6c36c83a18 AMethyst Growing 2022-05-05 22:49:23 +02:00
Emojigit 48a4e069f9 craft bugfix 2022-05-05 22:49:23 +02:00
Emojigit 60e04438e0 typo missing space 2022-05-05 22:49:23 +02:00
Emojigit 0b01d299ea 更新 'mods/ITEMS/mcl_amethyst/init.lua' 2022-05-05 22:49:23 +02:00
Emojigit ebdf944dda amethyst bud 2022-05-05 22:49:23 +02:00
Emojigit 794e10df4e [mcl_amethyst] INIT
* Amethyst Block
* Budding Amethyst (won't  grow amethyst now)
* New spyglass recipe
* Tinted Glass
* Calcite
2022-05-05 22:49:23 +02:00
cora 6a2fe2eb4f remove ancient backup "init_new.lua" 2022-05-05 04:05:08 +00:00
kabou 1266396e1d Add cobbled deepslate to cobble group.
By adding cobbled deepslate to the group "cobble", it automatically
inherits  all crafting recipes and tool repair capabilities that apply
to that group.

* Add `cobble=1` to cobbled deepslate node definition groups.  This
  requires a little refactoring of the deepslate variants registration
  function.
* Remove stone tools, furnace and brewing stand crafting recipes.
2022-05-05 01:45:03 +02:00
kabou f5abc28190 Allow smelting of deepslate ores.
* Register "cooking" crafting recipe for deepslate ores that enables
  smelting these ores in furnaces.
* Extend deepslate ore registration function to allow passing cooking
  result as argument.
* Update the deepslate ore table to include smelting results.
* Put deepslate w/ lapis drops in a separate table, making the deepslate
  ores table less unwieldly.
2022-05-04 23:35:07 +00:00
AFCMS f8f6ea22c8 Fix codestyle issues with `mcl_deepslate`, `mcl_copper`, `mcl_raw_ores` 2022-05-04 23:35:07 +00:00
cora b0b8ef3921 Comment out ore registrations for now
The discussion about how to handle the new ores is still ongoing.
This PR was originally only intended to add the new nodes so
that's what it does now.
2022-05-04 23:35:07 +00:00
cora be6d2db7d4 remove redundant license files 2022-05-04 23:35:07 +00:00
cora dc40ed18b3 remove raw_ores item override 2022-05-04 23:35:07 +00:00
cora 1b99de73d2 remove screenshots from original mods 2022-05-04 23:35:07 +00:00
NO11 c97e0cd631 Add deepslate 2022-05-04 23:35:07 +00:00
NO11 8c7a8a61d2 Add Copper 2022-05-04 23:35:07 +00:00
NO11 6bdaa9f2d1 Add raw ores 2022-05-04 23:35:06 +00:00
kabou dceb48bf94 Fix undefined variable in mcl_enchanting/engine.lua. 2022-05-04 23:31:54 +00:00
AFCMS 8a47a195f6 Remove preview files 2022-05-04 23:15:11 +00:00
AFCMS d0b60e2399 Fix player armor enchanting overlay (#2161) 2022-05-04 23:15:11 +00:00
AFCMS 3ca40cd4e4 Remove 2D preview 2022-05-04 23:15:11 +00:00
kabou 920b8b9654 Bookshelves are deco blocks, not building blocks. 2022-05-04 23:06:05 +00:00
kabou f1a494ea62 Change stone tool repair materal to group:cobble.
* Update repair material for stone tools (pick, shovel, axe, sword and
  hoe) to use any cobble group stone.
2022-05-05 01:01:29 +02:00
kabou 64bb50dfd5 Change some crafting recipes to use group:cobble.
* Update crafting recipes for stone tools (pick, shovel, axe, sword and
hoe), furnace and brewing stand to use any cobble group stone.
2022-05-04 15:54:12 +02:00
kabou 9edb40b5c5 Add cobblestone to the `cobble` group. 2022-05-04 15:14:23 +02:00
chmodsayshello 3699ca5535 update translation template 2022-05-03 15:21:18 +00:00
chmodsayshello 9c652df8a2 update german translation 2022-05-03 14:59:49 +00:00
chmodsayshello 390802a344 fix crash when achievements are disabled and /awards is being used
This commit fixes  https://git.minetest.land/MineClone2/MineClone2/issues/2164, which crashes the game whenever /awards is called with arguments other than enable
2022-05-03 14:58:44 +00:00
cora 61a999fe5a Fix warning in mcl_weather 2022-05-02 21:47:33 +02:00
kabou ed8995acec Fix `add_large_plant()` argument mismatch.
* In commit 86b2cd70f9 an extra argument
  was added to the `add_large_plant()` function in order to handle silk
  touch.  For some reason, the callers for "double_grass" and
  "double_fern" were updated with two new arguments.  Because of this,
  silk touch likely never worked on these nodes.  This commit removes
  the unused `nil` argument from both callers.
* This commit fixes #2155.
2022-05-01 10:31:01 +00:00
chmodsayshello f1c60a48e0 remove debug logging 2022-04-30 10:02:04 +00:00
chmodsayshello c97fc42b68 upload textures 2/2 2022-04-30 09:02:17 +00:00
chmodsayshello 92cd3381ad upload textures 1/2 2022-04-30 09:01:57 +00:00
chmodsayshello f7a5862df2 update mcl_itemframes to use get_compass_image correctly 2022-04-30 08:59:25 +00:00
chmodsayshello ba8e072265 update mcl_compass dependencies 2022-04-30 08:58:04 +00:00
chmodsayshello f9d8b61dc1 update mcl_compass init.lua 2022-04-30 08:57:03 +00:00
Nils Dagsson Moskopp 057051aa6d Add packed ice crafting recipe 2022-04-27 00:33:01 +02:00
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
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
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 b6ab815adc Fix endermen dropping node AND taking it 2022-04-22 01:02:20 +02:00
cora a83a2e9aba generate podzol under huge spruce trees 2022-04-21 22:25:47 +00:00
AFCMS 8396dfe7e3
enderdragon egg: check for protection on punch 2022-04-21 21:02:43 +02: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 3cb9947cf4 fix sugarcane not getting param2 on mapgen 2022-04-19 12:16:07 +02: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
NO411 e790bf90f4 Make shields work with all mobs 2022-04-09 16:21:22 +02:00
cora bb593159f1 mcl_weather: fix typo/crash 2022-04-08 06:23:14 +02:00
cora e7970ecce5 shields: Fix crash when deflecting ghast fireball 2022-04-07 22:40:48 +02: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
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
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 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
kabou cd12e1d78c Various little fixes.
* Remove trailing whitespace.
* Remove `use_texture_alpha` setting from node definitions, the default
  value is already the correct one.
2022-04-02 03:32:56 +02:00
kabou 4335d0d659 Use compostability group from node definitions.
* Replace use of local table with compostability values with a call to
 `minetest.get_item_group()`.
* Define local alias for `minetest.get_item_group`.
* Remove the now unused static compostabilty values table.
2022-04-02 03:32:56 +02:00
kabou de16eb3c5a Add `compostability` to node definition group.
* mcl_cake/init.lua (cake);
* mcl_core/craftitems.lua (apple);
* mcl_core/nodes_base.lua (dirt with grass);
* mcl_core/nodes_cactuscane.lua (cactus, sugarcane);
* mcl_core/nodes_climb.lua (vines);
* mcl_core/nodes_trees.lua (leaves, saplings);
* mcl_dye/init.lua (cocoa beans);
* mcl_farming/beetroot.lua (beetroot, & seeds);
* mcl_farming/carrots.lua (carrot);
* mcl_farming/melon.lua (melon, & slice, & seeds);
* mcl_farming/potatoes.lua (potato, baked potato);
* mcl_farming/pumpkin.lua (pumpkin, carved &, & seeds, & pie);
* mcl_farming/wheat.lua (wheat, cookie, bread, hay block);
* mcl_flowers/init.lua (flowers, ferns, grass, & tall variants);
* mcl_mushrooms/small.lua (red and brown mushrooms);
* mcl_mushrooms/huge.lua (red and brown huge mushrooms);
* mcl_nether/init.lua (nether wart block);
* mcl_nether/nether_wart.lua (nether wart);
* mcl_ocean/kelp.lua (kelp, dried &, & block);
* mcl_ocean/sea_pickle.lua (sea pickle);
* mcl_ocean/seagrass.lua (seagrass).
2022-04-02 03:32:56 +02:00
cora 7f1bb7af92 replace nether dust particles with p. spawners
mcl2 uses add_particle for nether dust resulting in a 10-fold
increase in network traffic when in the nether. Nether dust is not
configurable making it impossible to turn this off for server admins.
this commit replaces the add_particle method with particle spawners
2022-03-30 10:21:32 +00:00
cora 53715212a2 remove unnecessary on_dimensionchange 2022-03-30 10:21:32 +00:00
cora c146426c5c fix snow not being properly removed 2022-03-30 10:21:32 +00:00
cora dc24f45cfa add indoor detection for snow 2022-03-30 10:21:32 +00:00
cora d2861c5955 remove unneccessary particle logic 2022-03-30 10:21:32 +00:00
cora 1e4494e85d let rain and thunder use particlespawners 2022-03-30 10:21:32 +00:00
cora 4eae95fa47 let snow use particlespawners 2022-03-30 10:21:32 +00:00
kabou 1b99b73894 Fix wrong player name accessor.
* Duh..
2022-03-30 01:31:38 +02:00
kabou 14da059ce7 Add extra check and warning on missing player data.
* For some unexplained reason, `mcl_burning.storage[player]` can
  sometimes be `nil`, causing a crash in `on_leaveplayer()`.  This
  commit adds a check for that.  If a `nil` is encountered, a sane
  value is substituted and a warning is set to the log.
2022-03-29 12:06:00 +02:00
NO11 5974b6f609 Merge branch 'master' into shields2 2022-03-28 12:27:57 +00:00
NO411 148be4ea39 Fix shield behavior 2022-03-27 19:52:36 +02:00
NO411 6afe7cfb58 Fix typo and interact bug? 2022-03-27 18:08:43 +02:00
AFCMS 909b77ce4d
barrel protection fix + log 2022-03-25 13:28:33 +01:00
NO11 63a156c30c Fix typo/crash 2022-03-23 18:30:34 +00:00
cora 1c9f0c3238 don't spawn mobs on non opaque nodes or leaves
with the preliminary jordanspaning mobs would spawn on trees
and water regularly.
2022-03-22 22:02:15 +01:00
cora 50e99f470e fix certain mobs not spawning in certain biomes 2022-03-22 15:16:48 +01:00
NO411 aeff7cf1a4 Remove offhand item on death 2022-03-22 12:48:41 +01:00
kabou 46ee5aaa59 Fix undefined luaentity crash.
* Add nil check to get_luaentity() access.
* Cache get_luaentity() call in local var.
2022-03-21 01:39:02 +00:00
NO411 019dd45381 Check for damager 2022-03-19 16:50:19 +01:00
NO411 d481f7b720 Fix showing shield hud at the wrong side for half a second 2022-03-19 15:59:59 +01:00
NO411 c94964d10a Remove debug line 2022-03-19 15:26:41 +01:00
kabou a9a3f01a0e Tiny comment fix. 2022-03-19 03:16:15 +01:00
kabou ae6bea73fd Make carpets `supported_node`.
* Change carpet from `group:attached_node` to `group:supported_node`,
  allowing carpets to be placed on top of torches, water source blocks
  and other non-walkable nodes, like in MC.
2022-03-19 02:32:46 +01:00
kabou 8518ce2c19 Add support for `group:supported_node`
* Add support for `group:supported_node` to CORE/mcl_attached.
  Supported nodes are nodes that can be placed on any node that does not
  have the `drawtype = "airlike"` attribute.
* Copy the `drop_attached_node()` function from minetest/builtin, so
  that the override function provides the same behavior when nodes drop.
* Add comments to CORE/mcl_attached and to the functions defined in it.
* Add more local aliases for global minetest.* functions.
* If the original function returns true, it is not necessary anymore
  to perform more tests and the override function can simply return true
  immediately.
2022-03-19 02:32:13 +01:00
NO411 6158e4e50d Don't always update shield texture using set_properties 2022-03-18 23:23:01 +01:00
NO411 7c0a48bebf Remove some code ... 2022-03-18 23:08:50 +01:00
NO411 5bdf83cbfc Revert weird changes 2022-03-18 23:07:25 +01:00
NO411 976cfba53a Make it possible to xraft a banner on an enchanted shield 2022-03-18 23:02:51 +01:00
NO411 fc9e83c059 Make it possible to craft a banner on an enchanted shield 2022-03-18 23:02:25 +01:00
NO411 60d877b718 Fix enchanting shield on enchanting table possible 2022-03-18 22:45:12 +01:00
kabou 9eba0e4860 Remove unused code.
* Remove unused code that was commented out.  The code tried to find
  fire luaentities in the same spot as the newly created fire luaentity.
  It may have been intended to optimize getting set on fire multiple
  times, but it makes no sense as it does not discriminate between fire
  luaentities attached to the object set on fire and those attached to
  other objects.  The function that this code was in also has a better
  way to prevent adding multiple fire luaentities in the first place.
2022-03-18 11:39:11 +01:00
kabou 90311da514 Preempt possible crash on nil in on_joinplayer.
* In mineclone5 a crash was reported to occur when deserialization of
  storage returned nil in on_joinplayer.    https://git.minetest.land/
  MineClone5/MineClone5/commit/96c4fb60d8641b4181edb902ed24dbf173828d09
  This commit uses a different, but equally effective fix.
2022-03-18 11:36:33 +01:00
kabou e9ff2ba32a Minor changes to mcl_burning.
* Remove animation_frame from fire entity state, it is now kept in the
  storage table of the parent entity.
* Rename animation_timer in fire entity table to _mcl_animation_timer,
  in line with mineclone2 policy on adding custom members to minetest
  tables.
* Comment out code that does nothing sensible.  Scheduled for deletion
  at a later time.
2022-03-18 11:36:23 +01:00
NO411 0f8f5a41d2 Fix dependencies 2022-03-15 16:30:03 +01:00
NO411 db68c0e26b Add shield 2022-03-15 15:58:27 +01:00
kabou 3f787f8305 Remove stray work notes files.
* These temp files accidentally got added during the unregistered nodes
  fixes.
2022-03-15 07:42:11 +01:00
epCode 4483f4b6b6 fix #2068 2022-03-15 02:18:02 +00:00
AFCMS 47b1eeda74
fix frost walker enchant not protecting from magma block damage 2022-03-13 19:11:28 +01:00
GNU Hacker f430aec0cd
item pickup sound gain more MC like 2022-03-13 14:58:01 +01:00
kabou 17b8eab368 Make carpets walkable.
* Make carpets walkable.  When a carpet is placed on top of a fence or a
  wall, the carpet can be jumped upon, allowing to in effect jump over
  fences and walls.
2022-03-12 13:35:12 +00:00
MysticTempest de3cdee09e Make composters & barrels fuel for furnaces with the same burntime as chests. 2022-03-10 00:47:54 -06:00
Nils Dagsson Moskopp 77f8ecd6e8 Make daylight detector work in Minetest 5.3.0
This patch contains a function that searches for a path to a node with
light level 15, which is guaranteed to be sunlight.
2022-03-09 22:33:08 +00:00
Nils Dagsson Moskopp 4da5084daf Make daylight detector ignore artificial light
The daylight detector code used get_node_light(), which detects both
natural and artificial light. This patch improves the code to use
get_natural_light(), which was introduced with Minetest 5.4.0.
2022-03-09 22:33:08 +00:00
kabou deed231f28 Fix typos. 2022-03-09 18:50:41 +01:00
kabou 11ee1d133f Fix cut-n-paste error.
* Swap misplaced lines.
* Concatenate conditional expression.
2022-03-09 18:26:51 +01:00
kabou 1326b9e7e7 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.  By application of De Morgan's law, the compound logic
  expression can be rewritten so that the existence of the table is
  checked before all following attribute references.
2022-03-09 15:14:22 +01:00
kabou 6a69f49fa0 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
2022-03-09 14:59:49 +01:00
kabou f5a8d6d17a Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
* Clarify code flow.
2022-03-09 14:40:37 +01:00
kabou 3f4dafc68f Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 14:14:45 +01:00
kabou 9bac0da01a Fix registered_items oddity and add check for unknown nodes.
* Mobs redo uses `registered_items[]` where clearly the proper table
  accessed should be `registered_nodes[]`.  Perhaps this magically
  works, but it looks nonsensical.  Switch to the use the more
  sensible `registered_nodes[]` table.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 13:11:53 +01:00
kabou 818cbb2f48 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 12:11:59 +01:00
kabou 88f7a150c7 Add check for unknown nodes.
* Add check for unknown node in `handle_node_drops()` and return
  immediately if the dug node has no definition table.
2022-03-09 04:00:48 +01:00
kabou 962500b189 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:23:18 +01:00
kabou 95cfa43483 Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:15:33 +01:00
kabou 4a1b93bbfa Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate its
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
2022-03-09 02:05:38 +01:00
kabou b9c2c3bd0a Add check for unknown nodes.
* Check if node has a definition table before attempting to evaluate
  attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
  and improve readability.
* Reduce redundant `== false` condition check.
2022-03-09 00:01:23 +01:00
Dieter44 f8c60b5f75 ITEMS/mcl_anvils: fix renaming items w/o desc… 2022-03-05 15:35:39 +00:00
MysticTempest 7a53ea8b70 Rename a few textures to help support texture packs. 2022-03-02 20:13:24 -06:00
Elias Åström 3c10f0e970 Rewrite portal removal to avoid stack overflow
This solves a problem were nether portal removal would trigger deep
recursion through node callbacks.  For large portals this could result
in stack overflow crashes on LuaJIT.  The issue is solved by rewriting
the portal removal to avoid recursion and removing the portal in one
operation using minetest.bulk_set_node.
2022-03-03 01:42:49 +00:00
kabou c3e0996902 Fix fire HUD not showing on join while burning.
* Add the fire HUD to a player who joins the server while still burning
  from the previous session.
2022-03-02 17:15:05 +01:00
kabou d424d4f10e Add comments to mcl_burning.update_hud(). 2022-03-02 16:39:27 +01:00
kabou e80006f4ea Do not set fire to objects that are already burning.
Changes to mcl_burning.set_on_fire():
* Add logic that only updates the burn time, but skips adding fire
  entities to objects that are already burning.
* Condense code a little, remove single use variables.
* Add a comment to a questionable piece of code.
* Add comments to the function.
2022-03-02 16:25:40 +01:00
kabou b17776699e Add comments to "storage" table.
* Document attributes of the "storage" table.
2022-03-02 15:40:29 +01:00
kabou 86a4ece7d2 Add local copy of minetest.find_nodes_in_area. 2022-03-02 15:25:03 +01:00
kabou df5d24104d Make player burning HUD work without csm.
* Add update_hud() function.
* Remove the client channels.
* Unglobalize animation_frames variable.
* Fix bug where player state was not stored on shutdown of singleplayer
  game.
* Remove superfluous sanity_check() function, this code could easily be
  inlined in its only caller.
2022-03-02 15:21:55 +01:00
kabou 56b63463a5 Fix burning entity animation.
The parameters for the flames sprite were incorrect, causing the reverse
side of the sprite to appear as an opaque black rectangle.  Use the
correct incantation.
2022-03-02 10:47:46 +01:00
Nils Dagsson Moskopp 66bb209ad1 Fix TGA file writing on Windows
Before this patch, the tga_encoder mod would write corrupted TGA files
on Windows: Bytes that looked like newlines were replaced by a carriage
return and a newline.
2022-02-28 16:58:59 +00:00
AFCMS 5a7b1cc382
make all arrow types activate target (+ depends and code fixes) 2022-02-26 23:52:03 +01:00
AFCMS 210a0d8ee1
make lingering potions activate target (+ indentation fix) 2022-02-26 22:44:50 +01:00
AFCMS eae8effd57
make splash potions activate target 2022-02-26 22:42:27 +01:00
AFCMS b51e322304
make fire charges activate target (+ fix possible crash) 2022-02-26 22:38:34 +01:00
AFCMS 096d46152e
make bottle o enchanting activate target 2022-02-26 22:20:05 +01:00
AFCMS d89687984b
make ender pearls activate target 2022-02-26 22:16:10 +01:00
AFCMS c6f72c473f
make eggs activate target 2022-02-26 22:12:26 +01:00
AFCMS 540b72f1d6
add target help text 2022-02-26 19:12:02 +01:00
AFCMS 7449725a56
add target crafting receipe 2022-02-26 19:12:01 +01:00
AFCMS 9e7a525a0a
make snowballs activate target 2022-02-26 19:12:01 +01:00
AFCMS 4bd91750bc
add target with API 2022-02-26 19:12:01 +01:00
E 87e494f42b mapgen/mcl_mapgen_core: move set_node decorations a node callback
During the rewrite in 89e55e9065, a queue system was added to allow
using both VoxelManip-based generation steps, and set_node-based steps,
however some set_node-based steps (underground mushrooms, nether
decorations, and structures) were missed and remained in a VoxelManip
step. The result is that the changes made by the set_node stages were
overwritten after the (now-stale) VoxelManip data was committed later.

(ref. Mineclonia/Mineclonia#26)
2022-02-25 18:38:50 +01:00
cora 3feca330c9 fix the other 2 throw_xp occurences 2022-02-25 00:40:26 +00:00
cora caacb378de fix api change in enchanting 2022-02-25 00:40:26 +00:00
cora 379972ea11 fix crash when blaze attacks logged off player 2022-02-25 00:40:26 +00:00
cora 414e2e7725 fix crash on opening villager formspec 2022-02-25 00:40:26 +00:00
cora 435b5d756d throw_experience->throw_xp (api change) 2022-02-25 00:40:26 +00:00
cora 2bb416765c revert to old mobs ( 32c03dc27e )
This reverts the hierarchies ENTITIES/mcl_mobs, ENTITIES/mobs_mc
and ENTITIES/mobs_mc_gameconfig to the state of commit
32c03dc27e
2022-02-25 00:40:26 +00:00
cora 86ca401e4e do not randomseed twice 2022-02-25 00:08:26 +00:00
cora 378b5b30c9 fix beds dropping when burning up 2022-02-25 00:08:26 +00:00
cora 840b705a22 make fire use abms instead of laggy node timers 2022-02-25 00:08:26 +00:00
Nils Dagsson Moskopp 27842aa2f5 Fix handheld maps not displaying in Minetest 5.5.0
The function dynamic_add_media() was changed in incompatible ways in
several minor versions of Minetest, breaking the display of handheld
maps in Minetest 5.5.0. This patch makes handheld maps display there.

The function was blocking with one argument in Minetest 5.3. It was also
blocking in Minetest 5.4, but took an additional argument for a function
to execute once the media had been received. Calling dynamic_add_media()
with a single argument had been deprecated; a function that did nothing
was provided in mcl_maps to satisfy the changed argument requirements.

In Minetest 5.5, dynamic_add_media() was changed to non-blocking. This
introduced a race condition in mcl_maps, where a client often tried to
display a map before it had received the map texture from the server.

Opening an issue on the Minetest issue tracker led to it being closed in
about 20 minutes: <https://github.com/minetest/minetest/issues/11997>
2022-02-24 22:43:45 +00:00
Nils Dagsson Moskopp 41550da87b Fix redstone comparator flooding crash
Redstone comparators have two modes, comparison mode & subtraction mode.
Before this patch, the functions to turn comparators on or off attempted
to swap nodes with comparators in the same mode, but failed to determine
the correct replacement node, if the existing node was not a comparator.

When a comparator in an on state (e.g. powered by a filled cauldron) was
flooded, the flooding dropped the comparator and replaced the comparator
node that was to be swapped out with air, which lead to a server crash.

This patch changes the functions that turn comparators on or off so they
only swap existing nodes with comparators in the same mode if the name
of the replacement node can be determined – i.e. if it is not nil.
2022-02-24 15:52:01 +01:00
AFCMS cbfc71705d
remove blender backup file 2022-02-24 10:16:47 +01:00
kabou 5431e206b0 Fix hopper breakage in get_item_group return value.
In commit 55009c257e that added vectors to
mcl_composters, mcl_hoppers was accidentally patched with a unrelated
change, updating it to get_item_group().  This mostly works, but in one
particular case the semantics of the return value differs.  Instead of
returning 'nil' it returns '0'.  That altered the evaluation of an if
condition, breaking the abm that sucks in items.

This commit fixes the conditional by explicitly comparing  '~= 0'.
2022-02-24 03:18:25 +01:00
Emojigit 06deb92dd6 mcl_tools 2022-02-23 23:58:05 +01:00
Emojigit 7685b4758f mcl_flowers 2022-02-23 23:58:05 +01:00
Emojigit 9944abb328 mcl_books 2022-02-23 23:58:05 +01:00
Emojigit 5ce1852c1d mcl_dye 2022-02-23 23:58:05 +01:00
Emojigit 56a70025b8 mcl_flowerpots 2022-02-23 23:58:05 +01:00
Emojigit 9fe3bbd2fa mcl_mushrooms 2022-02-23 23:58:05 +01:00
Emojigit fb1d189d40 mcl_doors 2022-02-23 23:58:05 +01:00
Emojigit 9cd24f4af5 mcl_commands 2022-02-23 23:58:05 +01:00
Emojigit a64c3f87bc xpanes 2022-02-23 23:58:05 +01:00
Emojigit 5075f2ca56 mcl_armor 2022-02-23 23:58:05 +01:00
Emojigit 249dfac319 mcl_inventory 2022-02-23 23:58:05 +01:00