Commit Graph

1586 Commits

Author SHA1 Message Date
Sumyjkl 16c9a83a96 fix items floating into the air under rare circumstances 2022-08-12 21:46:17 +10:00
cora 374e30b4a5 stay on players shoulder in when flying in creative 2022-08-11 14:32:58 +02:00
cora 6101de8d68 Fix parrot punch spam 2022-08-11 14:32:58 +02:00
opfromthestart 5da6f6812f faster boat death 2022-08-09 12:23:44 -04:00
opfromthestart 8b06e5de87 Merge branch 'master' into boat-fire-fix 2022-08-09 00:16:14 +00:00
opfromthestart 76839961c6 Adds fire and lava collision to boats 2022-08-08 20:12:44 -04:00
iliekprogrammar bf80074d98
[5.6][mobs] fix unsafe entity handling (unsure)
i'm not sure about this one, can't find a suitable test for it.
2022-08-07 12:38:26 +08:00
iliekprogrammar 4b31692319
[5.6][boats] fix unsafe entity handling
this probably does not affect normal gameplay, unless you can set boats on fire somehow
2022-08-07 12:09:12 +08:00
iliekprogrammar 221ee0fcf1
[5.6] mark places with unsafe set_hp entity handling
There might be other places i might be missing, but these are the obvious ones.

leftover entity handling i did not mark:
* everything that involves a apply()-like algorithm (e.g. callbacks) over the
  same list of objects.
* in mcl_damage, it's not known whether mcl_damage.from_mt() would involve
  entity handling or just player handling.
2022-08-07 00:13:03 +08:00
SumianVoice 3f73dc1794 Merge branch 'master' into mcl_burning_depend 2022-08-03 12:55:07 +00:00
Sumyjkl eb89466436 add dependency for mcl_weather to mcl_burning to hopefully avoid crashes 2022-08-03 22:45:15 +10:00
cora 51f79eaa39 Add lilypads and dead bushes 2022-08-02 12:02:20 +02:00
cora eb7171fd51 Make boats unsinkable in river water 2022-08-01 05:20:19 +02:00
PrairieAstronomer a153e5bc33 Fixed Place Water in the Nether with Fish Buckets. 2022-07-30 12:21:16 -06:00
Sumyjkl 86d6445f42 fix crash when items in unloaded chunk 2022-07-28 11:10:56 +10:00
SumianVoice c93461ee0a Merge branch 'master' into item_floating 2022-07-26 10:21:17 +00:00
Sumyjkl 70b7655e46 various code style improvements 2022-07-26 20:20:13 +10:00
PrairieAstronomer f84063ad0a Withering Heights Advancement 2022-07-25 11:48:38 -06:00
cora 0b729d7ada Fix wrong drops itemstring 2022-07-24 23:52:42 +02:00
PrairieAstronomer 3aa26cac14 Tropical Fish Bucket
Adds the bucket of tropical fish.
2022-07-24 23:52:42 +02:00
cora 3a47e8a2f9 Add tropical fish 2022-07-24 23:52:41 +02:00
Sumyjkl 5fc662664f cactus will act as if dug instead of its own hardcoded breaking function 2022-07-24 15:59:00 +10:00
Sumyjkl 6278fa21d3 Removed an entire block of code that was duplicate and didn't do anything 2022-07-23 16:41:41 +10:00
Sumyjkl fb28177ff1 items will stay put when loaded, items dug by the game will get more initial random velocity, game will no longer apply random velocity twice (?) 2022-07-23 16:10:52 +10:00
Sumyjkl 58d80e5e9c netherite items (except armour) will float in lava and not burn 2022-07-22 23:06:35 +10:00
Sumyjkl eeace260fe don't disable physics if you've already disabled it 2022-07-22 22:45:22 +10:00
Sumyjkl 65fc5b6f28 droppers and dispensers actually shoot items out, items will merge with eachother even when floating 2022-07-22 22:38:36 +10:00
Sumyjkl dc6fbeeafd items will go into sleep mode even if there's a block above as long as it's not a liquid 2022-07-22 16:55:42 +10:00
Sumyjkl 70aca4c3ca fix infinite bobbing 2022-07-22 16:19:50 +10:00
Sumyjkl 9daac0aff1 make items float in water sources 2022-07-22 15:34:58 +10:00
cora acbf043df0 Check 3 nodes above for enderman spawn 2022-07-22 03:27:41 +02:00
cora 2ba1a40820 Add ghasts specific spawning conditions 2022-07-22 03:27:41 +02:00
cora 94f0d679f2 Add can_spawn callback in mob api 2022-07-22 03:27:41 +02:00
cora 32ac2ffeb8 remove unused alias_mob function 2022-07-22 03:27:41 +02:00
Sumyjkl 68e1fdde36 fixed comment about creative 2022-07-22 03:27:41 +02:00
Sumyjkl fbfc53ff42 eat sound will play even when feeding in creative 2022-07-22 03:27:41 +02:00
Sumyjkl d8172e404e wolf when tamed will retain its health and not heal to full hp 2022-07-22 03:27:41 +02:00
Sumyjkl 3852c0297f changed API to recognise sitting order, added animations for sitting and idle, dog will no longer walk around while in sit mode 2022-07-22 03:27:41 +02:00
Sumyjkl c60002b18d set tamed 2022-07-22 03:27:41 +02:00
Sumyjkl 4920ef0fd5 allow wolf to be bred like other animals 2022-07-22 03:27:41 +02:00
cora 96b628d418 Sheep run away when hit 2022-07-22 03:27:41 +02:00
cora 69c689bfb7 make llamas retaliate by spitting.
it's a bit picky when and how it will spit still but works.
2022-07-22 03:27:41 +02:00
cora b7a0460b15 Reset aggro when player far 2022-07-22 03:27:41 +02:00
SumianVoice cfb6b6003c Update api.lua 2022-07-22 03:27:41 +02:00
SumianVoice a6eae1e95e don't tame baby animals yet 2022-07-22 03:27:41 +02:00
SumianVoice 682b61ad4a make sure you can't heal and tame at the same time 2022-07-22 03:27:41 +02:00
SumianVoice 524da8a6cb move heal under tame so that you can tame an animal and then heal it, like in MC 2022-07-22 03:27:41 +02:00
SumianVoice e6a97031ef remove unnecessary check 2022-07-22 03:27:41 +02:00
SumianVoice 120b096fc8 move self.food check 2022-07-22 03:27:41 +02:00
SumianVoice 9d52fed357 non-tamable mobs will not send tame param to feed_tame func,
changed event flow so it tries in order: heal, tame, breed, grow child
2022-07-22 03:27:41 +02:00
SumianVoice e5c1da4380 make it check not child, since the return statement was removed 2022-07-22 03:27:41 +02:00
SumianVoice a07a5b24bd animals don't take food from player unless it is used for something 2022-07-22 03:27:41 +02:00
SumianVoice c626c977d1 Update api.lua 2022-07-22 03:27:41 +02:00
cora e1130a105f fix wrong sound position 2022-07-21 12:03:46 +02:00
cora 54337e9854 never show nitwit trading formspec 2022-07-19 11:46:28 +02:00
cora d89ef0581f Optimize ABMs 2022-07-18 22:28:02 +02:00
cora 0298cecbcd change dripping entities to particles 2022-07-18 22:28:02 +02:00
cora 68d45ff606 Remove MushroomIsland from several mobs spawn list 2022-07-18 02:11:48 +02:00
cora bf756403a3 Fix animals attacking players for no reason 2022-07-18 00:10:23 +00:00
cora 99037cb0ec adapt several mob spawning conditions to mc 2022-07-18 00:10:23 +00:00
cora 1087d9e54b Implement mc like mob cap 2022-07-18 00:10:23 +00:00
cora 2d3f4531c9 Add mob spawning debug command 2022-07-18 00:10:23 +00:00
cora 987ae3c6e8 Fix mobs spawning inside nodes 2022-07-18 00:10:23 +00:00
cora 3a32e4e4e9 Never spawn mobs on bedrock 2022-07-18 00:10:23 +00:00
cora 9883a37754 Enable group spawning for all mobs, add mc values 2022-07-18 00:10:23 +00:00
cora a68343b71d Add group spawning minimum attribute 2022-07-18 00:10:23 +00:00
cora a077e4535f Fix non-monsters being unable to attack
A check in the relevant function excluded all non-monsters from
looking for targets to attack. This removes that check and relies
on the passive attribute of the entity
2022-07-18 00:10:23 +00:00
cora a49e66dbd3 Detection radius is 20 according to the wiki 2022-07-17 23:42:34 +02:00
cora e9ad2cfe11 Make parrots imitate nearby mobs 2022-07-17 23:34:39 +02:00
Freedom 27482ede7f update locale es 2022-07-15 22:55:03 +00:00
cora ee9cc5341b Fix villager crash when opening iron doors 2022-07-15 22:11:07 +00:00
cora aab3180269 clear empty nametag as well as nil 2022-07-15 04:40:12 +02:00
cora 9e60d24fe0 Never spawn mobs on leaves 2022-07-13 16:45:41 +02:00
cora 8d9c5059f3 Fix wither dupe
faulty on_place would not removed placed wither skelly head from
inv. This also prevents the execution of the schematic checking
routine if there is no soul sand under the head.
2022-07-12 23:11:00 +02:00
cora c1686923d3 Fix crash when no group spawning positions found 2022-07-11 22:31:35 +02:00
cora 4a4636523e Add new mobs to translation template. 2022-07-09 22:14:37 +02:00
cora e9b72083b3 Fix translator modnames 2022-07-09 02:30:48 +02:00
cora aed96a4912 Add original dolphin texture
cc0 by cora
2022-07-09 02:30:48 +02:00
cora f202ed8327 spawn in groups 2022-07-09 02:30:48 +02:00
cora 44abef44e1 Make fish buckets work with water mobs 2022-07-09 02:30:48 +02:00
cora ae0eb85ffc Add salmon, cod and dolphin from mcl5 2022-07-09 02:30:48 +02:00
cora de9056ae62 Fix child mobs collision boxes 2022-07-08 23:57:02 +02:00
cora 08a1ecd879 Don't take extra bread when feeding 2022-07-08 23:57:02 +02:00
cora bcb76f7bd2 correctly lock job when traded 2022-07-08 23:57:02 +02:00
cora 8fe40fcd26 remove old debug line 2022-07-08 23:57:02 +02:00
cora 98c48dab8c abolish child labor 2022-07-08 23:57:02 +02:00
PrairieAstronomer 465d91036f Added Campfire to Fisherman Villager Trades 2022-07-08 02:37:20 +02:00
cora 31289f5686 villagers that haven't traded loose job on js gone 2022-07-05 23:47:30 +02:00
cora 672b9dbedf make pathfinding to jobsite more smooth 2022-07-05 23:47:30 +02:00
cora dd5e9afbd9 villagers only get a job when they touch jobsite 2022-07-05 23:47:30 +02:00
cora 21d5ab88a5 comment out natural villager spawning 2022-07-05 23:47:30 +02:00
cora 0e6250b2a3 Fix rabbit spawning biomes 2022-07-04 12:50:48 +02:00
cora bc2e61921f do not spawn polar bears in extremehills+_snowtop 2022-07-04 01:46:41 +02:00
cora b1c97a0510 prevent ground squids, variable spawn height 2022-07-04 01:41:45 +02:00
MysticTempest 677110e39f Disable the despawn timer catchup for items that were unloaded. 2022-07-03 04:28:43 -05:00
PrairieAstronomer 40a421ddd0 Hidden in the Depths Advancement 2022-07-01 12:41:01 -06:00
PrairieAstronomer 687bc04560 Who is Cutting Onions? Advancement 2022-07-01 12:39:10 -06:00
PrairieAstronomer ed2fc6601e Added Smithing Table to Toolsmith Villager Jobsite 2022-06-30 14:11:13 +02:00
cora d9e40d5223 set profession first in on_spawn 2022-06-26 11:20:20 +02:00
cora 86651e7557 Fix zombie villager curing (crash) 2022-06-26 11:20:20 +02:00
RandomLegoBrick b5eda3000e Merge branch 'master' into grindstone 2022-06-20 19:58:49 +00:00
TheRandomLegoBrick 99469ff1c5 Add grindstones 2022-06-20 12:46:59 -07:00
cora e3c5b2cbb5 Fix crash on ghast explosions
In certain situations the arrow can be invalidated until its
get_pos() is called here - e.g. when the player wears over-
enchanted blast protection (65k in this case).

This uses the player position for the explosion in these cases
2022-06-20 13:40:05 +02:00
cora 5b366c692d Enable mob spawning in new biomes
lower ghast spawning chance
2022-06-19 00:24:52 +02:00
cora 8efbd89b6a Add basalt columns & lava pools 2022-06-19 00:24:52 +02:00
cora 98a322443b make "old" villagers keep their job 2022-06-17 13:59:32 +00:00
cora cd43076ea3 additionally rate limit villager jobhunts 2022-06-17 15:54:53 +02:00
cora e630ea59c9 Rate limit pathfinding attempts
In certain situation it otherwise results in excessive attempts to
find a path.
2022-06-17 15:54:53 +02:00
cora 8651e3b04e randomize spawning list 2022-06-15 05:06:31 +02:00
cora 60f164d46a Fix horse and wolf spawning biomes 2022-06-15 05:06:31 +02:00
cora 9cea10a706 fix more blast resistance and hardness values 2022-06-13 02:48:00 +02:00
cora a43627e268 Fix 2 wrong variable uses that made warnings 2022-06-12 01:35:27 +00:00
PrairieAstronomer b544fb819d What A Deal! Advancement 2022-06-11 15:35:48 -06:00
MysticTempest 45ec876167 Knockback fixes:
This PR enables knockback for snowballs, and eggs.
And disables knockback for the following mobs: Shulkers, Iron Golems,
and Ender Dragons.
2022-06-07 02:55:19 -05:00
epCode ad486a56fd Add more Villager sounds 2022-06-06 12:09:14 -07:00
epCode 42c764e149 Make Villager nod/head shake 2022-06-06 11:12:57 -07:00
cora ef093d0c00 Be more careful with possibly expired objects 2022-06-04 20:26:00 +02:00
MysticTempest b4c5805afe Make items flowing in water use acceleration for movement. 2022-06-03 05:46:27 -05:00
MysticTempest 5dde594c19 Item movement fixes:
This PR fixes items at flowing_water edges not falling down holes.
As well as fixing items not sliding on slippery nodes like ice.

And, allows for movement starting at the source block of a
flowing water node. While ensuring regular water_source blocks
do not bug out.
2022-06-02 09:44:04 +00:00
MysticTempest 983b8f0934 Make breaking boats by hand easier. 2022-06-02 00:20:44 -05:00
MysticTempest 31106a2031 Fix items obtained from villager trades:
This PR stops the load_enchantments function from being
called for all items in the villager trades.
Fixing non-enchanted items from villagers being unable to stack
with their regular counterparts.

As they now, no longer have any description metadata.
While also ensuring that enchanted items still have their
tooltips, and work.
2022-05-30 15:11:22 -05:00
cora dc21b02d04 update old mobs_mc_ horse armor textures 2022-05-30 10:49:38 +00:00
cora e4a4648b25 fix size of black cat texture 2022-05-29 02:34:02 +02:00
cora da6563a5b3 Spawn witch and black cat on witchhut generation 2022-05-29 02:34:02 +02:00
cora 7bc63d2882 fix mcl_mobs api_changes 2022-05-28 00:06:29 +02:00
cora c0a9cb7020 don't hurt perched parrot on punch 2022-05-28 00:05:04 +02:00
cora e90e17e533 clean up perch code, smoother behavior 2022-05-28 00:05:04 +02:00
cora 3d13000599 tweak detaching behavior 2022-05-28 00:05:04 +02:00
cora 86bc398a79 don't do flying animation while perching,fix anims 2022-05-28 00:05:04 +02:00
cora 14ec1aa014 add basic parrot perching 2022-05-28 00:05:04 +02:00
Lizzy Fleckenstein e7898352d8 Remove mobs_mc_gameconfig 2022-05-27 02:44:39 +02:00
cora 47fa43825c count only mobs for cramming 2022-05-26 14:20:19 +02:00
cora af7dc0fb8f change "constant" declaration to match mcl_mobs 2022-05-26 14:16:38 +02:00
cora 87f50d6423 entity cramming: clean up check logic 2022-05-26 14:16:38 +02:00
cora fb4f21cba0 entity cramming: spare the children 2022-05-26 14:16:38 +02:00
cora 85b599edba entity cramming: check less often 2022-05-26 14:16:38 +02:00
cora b4cbc528a3 mcl_mobs: add entity_cramming 2022-05-26 14:16:38 +02:00
Lizzy Fleckenstein f6a40ffb78
Run tools/strip_trailing_whitespace.sh 2022-05-26 07:29:28 +02:00
Lizzy Fleckenstein dd1f8cb59c Remove enderman gameconfig 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein ff33794487 Rename mobs global to mcl_mobs 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein e0f70b54ec Remove _cmi_is_mob 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein 4054f05a4c Remove support for invisibility mod 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein f6be8bac5a Remove checks for MCL2 mods 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein 8db9e76529 Remove unused version field 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein 6ae722a6ee Remove use_cmi 2022-05-25 23:13:33 +02:00
Lizzy Fleckenstein fc3992ceb6 Remove mobs.is_creative 2022-05-25 23:13:33 +02:00
cora 028d1c1f4f do not tame villagers 2022-05-22 14:43:44 +02:00
cora a5ba8f739f Add bell to villager trades 2022-05-22 02:01:21 +02:00
cora ec73afd21a use iron texture for apprentice badge, not stone 2022-05-22 02:01:21 +02:00
cora e353ec3b16 Iron golems pick and pick up one (stack of) poppy 2022-05-21 12:36:57 +02:00
cora 5dafeaadc6 Fix indentation in mcl_mobs/api.txt 2022-05-21 12:36:57 +02:00
cora 27d0d778e2 Update TODO list 2022-05-21 12:36:57 +02:00
cora a74fcab06b Make iron golem stay near set _home position 2022-05-21 12:36:57 +02:00
cora e5806215f0 fix possible crash 2022-05-21 12:36:57 +02:00
cora 08b36e3eb3 Add textures for all professions 2022-05-21 12:36:57 +02:00
cora 53df441c1b Don't pick up near player, add more breeding stuff 2022-05-21 12:36:57 +02:00
cora 873e018faf Dynamically add trading tier badge to texture 2022-05-21 12:36:57 +02:00
cora b58422a584 write villager id into bed nodemeta 2022-05-21 12:36:57 +02:00
cora 539c31e8d6 fix trading crash 2022-05-21 12:36:57 +02:00
cora db865ede56 villagers open doors in daytime and close at night 2022-05-21 12:36:57 +02:00
cora 0d56ef1a90 add jobsites to villagegen schematics 2022-05-21 12:36:57 +02:00
cora 67939f7b7a pathfinding: find doors close to target as well 2022-05-21 12:36:57 +02:00
cora 9ccbf91706 mobs api: document api additions 2022-05-21 12:36:57 +02:00
cora dfb74cf9e9 mobs: add nofollow option so v. dont follow bread 2022-05-21 12:36:57 +02:00
cora 9a866e873e breed by throwing bread at villagers 2022-05-21 12:36:57 +02:00
cora e6b65af3b4 add mobs item pickup 2022-05-21 12:36:57 +02:00
cora 4ac41a793e fix two crashes in pathfinding 2022-05-21 12:36:57 +02:00
cora 98231f15ae change function name go_wplist -> gopath 2022-05-21 12:36:57 +02:00
cora e3bb7fe4be codestyle: replace inline functions 2022-05-21 12:36:57 +02:00
cora f8fc111b4a pathfind to jobsites 2022-05-21 12:36:57 +02:00
cora dbc5564d02 move movement code to mcl_mobs 2022-05-21 12:36:57 +02:00
cora ce7a882c86 Show trade tier in formspec 2022-05-21 12:36:57 +02:00
cora 12bc8f1a3b initial pathfinding experiments
to test rightclick a villager and it will try to path find to
0,9,0 (i'm using flat mapgen for testing for now).
2022-05-21 12:36:57 +02:00
cora 0598aa35c0 add simple jobsite logic 2022-05-21 12:36:57 +02: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
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
PrairieAstronomer 5abfa555eb Added new workstations to villager jobsite definitions 2022-05-14 15:52:37 -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
Mikita Wiśniewski 7f3ba7d4a2 Enable placing carpets on llamas and add textures for it 2022-05-13 22:00:09 +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
cora 12a943e222 Make villagers homeless when bed is gone on return 2022-05-09 10:29:58 +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
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
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
Nils Dagsson Moskopp 5ba36c08b6 Drop carved pumpkin when shearing snow golem 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
cora b6ab815adc Fix endermen dropping node AND taking it 2022-04-22 01:02:20 +02:00
NO411 e790bf90f4 Make shields work with all mobs 2022-04-09 16:21:22 +02: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
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
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
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 db68c0e26b Add shield 2022-03-15 15:58:27 +01:00
Freedom f430aec0cd
item pickup sound gain more MC like 2022-03-13 14:58:01 +01:00
kabou 11ee1d133f Fix cut-n-paste error.
* Swap misplaced lines.
* Concatenate conditional expression.
2022-03-09 18:26:51 +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
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
AFCMS b51e322304
make fire charges activate target (+ fix possible crash) 2022-02-26 22:38:34 +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 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
1F616EMO b02f7cd974 mcl_mobs 2022-02-23 23:58:05 +01:00
1F616EMO b01d4eba88 mcl_paintings 2022-02-23 23:58:05 +01:00
1F616EMO 26dadb1846 mcl_falling_nodes 2022-02-23 23:58:05 +01:00
1F616EMO c3dd5e6c2c MORE MESS SORRY XD 2022-02-23 23:58:05 +01:00
1F616EMO 21808390f9 Revert "add translates for `mcl_boats`"
This reverts commit 2ee84f2ad3bd1f067a43c9382d7fc70f30fab9f0.
2022-02-23 23:58:05 +01:00
1F616EMO cc87791327 add translates for `mcl_boats`
Co-authored-by: Emojigit <emojigit@noreply.git.minetest.land>
2022-02-23 23:58:04 +01:00
Nils Dagsson Moskopp adf738854a
Fix mob-in-boat crash in Minetest 5.5-dev
In Minetest 5.4.1, calling get_player_control() on a mob returned the
empty string. Minetest commit 5eb45e1ea03c6104f007efec6dd9c351f310193d
changed this, so now calling get_player_control() on a mob returns nil.

As mcl_boats defines boats that can have a player or a mob as a driver,
code like the following crashes with a changed get_player_control() API:

local ctrl = driver:get_player_control()
if ctrl.sneak then
    detach_object(driver, true)
end

Furthermore, once a world has crashed, joining it near a mob that is the
driver of a boat with such control code immediately crashes again.

When I reported this bug to Minetest, several Minetest core developers
stated that they disliked the old API and proposed other return values
for calling a mob's get_player_control() function – all different from
the empty string. Since I have some doubts that this bug will be fixed
in Minetest 5.5.0, boat code must take into account a nil return value.

Minetest issue: https://github.com/minetest/minetest/issues/11989
2022-02-15 11:17:01 +01:00
Lizzy Fleckenstein b945975427
Slime splitting: nil check child to prevent crash (that happened on oysterity-mcl2) 2021-12-09 18:11:05 +01:00
Lizzy Fleckenstein ec7e245b9d
Various fixes to the enchanting and loot system
- enchanted loot generated by mapgen now uses PseudoRandom for randomness
- prevent fishing loot from generating loot 32767 times (!!!) when only 1 is needed
- bows and fishing rods obtained from the treasure section of fishing loot are now enchanted
- there is now a function to uniform enchant items other than books
2021-12-07 17:57:18 +01:00