Commit graph

5869 commits

Author SHA1 Message Date
Nils Dagsson Moskopp
7f4f5c5c89
Make menu icon export compatible with Inkscape 1.0
Though usually one would export directly to "${3}", Inkscape 1.0 had
its command line options changed by people who apparently think that
backwards compatibility is some kind of swear word: Whereas earlier
Inkscape versions would export to a file called foo.png.tmp, newer
behaviour is to ignore the user's wishes & write to foo.png.png –
unless one asks it to write to a filename with a .png extension,
Inkscape 1.0 changes the filename extension to .png each time.

As we do not know the extension of "${3}", we have to use the
extension, then rename the resulting file to the proper name;
only that way the export works with Inkscape 1.0 & earlier …
2021-08-27 03:08:04 +02:00
Nils Dagsson Moskopp
a2b8489c80
Add Mineclonia menu icon PNG 2021-08-24 03:32:10 +02:00
Nils Dagsson Moskopp
c83278d3ff
Add dofile for Mineclonia menu icon PNG 2021-08-24 03:31:58 +02:00
Nils Dagsson Moskopp
cef3669ee2
Add Mineclonia menu icon SVG 2021-08-24 01:52:55 +02:00
cora
78634d4c90 Merge pull request 'PLAYER/wieldview: Fix server crash by client leaving after joining' (#138) from fix-server-crash-by-client-leaving-after-joining into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/138
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-08-22 17:26:32 +00:00
Nils Dagsson Moskopp
10ce37d887
Fix server crash by client leaving after joining
When a player joins and immediately leaves the game before a function is
called by minetest.after() in mods/PLAYER/wieldview/init.lua, it gets an
invalidated player object. This results in the player methods returning
nil (since Minetest 5.2); perhaps surprisingly, the player is not nil.

Not checking that the result of player:get_pos() is not nil could lead
to a server crash if a client crashed when joining. It has been reported
that a syntax error in a client side mod was enough to trigger that.
2021-08-22 04:21:35 +02:00
cora
3cd4ad5591 Merge pull request 'ENTITIES/mcl_item_entity: Fix non-serializable item entity unload crash' (#132) from fix-overlong-meta-item-crash-2 into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/132
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-08-01 01:23:43 +00:00
Nils Dagsson Moskopp
ce6d6c26cc
Add debug command to acquire a written book
The “getwrittenbook” command gives a player that has the “debug” privilege a book
with a configurable amount of characters. This was added as a debug aid, to help
reproducing situations in which items with lots of metadata trigger issues like
heavy lag or server crashes.
2021-07-30 17:22:33 +02:00
Nils Dagsson Moskopp
a0c9f11af6
Log warning for non-serializable item entity fix 2021-07-30 17:15:13 +02:00
sfan5
62d5b547a0
Fix non-serializable item entity unload crash
Some items, like shulkers or books, can have so much metadata that the
corresponding item entity can not be serialized by the Minetest engine.

Without this patch, dropping such an item and then moving away crashes
Minetest, as it can not serialize the entity with serializeString16()
when unloading a map block.

The patch resets the overlong metadata of non-serializable item entities.
This avoids a crash and makes it possible to retrieve a “sanitized” item
without metadata when the mapblock containing the item entity is reloaded.

Originally sfan5 guessed the maximum possible item entity serialization size
that would not lead to a crash as 65530 bytes, but anon5 calculated it to be
actually 65487 bytes. This has been experimentally verified by erlehmann.
2021-07-30 17:13:26 +02:00
erlehmann
45cdad7283 Merge pull request 'MAPGEN/tsm_railcorridors: Generate pig spawners in mineshafts' (#127) from mineshaft-pig-spawners into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/127
Reviewed-by: E <e@noreply.git.minetest.land>
2021-07-23 02:24:17 +00:00
Nils Dagsson Moskopp
71cff7051f
Generate pig spawners in mineshafts
In Minecraft Java Edition, when the map generator generates a spawner,
it can generates a pig spawner instead of the spawner it should create.
That behaviour is very rare, but has never been removed from Minecraft.

This patch changes 1 in 1000 spawners in a mineshaft to be a pig spawner
instead of a cave spider spawner.
2021-07-23 04:11:33 +02:00
erlehmann
eddbfb4b5c Merge pull request 'HUD/hudbars: Do not send useless HUDCHANGE packets' (#122) from fix-hudchange-spam into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/122
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-07-22 01:21:22 +00:00
Wuzzy
280aed484c
Do not send useless HUDCHANGE packets
Several mods set or unset the visibility of a HUD bar way too often (e.g.
in a globalstep handler), causing the server to send a lot of superfluous
HUDCHANGE packets to each client. Returning from hb.hide_hudbar() early
if HUD bar visibility would not change prevents sending these packets.
2021-07-21 10:28:04 +02:00
erlehmann
c1cf50ae15 Merge pull request 'Add script to show packets count from client logs' (#123) from analyze-packet-spam into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/123
Reviewed-by: E <e@noreply.git.minetest.land>
2021-07-21 07:16:34 +00:00
Nils Dagsson Moskopp
01c8339f40
Add script to show packets count from debug logs
Mineclonia has inherited mods from MineClone 2 that send a lot of network
packets. This behaviour wastes bandwith and is most likely a major reason
for the unusually high amount of lag that MineClone2 and Mineclonia have.

Many network packets that are sent by Mineclonia are entirely useless.
Analyzing minetest log files to figure out what kind of packets are
sent and how often is a first step in getting rid of useless traffic.
2021-07-19 22:29:07 +02:00
erlehmann
6219e8ae12 Merge pull request 'ITEMS/mcl_end: Make dragon egg teleport on punching' (#119) from dragon-egg-teleport into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/119
Reviewed-by: E <e@noreply.git.minetest.land>
2021-07-13 08:02:12 +00:00
Elias Fleckenstein
920ca96764
Make dragon egg teleport on punching 2021-07-13 09:11:48 +02:00
erlehmann
e2e08f28dd Merge pull request 'items/mcl_bows: Let players shoot themselves with arrows' (#117) from fix-arrow-selfshoot-3 into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/117
Reviewed-by: E <e@noreply.git.minetest.land>
2021-07-13 06:55:57 +00:00
Nils Dagsson Moskopp
76e3a00e18
Make potion arrows able to hit end crystals 2021-07-12 22:21:15 +02:00
Nils Dagsson Moskopp
2033a9bf1d
Refactor potion arrow flight time calculation 2021-07-12 16:07:20 +02:00
Nils Dagsson Moskopp
99ebf08873
Refactor regular arrow flight time calculation 2021-07-12 16:06:44 +02:00
Nils Dagsson Moskopp
c45c0df118
Play no hit sound when potion arrow hits shooter 2021-07-12 04:59:53 +02:00
Nils Dagsson Moskopp
39023f1adf
Play no hit sound when regular arrow hits shooter 2021-07-12 04:59:39 +02:00
Nils Dagsson Moskopp
689054f904
Fix sound_play invocation when player hit by potion arrow 2021-07-12 03:49:05 +02:00
cora
8ed5fd4740
Let players shoot themselves with potion arrows 2021-07-12 02:44:17 +02:00
epCode
6951ecdfc9
Let players shoot themselves with regular arrows 2021-07-12 02:09:47 +02:00
cora
9f086a9242 Merge pull request 'PLAYER/mcl_sprint: Send FOV packets only when necessary' (#106) from reduce-fov-packet-spam into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/106
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-07-06 20:35:12 +00:00
Nils Dagsson Moskopp
275f0826ed
Send FOV packets only when necessary
Before this change, about 10 to 30 FOV packets were sent from the server
to each connected client each second. This patch only sends FOV packets
when the FOV actually needs to be changed, i.e. when the player starts
or stops sprinting.
2021-07-04 03:25:05 +02:00
cora
00ee2d5013 Merge pull request 'ITEMS/mcl_chests: Fix Ender chests from MineClone2' (#103) from fix-ender-chests-from-mineclone2 into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/103
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-29 21:25:37 +00:00
Nils Dagsson Moskopp
f8c58262bc
Fix Ender chests from MineClone2
Commit 819dbc6224c3b96ad4094cccf3d9150f3ef61d45 of MineClone2 introduced
an LBM that removed Ender chest formspecs stored in the node meta. That
change makes Ender chests that were loaded in MineClone2 versions past
that commit not show the Ender chest inventory form on right-click.

This patch makes those broken Ender chests work by introducing an LBM
that writes the formspec to the node meta for Ender chest nodes once.

Since the LBM name is suffixed with a hash of the Ender chest formspec,
changes to the Ender chest formspec (even removing it entirely) should
not require manual adjustment of the LBM code.
2021-06-28 22:54:00 +02:00
cora
926d5e2c37 Merge pull request 'mcl_inventory: Remove _mcl_autogroup dependency from mcl_inventory' (#76) from fix_inventory_depends into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/76
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-25 15:25:45 +00:00
cora
f1ac39eaad Merge branch 'master' into fix_inventory_depends 2021-06-25 15:12:05 +00:00
cora
58fe08332f Merge pull request 'ITEMS/mcl_core: Fix snow dupe' (#102) from fix-snow-dupe into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/102
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-24 21:46:04 +00:00
Nils Dagsson Moskopp
1e42c37895
Reduce snow layer silk touch drop amount
It was possible to duplicate snow layers by placing them and then mining
them using a tool enchanted with silk touch. This commit fixes the “snow
dupe” by reducing the amount of snow layers dropped in this case by one.
2021-06-23 03:06:24 +02:00
cora
0816ee38b4 Merge pull request 'ITEMS/screwdriver: Show screwdriver in creative inventory' (#99) from show-screwdriver-in-creative-inventory into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/99
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-21 22:43:59 +00:00
Nils Dagsson Moskopp
0b92dc1f26
Show screwdriver in creative inventory 2021-06-22 00:16:57 +02:00
cora
87761bf454 Merge pull request 'Make fully grown beetroot drop 1 to 4 seeds when harvested' (#96) from fix-beetroot-seed-drops into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/96
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-20 22:13:45 +00:00
Elias Åström
725bf517ca Merge remote-tracking branch 'n_to/bow_increase_critical_chance_to_25'
Reviewed-on: #34
Reviewed-by: Elias Åström <ryvnf@riseup.net>
Reviewed-by: E <e@noreply.git.minetest.land>
2021-06-20 23:55:44 +02:00
Elias Åström
fc61c71df5 Merge remote-tracking branch 'n_to/nametag_death_german'
Reviewed-on: #32
Reviewed-by: Li0n <li0nsdichachu@outlook.com>
Reviewed-by: Elias Åström <ryvnf@riseup.net>
2021-06-20 23:54:18 +02:00
Elias Åström
7bfd28cd75 Merge remote-tracking branch 'n_to/update_template.txt'
Reviewed-on: #17
Reviewed-by: Lion <li0nsdichachu@outlook.com>
2021-06-20 23:52:15 +02:00
Nils Dagsson Moskopp
eb7b99d59e
Make fully grown beetroot drop 1 to 4 seeds when harvested
As beetroot often did not drop seeds, players could end up with no seeds when
trying to farm beetroot. This patch guarantees that at least one beetroot seed
is dropped when harvesting beetroot.
2021-06-20 19:02:35 +02:00
erlehmann
b96dad7852 Merge pull request 'ITEMS/mcl_banners: Allow more layers for banners with gradients' (#74) from e/Mineclonia:banner-gradient-limits into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/74
Reviewed-by: Elias Åström <ryvnf@riseup.net>
Reviewed-by: erlehmann <nils+git.minetest.land@dieweltistgarnichtso.net>
2021-06-19 13:01:11 +00:00
E
2feab24dd3 Allow more layers for banners with gradients
At some point in the past, Minetest had a bug that caused rendering
issues with transparent textures, like those used for banner gradients.
As a workaround, the number of allowed layers was reduced for banners
containing gradients. The engine bug has since been fixed, but the limit
was never removed.

This commit removes the limit.

See also: https://git.minetest.land/Mineclonia/Mineclonia/pulls/72#issuecomment-23564
and https://github.com/minetest/minetest/issues/6210
2021-06-19 01:43:36 -04:00
cora
c9a8ef0ac2 Merge pull request 'ITEMS/REDSTONE/mcl_dispensers: Fix server crash when dispensing an unknown item' (#93) from fix-dispenser-unknown-item-crash into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/93
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-19 01:32:26 +00:00
Nils Dagsson Moskopp
2aafb2f2d0
Fix server crash when dispensing an unknown item 2021-06-19 02:04:59 +02:00
erlehmann
86c1f37296 Merge pull request 'ENTITIES/mcl_boats: Fix server crash when boat passenger sneaks' (#91) from fix-boat-passenger-sneaking-crash into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/91
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-18 22:01:35 +00:00
Elias Fleckenstein
764ff5512a
Fix server crash when boat passenger sneaks
The crash occured when a player who is not a driver of a boat sneaked.
2021-06-18 19:08:19 +02:00
cora
6c311d5528 Merge pull request 'CORE/_mcl_autogroup: Prevent server crash on digging unknown' (#85) from fix-dig-unknown-crash into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/85
Reviewed-by: erlehmann <nils+git.minetest.land@dieweltistgarnichtso.net>
2021-06-17 21:51:55 +00:00
cora
79766bff23
Fix server crash when players dig unknown nodes
Digging unknown nodes crashes the Clamity Minetest server, which
runs modified Minetest: https://github.com/ClamityAnarchy/minetest
Crashes did occur with commit d5434bf008 of that Minetest version.

This commit makes unknown nodes explicitly not harvestable.
2021-06-17 23:39:13 +02:00