Commit Graph

5804 Commits

Author SHA1 Message Date
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
erlehmann 031ae5fcb5 Merge pull request 'ITEMS/mcl_jukebox: backport mcl_jukebox API' (#83) from backport_mcl_jukebox_api into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/83
Reviewed-by: Elias Åström <ryvnf@riseup.net>
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-06-16 07:10:18 +00:00
Nils Dagsson Moskopp 7ccdbc5905
Document that music_record group, if it exists, is always 1 2021-06-15 23:22:45 +02:00
Nils Dagsson Moskopp 5f0710a486
Make jukebox accept and play old music records
With the introduction of the mcl_jukebox API, all music record items
were given new names. Old music record items were aliased, but never
worked with the jukebox. Apparently no one tested existing records.

By explicitly looking up the item name in minetest.registered_aliases,
the jukebox accepts old records, plays them, and gives out new records.
2021-06-15 17:46:03 +02:00
erlehmann 811b6d7058 Merge branch 'master' into backport_mcl_jukebox_api 2021-06-14 22:03:28 +00:00
AFCMS e858ea6233
Add backward compatibility for mcl_jukeboxes 2021-06-14 23:42:25 +02:00
AFCMS 20b7b6ff99
Add API documentation for mcl_jukeboxe 2021-06-14 23:40:24 +02:00
AFCMS b6fc888559
Add API for mcl_jukebox 2021-06-14 23:35:30 +02:00
Elias Åström ab389e9995 Merge pull request 'tools: set up luacheck' (#57) from e/Mineclonia:luacheck-setup into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/57
Reviewed-by: Elias Åström <ryvnf@riseup.net>
2021-06-14 21:31:23 +00:00
E e14265ff8e luacheck: remove luacheck generator, generate rules in .luacheckrc 2021-05-29 18:45:22 -04:00
E b1fbbfdd35 tools: remove inline scripting from make-luacheck-files
- the awk script was moved to its own file (deps-to-luacheck.awk) with
  minor changes, including added commentary, slightly more rigorous error
  checking, and using a different separator model to avoid a second
  stage to remove trailing commas
- SED_MODCONF2DEPS was moved to a containing function, and commented
- the awk command itself is now easier on the eyes
2021-05-29 18:45:22 -04:00
E 02a8496b5f luacheck: include a generated luacheck config 2021-05-29 18:45:22 -04:00
E 0c13293f43 tools: add a luacheckrc generator
tools/make-luacheck-files.sh will generate a .luacheckrc with the
following rules:
 - any rules set in the project header (.luacheck.head)
 - each mod is allowed to use a single global sharing its mod name
 - mod dependency information is parsed, and those mods' globals are
   permitted for read access
2021-05-29 18:45:22 -04:00
cora 3ee2ef0618 Merge pull request 'mesecons: Do not crash server if world border is depowered' (#79) from fix-issue-78 into master
Reviewed-on: https://git.minetest.land/Mineclonia/Mineclonia/pulls/79
Reviewed-by: cora <cora@noreply.git.minetest.land>
2021-05-29 22:29:52 +00:00
Nils Dagsson Moskopp 27828b6317 Do not crash server if world border is depowered 2021-05-28 19:23:36 +02:00
Elias Åström 4b4d40f158 Use register_on_mods_loaded in mcl_inventory
This removes the need to include _mcl_autogroup as a dependency for
mcl_inventory (which should be avoided) and decreases the likelihood
that the code used for populating item tables is executed before all
other mods are loaded.
2021-05-23 20:35:10 +02:00