Commit graph

178 commits

Author SHA1 Message Date
sfan5
693a5317ef 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-09-15 18:10:32 +02:00
NO11
dc8436fdf9 Destroy objects near cactus faster (make it possible to throw items at a cactus) 2021-09-06 14:34:25 +00:00
AFCMS
cd33d406b2 fix many codestyle issues (functions, strings, modpaths) 2021-05-29 16:12:33 +02:00
AFCMS
3bedc81068 fix some code style issues in lightning 2021-05-28 00:07:06 +02:00
AFCMS
9e074af07f unify code style [1] 2021-05-25 12:52:25 +02:00
AFCMS
fddaacdeae [mcl_item_entity] fix warnings 2021-05-25 00:43:42 +02:00
Elias Fleckenstein
75d9450002 Make compasses point upwards when dropped as an item 2021-05-04 10:24:08 +02:00
Elias Fleckenstein
3b3d67a99c Make clocks work when dropped 2021-05-04 09:16:42 +02:00
jordan4ibanez
90fd65ac66 Fix locationless playing 2021-04-03 21:09:43 -04:00
jordan4ibanez
1b511936f5 Fix local name memory leak 2021-04-03 21:05:31 -04:00
jordan4ibanez
a807ee6372 Adjust the volume even more to perfectly match the gameplay 2021-04-03 20:55:46 -04:00
jordan4ibanez
0641f09915 Adjust volume of item collection sound 2021-04-03 20:53:34 -04:00
jordan4ibanez
c572db92aa Add sound buffer and different item collection sound 2021-04-03 20:39:08 -04:00
jordan4ibanez
844db8aa7b Revert to previous style of interpolated move_to with tweaks 2021-04-02 22:02:19 -04:00
jordan4ibanez
0840ad98a2 Adjust the item collection magnet even more 2021-04-02 21:57:38 -04:00
jordan4ibanez
1cbd3a998d Use manual move_to to account for move_to interpolation issues 2021-04-02 21:50:47 -04:00
jordan4ibanez
61e812e40a Add in manual interpolation into the item magnet 2021-04-02 21:40:04 -04:00
jordan4ibanez
18d7be4a4f More fixes to item collection on laggy servers 2021-04-03 00:42:20 -04:00
jordan4ibanez
1e3676c391 Remove debug info from item magnet 2021-04-02 05:38:53 +00:00
jordan4ibanez
2f272b3dff Fix item drop on laggy servers 2021-04-01 23:48:00 -04:00
AFCMS
c7389dc0a4 add basic API to mcl_item_entity 2021-03-28 08:13:24 +02:00
Elias Åström
1873080046 Remove unnecessary code in mcl_item_entity 2021-03-20 14:21:50 +01:00
Elias Åström
bfe51316ee Merge branch 'mcl_autogroups' 2021-03-18 13:43:58 +01:00
Elias Åström
cff0130506 Rename _mcl_autogroup_groupcaps to _mcl_diggroups 2021-03-18 11:35:40 +01:00
Elias Åström
e77473e800 Make changes to the mcl_autogroup API
Group levels are now specified as a list of names when registering a
digging group.  Digging groups which do not have specified levels will
support tools having two levels, 0 and 1 where 0 means the tool can dig
but not harvest the node and 1 means it can also harvest the node.  If
more levels are required one has to specifiy them when registering the
digging group.
2021-03-18 11:35:40 +01:00
Elias Åström
fb6f5eae7a Rewrite mcl_autogroup
These changes are primarly made to make mcl_autogroup more efficient.
Previously enchanted tools required storing around 21 kB of metadata due
to the way the previous version of the mod was implemented.  This caused
a lot of lag and a huge amount of network traffic.  With the changes
enchanted tools won't require more than 1 kB of metadata.

The mod is also rewritten to use an API to register digging groups and
compute the groupcaps for tools.  This will make it easier for modders
to register custom digging groups.

The mod is now split up into two parts.  One part called "mcl_autogroup"
to implement the API for registering custom digging groups, and the
other part called "_mcl_autogroup" which contains most of the code which
has to be loaded after most mods.
2021-03-18 11:32:18 +01:00
AFCMS
6645c4cb30 Really 2021-03-16 17:43:32 +01:00
AFCMS
5d17a6b699 fix SO MANY pairs/ipairs 2021-03-16 17:35:46 +01:00
Elias Fleckenstein
a9bdb7b509 Fix #969 2021-01-08 14:55:02 +01:00
Elias Fleckenstein
8b92d795d2 Fix #960 2021-01-05 18:05:20 +01:00
Elias Fleckenstein
e7721b91a0 Fix #959 2021-01-05 17:35:06 +01:00
Elias Fleckenstein
8ef14dd81f Fix #872 2021-01-05 17:23:24 +01:00
Elias Fleckenstein
c36dc16527 Fix #948 2021-01-04 10:15:28 +01:00
Elias Fleckenstein
84708c3870 Merge branch 'master' of https://git.minetest.land/Wuzzy/MineClone2 2021-01-02 10:58:02 +01:00
MysticTempest
b56ae38939 Make lava/fire wait 2 seconds before destroying items to allow chance for pickup, fix dogs following when sitting, and add some rotation so mobs don't idle at cliffs. 2020-12-22 08:29:24 -06:00
Elias Fleckenstein
977489de04 Fixed efficiency drops 2020-12-18 17:33:02 +01:00
Elias Fleckenstein
86b2cd70f9 Fortune 2020-11-06 13:46:52 +01:00
Elias Fleckenstein
7c28bf8507 Silk Touch 2020-11-02 19:09:23 +01:00
kay27
30d9e54803 Implement leftovers of https://git.minetest.land/Wuzzy/MineClone2/issues/841#issuecomment-11440 2020-10-24 02:46:45 +04:00
kay27
a127136c60 Add Enchanting from Crafter-minetest by Oil_boi 2020-10-19 16:38:21 +04:00
Wuzzy
e361b35724 Fix crash delete item entity with empty itemstring 2020-08-29 10:57:33 +02:00
Wuzzy
c106a62979 Use minetest.is_creative_enabled 2020-07-10 16:45:40 +02:00
Wuzzy
a2785041dd Remove mod startup debug messages 2020-04-11 02:56:46 +02:00
Wuzzy
71c9d20fff Use larger wield scale for tools 2020-04-08 04:07:16 +02:00
Wuzzy
c5e4ec5e27 Use ephemeral sounds 2020-04-07 00:55:45 +02:00
Wuzzy
f2b7392a30 Use "minetest" instead of "core" table 2020-01-06 13:02:30 +01:00
Wuzzy
2e9efe51e8 Tweak drop behavior of ocean plants 2019-12-18 03:10:49 +01:00
Wuzzy
7f70acc8a4 Make dropped items glow if light source node 2019-12-14 17:40:24 +01:00
Wuzzy
1cbee9de18 Fix item entity force-out bias to positive dir 2019-08-27 13:08:54 +02:00
Wuzzy
2203d0df53 Revert "Make item entities a bit more efficient"
This reverts commit ba97dfd02f because it broke item entities.
2019-04-01 10:59:36 +02:00
Oil_boi
ba97dfd02f Make item entities a bit more efficient 2019-03-26 10:23:52 +01:00
Wuzzy
6188d7b528 Fix other boolean settings default fails 2019-03-25 12:42:37 +01:00
Wuzzy
66c6b373a5 Make many entities non-pointable 2019-03-07 03:53:06 +01:00
Wuzzy
2f74aea6f5 Replace deprecated functions 2019-03-06 04:38:57 +01:00
Wuzzy
a711c7bdb7 handle_node_drops no longer destroys metadata 2019-03-01 17:30:21 +01:00
Wuzzy
0586c0ea18 Destroy items in fire 2019-02-01 08:31:17 +01:00
Wuzzy
e789801662 Replace getpos() with get_pos() 2019-02-01 06:33:07 +01:00
Wuzzy
a88f644001 Update deprecated settings syntax 2018-06-20 19:02:52 +02:00
Wuzzy
f022b747b0 Harden a number of minetest.after player checks 2018-06-03 16:44:37 +02:00
Wuzzy
d5729b8a32 Fix load-crash if _magnet_timer of item entity is uninizialized 2018-05-31 14:34:19 +02:00
Wuzzy
1fa141d972 Custom node drops now ignore Creative Mode 2018-03-05 13:35:14 +01:00
Bu-Gee
3ae8119498 Fix crash when pushing pumpkin by piston 2018-03-05 12:53:16 +01:00
Wuzzy
312652552e Delete un-initialized item entities on first step
Due to data corruption, item entities in a world may be loaded with
empty staticdata. These items are now deleted on their first on_step.
This commit also should fix all dropped hand bugs.
2017-12-01 18:50:15 +01:00
Wuzzy
559e3d68bc Simplify item merge code 2017-09-05 19:17:40 +02:00
Wuzzy
861174dc32 (Hopefully) fix hand rarely dropping as item 2017-09-05 17:25:15 +02:00
Wuzzy
f95bf371d2 Refine hand error logging 2017-09-02 19:00:04 +02:00
Wuzzy
ae74eb3b33 Print error message when player picked up hand
This is __builtin:item with itemstring == "" and should never happen
2017-09-02 18:57:37 +02:00
Wuzzy
e5a34367c9 Use new Minetest settings API syntax for most mods 2017-08-09 16:17:00 +02:00
Wuzzy
54fb702c8f Shears selfdrop dead bush, tall grass, fern, vine, leaves 2017-08-03 02:27:55 +02:00
Wuzzy
627d103b20 Don't drop when node dug by too weak tool 2017-08-03 01:01:44 +02:00
Wuzzy
7b16b74903 Fix bad mcl_ default settings 2017-06-13 17:08:45 +02:00
Wuzzy
53791c4f9d Fix item speed not reset when magnet activates
This fixes items sometimes flying upwards when near the player
2017-06-10 21:39:26 +02:00
Wuzzy
5d1c38cb5f Reduce excessive item pickup sound distance 2017-06-10 21:36:39 +02:00
Wuzzy
8cad041c89 Disable item magnet correctly 2017-06-10 21:10:15 +02:00
Wuzzy
817def7d81 Enable item physics right when out of magnet range 2017-06-10 21:08:02 +02:00
Wuzzy
b153104d24 Fix item flying after moving out of liquid 2017-06-10 20:56:53 +02:00
Wuzzy
1a7b455fd2 Fix item entity wiggle on flowing water 2017-06-10 20:47:12 +02:00
Wuzzy
be5d1c08db Refactor item entity physics code 2017-06-10 20:37:17 +02:00
Wuzzy
a589cbc17a Fix global variable bug in mcl_item_entity 2017-06-10 17:23:14 +02:00
Wuzzy
b2b196bccd Rename setting name 2017-06-09 14:11:16 +02:00
Wuzzy
5d5743939f Add tile drops setting 2017-06-09 14:05:58 +02:00
Wuzzy
76f9ba70df Don't collect item too early 2017-06-03 17:36:43 +02:00
Wuzzy
b8df2d4e0a Revert "Reduce collection distance"
This reverts commit f44dffd374.
2017-06-03 17:27:58 +02:00
Wuzzy
f44dffd374 Reduce collection distance 2017-06-03 17:24:47 +02:00
Wuzzy
dcc6e3e829 Fix items sometimes flying away after creation 2017-06-03 17:03:22 +02:00
Wuzzy
750ef024d9 Small precision tweaks for item entities 2017-06-01 17:44:25 +02:00
Wuzzy
8994468c5c Enable _insta_collect by default in item entities 2017-05-30 18:16:36 +02:00
Wuzzy
7b075f5772 Fix crash after item hit unloaded chunk 2017-05-30 13:59:26 +02:00
Wuzzy
64c91afa4a Re-enable item physic after player follow failed 2017-05-30 06:00:26 +02:00
Wuzzy
467baaf67c Fix broken item safety code 2017-05-30 05:51:48 +02:00
Wuzzy
1c2825ce6c Final fix-ups for push-item-out code 2017-05-30 00:58:14 +02:00
Wuzzy
f0b9799dee More item refactor 2017-05-29 23:31:41 +02:00
Wuzzy
4fd6e527a1 Disable physics when items are stuck 2017-05-29 23:20:29 +02:00
Wuzzy
4ff31ffa8c Add missing break in mcl_item_entities 2017-05-29 22:56:53 +02:00
Wuzzy
0b28ae2fe9 Push items out of solid opaque nodes 2017-05-29 22:51:13 +02:00
Wuzzy
88fb03a0d8 Refactor mcl_item_entity 2017-05-29 21:42:24 +02:00
Wuzzy
932e2dc6f8 Minor item entity code cleanup 2017-05-29 20:10:51 +02:00
Wuzzy
37f6bfaa9a Increase player collect height 2017-05-29 18:50:57 +02:00
Wuzzy
ce242511f0 Increase item magnet timer 2017-05-29 17:39:01 +02:00
Wuzzy
7bc10b2ade Don't set item age for node drops 2017-05-29 17:32:49 +02:00