Commit graph

3645 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
NO411
db68c0e26b Add shield 2022-03-15 15:58:27 +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
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
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
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
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
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
cora
414e2e7725 fix crash on opening villager formspec 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
a64c3f87bc xpanes 2022-02-23 23:58:05 +01:00
Emojigit
5075f2ca56 mcl_armor 2022-02-23 23:58:05 +01:00
Emojigit
2b5a0242db mcl_fire 2022-02-23 23:58:05 +01:00
Emojigit
790ccf0812 mcl_fishing 2022-02-23 23:58:05 +01:00