mirror of
https://git.minetest.land/MineClone2/MineClone2.git
synced 2024-12-01 07:13:45 +01:00
a6ac6f5c76
commit cd472337985d6e885eef019185f0965d13148e7f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 22:02:20 2021 -0400 Fix rabbit rotation commit 0f4628db09d68f69a997f98dcd462f29e7ecbe06 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:48:42 2021 -0400 Bring mob spawning variable to the top of the spawning.lua file so it's easier to find commit ddb33acf0d85f29dddb8bdab7a3a7030f9f595be Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:46:45 2021 -0400 Add in unused head code elements commit e52aab45c07c22605993126c4a8ba39c8318d904 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:23:46 2021 -0400 Implement no-op head operations for enderman commit ac852309388e1f9a7dec294440975c7dc89e498c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:08:45 2021 -0400 Add in chicken head code with additional pitch modifier commit f57c4709ac74d1e2b0b683bebc706a1a3e59db73 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:54:11 2021 -0400 Comment out code that causes mobs to glitch push players in mcl_playerplus commit b6c9a1c423a9831cb3684e6a7e1b57163d6d4ab4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:51:11 2021 -0400 Fix creeper head commit a8152760b96ca3a9f142b006d2d888da0ebeff6a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:44:15 2021 -0400 Integrate more switches into internal api elements of head code commit 6a38198e97fd0b573b3b9e590177977d900d5b14 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 18:24:10 2021 -0400 Add in swap_y_with_x and reverse_head_yaw to flesh out head code api element commit d28e81bc9fc1f11b10da524d6874e8e1ee4a956d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:54:14 2021 -0400 Add in mobs look pitch commit 5a2773ea1abb6c8706c477802aae2fa60704714c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:48:41 2021 -0400 Add in basics of head code yaw commit 555935ff3d35d4ac28dad42f5facac0bbfe9b1c9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 16:43:23 2021 -0400 Implement basic fall damage commit 7e3b69348e405425712cf8196907a913be10b62e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 16:11:45 2021 -0400 Add secondary existence check after main logic has been executed to prevent future crashes commit c898e1e4db3b866ddc4ff391ff89798397775fbf Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 15:59:00 2021 -0400 Update sheep.lua commit 9b5c9dc8ae9d1221340d1c72e4f48f3212a07fb7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:31:48 2021 -0400 Make farmable mobs/food mobs a lot less rare commit 5e6653ff651a65e6bfc4057cb5de39f09e9b9cca Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:19:02 2021 -0400 Implement mob cramming commit 1616cb7538141cd38485b4bf59a7b8b049ddd3f0 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:09:35 2021 -0400 Fix nametags commit a3ff108cd4b71cd823518eae0186cbf1d819267e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:03:06 2021 -0400 Make mobs walk up stairs/slabs properly, yet not glitch out when jumping over solid nodes commit df364eed286fced64f3c4bff897fcfe91a9dd540 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:45:35 2021 -0400 Implement basics of head movement and fix walking mobs flying away after floating commit bac191293bc23405bfc02ef0795f0296fdaeb95a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:45:03 2021 -0400 Fix clientside guessing making floating go crazy client side commit b7c7c2627beba086c922df0a20939b67ae1eb464 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:44:46 2021 -0400 Fix parrots not drowning commit 38c22f277db652226ce9911e8bffbb8e8b8bc398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:24:19 2021 -0400 Add pop sound when baby mob is born commit f83ccdb2ed5974486a030196f9b31d0490dcdff3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:22:43 2021 -0400 Add in breeding and feeding baby mob sounds commit 7733e05a120cb07ed37c351956c1f451da3658b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:14:48 2021 -0400 Add in random sounds/hurt/death sounds and stop mobs from reviving on server restart again commit 0a380265c888c64386406187b34914438cdff161 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 00:16:54 2021 -0400 Fix dead-alive mobs and add in hurt/die sound commit 8d3eff0c16abeff9fbce2f9d4af2b64931765696 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 00:06:12 2021 -0400 Enable mob drowning commit 56086bf02be689ba83ba3ccf4858429ad4d6a10b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:33:46 2021 -0400 Fix villager commit 079811984cd952714e6cf85297c91830c0790a1d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:29:56 2021 -0400 Make every mob besides spiders get slowed down by cobwebs like players commit 7e8e63b0e37300b16a4556aa45758d737514316e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:15:40 2021 -0400 If mob is in daylight and ignites_in_daylight = true, make mob burn commit 49b01dca4fcea165314c1548f6c3e673a5de0bd3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:28:26 2021 -0400 Make mobs drop xp on death commit 3d5cceab76768e360e3ea958c71bcf79e9cc2eec Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:21:58 2021 -0400 Fix ghast strange behavior in the nether commit a73e5b57c02275a37b98dc9c80cf35a8c782d9f7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:14:25 2021 -0400 Make pitch movement for fly/swim mobs more dynamic and make ghasts randomly fly around when attacking commit b401b50c045830386c1c06c22be2232bda3e5b61 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 21:15:42 2021 -0400 Give mobs 6 seconds of memory to prevent strange behavior when player hides behind something commit 807fb6966d747550da276b264e8e3bf376b332ab Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:27:37 2021 -0400 Make spiders climb up walls, fix problems with mob following freaking out when under, fix spider collisionbox commit 11b5684a90a7779986b5685d899a55a606922a0f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:05:14 2021 -0400 Remove wolf-dog shift click breeding, and implement better logic commit 41bfaae370729b7409d5dea2cc65a6f5c83979ac Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 20:02:59 2021 -0400 Allow putting chest on carpeted llama by owner, enable swapping carpets commit 8c855f5b0955ebce15a1aaf4c17e407b5cad7ae8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 19:29:37 2021 -0400 Add in llama carpets commit e0185a93113136862b24ad06bea75f1b2e24901f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:43:17 2021 -0400 Fix pig logic issue commit c2cb15a47f75674afaac721217384c8d7ead1c57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:36:22 2021 -0400 Fix horse breeding commit 39f7d0cf3cc7d33d786761376a035a31e434434f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:18:53 2021 -0400 Update api.txt commit 3e9bbca91400e0f587aef13df1ece7d8071b188a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:06:24 2021 -0400 Fix enderman crashing commit 81713a342d8038c2b51140dbd4bc00f1440b73e8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:38:50 2021 -0400 Allow tamed wolves to be shift click bred commit a27e6731cd97a1e41861d8a2acbdd4d2d530c220 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:29:30 2021 -0400 Make sheep breedable commit efce97c1723ac25e9dabdfd9572781a6d50f0821 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:27:17 2021 -0400 Make llamas shift click breedable commit 53c96cae2d28c3a6f4642b8a6d5b72365d32267d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:26:45 2021 -0400 Make pigs shift click breedable commit dbe712bc17cc875c5e9b4b1a919880b0f6893ea1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:23:33 2021 -0400 Make llama breedable commit 0d4d85bac6b3412a2fec3f01ebc5b3ff6c294173 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:19:41 2021 -0400 Fix horse literally blinding you following you commit 6f2e2ab4c57fe651dd90b4897e4f10673da1de3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:22 2021 -0400 Make chicken breedable commit 3649e5f6f50c917e3c29bbd0b95327e3667ae1ef Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:09 2021 -0400 Make horse breedable commit 2dab0773dffd40cb166c8a14ad79035ac898d4dc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:00:21 2021 -0400 Remove unused breedable api call commit 0568c14a435e663dccc1a42ae999a76d0936f153 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:59:35 2021 -0400 Fix timer and make mooshroom breedable commit 531253008a13559cdab63f420e9d35c78b382c95 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:56:59 2021 -0400 Complete mob breeding, make cows breedable commit 79cb6ddc4923ea8a009b2810efe785cf3720c63f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:35:35 2021 -0400 Fix lua locals in environment.lua commit 6eb3eef21561ddf2091682f3703fa9a23e35915e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:34:40 2021 -0400 Fix typo in function commit c37a82d4a2589d372f88b5101918858c2d210e57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:03:29 2021 -0400 Add comments commit ed9d629b99a9f873cebfa8e45239271a81a8025c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:59:42 2021 -0400 Add in mob following for cows commit fcfd6b9d19bbc1e894b8dafed490e04102c87878 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:14:23 2021 -0400 Set up basics for breeding mechanics commit 5ee6cf6c9b3b9da36830c8a58f105d289dfbe54c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 19:49:35 2021 -0400 Implement mob despawner/mob limiter commit 19c8dd1dd48532bfb07eac133cd11b702ad74de7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:41:41 2021 -0400 Stop hostile mobs from falling through water when stunned commit 31ded5e40fc97a7afd252fd74154183afaf1f568 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:34:20 2021 -0400 Re-implement neutral mob switch commit 13c321e8f2c8cb43460093852d44ddae7edec0c1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:03:01 2021 -0400 Re-enable mob spawning commit ea6912c980952bed2a0b5e62009e0a2639d75d75 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:44:49 2021 -0400 Don't do knockback effect for mobs when hurt by a rider commit 8dafac50a865f189074272303b83f37391c11c3c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:37:20 2021 -0400 Make mobs run away slightly faster commit 3560bda4a5a8be026c5d50eb8ddeca9ed45e0b8e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:29:23 2021 -0400 Remove unused code and variables from mob punch commit 9720986c4d30bf8fcd2cf1117d80eea06da5332a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:27:08 2021 -0400 Fix punching a mob breaking it's velocity commit dc7592528cf948556e4e925310e830648b52dff1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:23:00 2021 -0400 Add red tint hurt effect commit 304cbed447adbcccff246f242d18d51fc010df35 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:12:02 2021 -0400 Make mobs that should be skittish, skittish commit af4c42fea7112ada76fd9b273f771611532bdcf9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:10:44 2021 -0400 Add skittish behavior (runaway from punch) and fix ocelot commit 8daf197fb899a0bee8f61aad4ccedec1108f5f92 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:52:07 2021 -0400 Fix iron golem rotation commit c138050e0b877f5dc987959efe4acbe17ffd86f2 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:45:12 2021 -0400 Make iron golem neutral and protective, fix rotation commit 36d5af1d15b432d84e24e161b78d4b41ce2731bd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:35:16 2021 -0400 Stop dead mobs from getting in the way of fighting other mobs commit 73b4d3c1d2c74cb5bd5bb23604ce1d74e183cb0d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:31:13 2021 -0400 stop projectile mobs from being completely disabled while stunned commit eb7ae5e10e731fc949a9a4184e02a39103f83a1e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:28:30 2021 -0400 Fix random crash commit c831da2c02253450df965930cbfcd539b820f3b9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:22:34 2021 -0400 Fix mobs not making hit sound when hit by node commit d5a38fef58c1862490c9f32238ec83cf1a2c2d5c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:19:37 2021 -0400 Add in new mob punched sounds commit 8e7ce5a72ae3e7cedf985a414c64ca259bcd6136 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:04:01 2021 -0400 Add in a visual for horse taming (hearts) commit 189c0ad157a8871d51045effcded0662aff7b1af Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 15:53:01 2021 -0400 Half finish horse (riding logic, etc) commit f64f8e31e3ba8e7a14b22d084be5ef584895242d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:50:38 2021 -0400 Fix llama blaze and ghast projectile sprites commit 58bee2a2dd1b4d6d3d1873d3ac566be9e0aa7930 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:43:00 2021 -0400 Fix projectile tails clipping through sprite commit 16cc7e37d2fc83e50d4e2c380cef05224dbbed38 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:34:59 2021 -0400 Randomize projectile cooldown timer commit 8eb9ba12cef918cb116aea8eaea5a1e757123b01 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:33:40 2021 -0400 Fix crash when mob collides with nil entity commit 5d59583583462563f7d65747a198b0d6d8ed34fc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:10:12 2021 -0400 Massive overhaul to projectile mobs with custom projectile function, make llamas spit commit f6fa90096dfdb9d21b6f52968daa60943a07470e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:35:30 2021 -0400 Fix enderman teleport attack commit 4fb9e69e41a8c2ee91c659acb0b11fc76a6a97fe Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:27:17 2021 -0400 Make enderman become hostile when stared at, freeze when attacking when stared at commit 99f13f84b563c1962c285b2e9973aec8a5d079d7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:13:23 2021 -0400 Half-fix enderman commit dd76b15c501a1a458f2fa112b29784e26c3140bd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:57 2021 -0400 Make ghasts not insta-kill commit b6f19699e9059a382421f55ac9ee5b642e7751a6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:17 2021 -0400 Make enderdragon half work commit 4efec1ef58ba4afe4692a22a361079b5026a7de3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 12:55:11 2021 -0400 Add in chicken slow falling commit 08956664073078fd896add1e57ff0a524de2a32f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:36:58 2021 -0400 Fix random crash with mixed mob ally data types commit 408296140a4fe0c785f5fb4760899fdb3851fe00 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:30:32 2021 -0400 Fix and overhaul wolves commit aac1e1933677d119b52c25a64b3ee6c77e16e770 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:18:33 2021 -0400 Implement rotation locking when standing, fix rotation unlock/lock for fly/swim mobs commit fa059b5df245e81d71d73bbc87b51c59cd47a876 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:59:03 2021 -0400 Fix ghast's eyeheight commit 2e3e92e39337e5c4ecba13855f134af1bd672ae6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:58:32 2021 -0400 Fix ghast's insane difficulty commit 11bcf3aa34e85dcc19142258ca2c4abaf963b806 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:51:13 2021 -0400 Add attributes to epCode commit 2099be43ea25740a402587f40b3004f6ef2d8c1d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:50:14 2021 -0400 Update to epCode's fixed version of ghast model commit 5037ec3736a564157408df12699c91df17c934b6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:40:16 2021 -0400 Fix ghasts horrible collisionbox commit 0a8fff65249610aba7fef7e9675bf28469265f29 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:08:54 2021 -0400 Add in mob criticals when falling commit afdcada1fd6f7c8cbe68b0fd1486d6d92f3d12f7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:46:13 2021 -0400 Fix endermite commit 5d876725c599b060c5150b0508f21b6a83001f9a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:45:00 2021 -0400 Fix bats commit ef0d52a2df9a3d2d2c1e59b12084017c405bc398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:41:54 2021 -0400 Update backup_code_api.lua commit 8142f7e51214672292d3bffe3fa8119eb8a1cf1c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:36:42 2021 -0400 Add in mob death commit ebf27866ca3bb02c726d4729c0666ee28e20a3dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:12:08 2021 -0400 Fix typo and error in animation.lua commit 3fe8d2d3c59ca6c173817a9d2d6b48e3549acd57 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:30:50 2021 -0400 Add file death_logic.lua commit b73ab976a1115044bc336f9e3f181ecf6e75cc06 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:25:58 2021 -0400 Implement framework for mob death commit 8530e6ee368f510581c618666613432f25266ce5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:20:56 2021 -0400 Make mob punching time based commit e1812b2cdba132afec9ed6cdc45ee9f078806264 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:12:02 2021 -0400 Reset pause timer to 0 commit 991bba0a1d611cf545020c9129fdcbc4806e73c6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:10:01 2021 -0400 Add comments into ai.lua commit f9a7144b658f747be895bb6a8b69c8a0124fdd2a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:07:30 2021 -0400 Implement ability to hurt mobs commit 45790c0be0eec380e281a687a1ff03ea1f114143 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 19:12:02 2021 -0400 Re-enable mob punching (broken) commit 31a791c33b19d76350993d844747a0c51a77382c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 18:20:58 2021 -0400 Undo debug.txt spam from mob spawning commit d0d128c1d8f84e8de590e34adfe0265556ccd3e1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 18:18:57 2021 -0400 Break infinite loop if unable to find any mob to spawn commit ee905642c2cdfaa3be3eb5c2af7ec75599ffd41e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 17:56:38 2021 -0400 Add temporary warning debug to spawning algorithm output commit 2cef9e7cca2e70e544eb3068a0e3e36487cab669 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:39:32 2021 -0400 Optimize mob spawning even further with additional lua locals commit edb1939649c62a2b486e1c04c5af27458f978388 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:27:35 2021 -0400 Fix mob_counter in mob spawning limiter commit 7c1adeab459d452ac016108b588957082c1347c1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:20:57 2021 -0400 Hyper-optimize mob spawning commit fbe3ccc5c05b5d5141737d3a73df3e4d14a33a33 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:28:38 2021 -0400 Delete current state of things comment commit 5e15af260bed13b07b295f558f5cb05bedaa7eae Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:19 2021 -0400 Fix pig rotation commit 6aa636449211b1bbec1297723281f72b4c76c4da Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:10 2021 -0400 Fix sheep rotation commit 29305f548db88b0b895ec747ebfbc092c51c4762 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 15:08:35 2021 -0400 Overhaul arrow register, implement basic blaze, break parts of arrow register for now, remove fallback for detecting players commit 08c90c34e83c498ee2cc883a2cad9b98a269a850 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 13:05:46 2021 -0400 Make parrots and squids work with tilt fly/swim commit 91099c3be93689c2569f838a63e75e38ca382162 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 13:01:14 2021 -0400 Fix auto-true statement for tilt fly/swim commit 71c34823bc87b0892d4450b877fb1c78cd6ad416 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:56:36 2021 -0400 Make tilt flying/swimming dynamic commit 20886f54bb8887fb88ce0e0e0c6f28a789868740 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:48:23 2021 -0400 Make shooty mobs jump commit ebd995fbd2eb089a37b659e9ae87c86562e3ed69 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:45:02 2021 -0400 Simplify skeleton arrow damage calculation commit c9f71d66f52f2e80fea6cd01fcb2db30ae399c39 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:42:34 2021 -0400 Implement skeletons/strays commit 99e808296b81f37a9e01d4b4beb02120526bb4e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:17:51 2021 -0400 Add missing skeleton/stray run animation commit 74094938bb0918df12ffa778c95b966d7bd6c9f3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:10:29 2021 -0400 Fix crash with non-punch attack mobs in collision commit 6bd279255c7e4b5623afa39caae8f988127f7ac3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:50:22 2021 -0400 Fully implement zombie pigmen commit 964ce9ccf7101aef387bdd5ec2213ba4ac361a51 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:42:01 2021 -0400 Temporarily disable spawn eggs from setting owner commit 5062d56a5d89346234f6125848799f32915b31a4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:00:02 2021 -0400 Implement neutral mob mechanics and partial implement of zombie pigmen commit b0b1ec9436776fdc89edaf3046499a9e2cfaed0f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:53:20 2021 -0400 Implement zombie pigmen and make them turn hostile when punched commit f1dc2864425bab2eed2f5bec7b7ccd0307145b1f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:23:51 2021 -0400 Dump mob_punch from backup_code_api.lua back into interaction.lua commit cc2a0ae52cefc388d18c9d106ef70fc0718f5e40 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:21:11 2021 -0400 Complete charged creeper commit 486959515ca13ba0d5756ba5d930ff43e9d135b5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:20:31 2021 -0400 Make creepers even more dangerous commit 576621169b468f317cf32d6d0be391252a033d3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:26:18 2021 -0400 Make creepers and zombies even harder commit 2c87bd19f3c6a4a5a1a3b88a45cd673ecccb838b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:14:53 2021 -0400 Overhaul zombie villager commit 1ed3377559c4690fa19488f526bcaf97d5ff94b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:11:18 2021 -0400 Add punch mobs knockback to players when hit commit 8c9356a18cb60cd28691e3782723df763b75a1fa Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:58:39 2021 -0400 Implement eye_height and viewing range for hostile mobs, along with making punchy mobs jump over nodes commit a05ebd7cc29c96b622dbc043529513b07d5cf47b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:44:34 2021 -0400 Add informative text art commit 60ac3058ce1e3e05caa87c18bdf95c78a71ed750 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:42:51 2021 -0400 Make zombies more difficult commit 751c4c2d995a011a3298d374c77b9c4567ed2fa1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:41:13 2021 -0400 Integrate mob punching into collision detection commit 6b52b945165a8501e09ca70c18514049df194c05 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:30:34 2021 -0400 Start setting up hostile punch attack type commit d371d6fdc9cb85e140399eafb89f15195f72d09f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:04:54 2021 -0400 Adjust creeper explosion settings commit fabd4d64e6745b9ea8c4bb1a76c190c2d66576be Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:35:19 2021 -0400 Slow down creeper type mobs explosion buildup commit bf367fffd054fe180dbc6d7f46e20e286d68bb09 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:34:18 2021 -0400 Add in sound_handling and make explosion type mobs make their attack sound before explosion animation commit 0b763f54b55ea47b7889816612759447bfb50422 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:00:36 2021 -0400 Finish creeper movement ai and move jump_check into environment commit cd6f07537f64bdbe7573642982ec24ac3fb19ec1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:43:45 2021 -0400 Make creepers even more deadly commit 9678b556e17b124f841b0019b3a31880a415bd11 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:33:30 2021 -0400 Fix crashes when trying to collision detect a removed mob commit cdb840609dc2586b31a1e44c8c1004379ef37979 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:19:55 2021 -0400 Add in creeper basic prototype commit 008d670ed9006d918b1ed1698a5b644de27191b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 17:10:51 2021 -0400 Remove wandering from ai commit 491ef6c8f818e43ef0545963eb27b5476c95ea28 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:48:20 2021 -0400 Add in auto mob removal if something goes horribly wrong commit 348df0fcecc2709fe088493d5665112827f08129 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:46:10 2021 -0400 Rename detect_players_in_area to detect_closest_player_within_radius commit ac08c6991c0ce7f9bb8d9de5880ec64a7882c3e7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:39:05 2021 -0400 Add in detect_players_in_area commit 3d776138e97b904c9b299119ae9b9a8a2811ae7a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 14:55:22 2021 -0400 Start implementing creeper ai commit 85e531bf106df326b2ca470b5a94aeb06f92d4d6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:24:31 2021 -0400 Remove unneeded mobs:protect from code commit 4d589dfb2aa10cb664b4d3b3471960e6d648b92c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:39 2021 -0400 Remove literally unneeded mobs:capture_mob commit 39985aa558d9f43a6a2e82fb6d59ad0ca8b6324d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:21 2021 -0400 Up fallback max xp to 3 commit 1920ddf91530a7c033c8288cd3a752f3ee7ba850 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:02:03 2021 -0400 Change all enemy attack info to more workable and understandable attacks commit 719bb2a3c96ca020f8f828959e377831f47cd27b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 18:21:33 2021 -0400 Add in prototype jump-only mobs api commit db87b8e0a37cd15ef7931a76d21bbb190a158205 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:09:57 2021 -0400 fix chicken rotation commit e2987245fd6c6ee75383ea92da30e9fc5e10ad1e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:00:34 2021 -0400 Balance out collision forces for mobs commit 3cf263d292f9fc5a7a18fafa2aa1fbc8e1840a0a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 16:23:38 2021 -0400 Add in dynamic pitch in flying/swimming mobs commit 5ade34115cff228994ff3fd680aa15c8225ab6e7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:17:29 2021 -0400 Remove random state initialization in set_up.lua commit d9729fc8651d06566e61bcfcb2e7df0484f25f48 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:13:45 2021 -0400 Fix parrot's rotation commit 58d9670e777c3798c676924023375a2579450142 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:11:39 2021 -0400 Remove collisionbox addition for y position for fly mobs commit a20f272e08f0170b2761eeba2a12aeaf88efad7b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:05:53 2021 -0400 re-adjust logic gate for mobs floating in water and lava commit 0794bc54372c6aaa9c653693da3a18194adf5c95 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:04:55 2021 -0400 Make flying mobs float in water and lava commit 8783912938aed1f5566f3e2f5056213f0cefe4a6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:48:57 2021 -0400 Add in mobs api swimming animation commit f2e909ab8d182febabbdacd9de50a65f27137761 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:41:14 2021 -0400 Add in fly logic gate commit 07841c89632626f1c3bb4790f8db0c2adddfb2eb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:38:48 2021 -0400 Swap name of quick_rotate_45 to quick_rotate commit 240d6ea21155f2044d3b728a210811821540013a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:37:04 2021 -0400 Add note about quick_rotate_45 actually rotating 11.25 degrees commit e8148f81ab7641554096bc03ecda8927d9ad9491 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:36:19 2021 -0400 Make underwater mobs try to continuously swim around with quick_rotate_45 commit 061602d9d46d4e4607e407c064070709ef99f9b7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:28:07 2021 -0400 Overhaul separation of swimming and flying for ease of use with writing mobs api commit 5365dec19a8a088263916a3686f27859be51e870 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:01:27 2021 -0400 Adjust "flying" vector checks for mobs commit dda7839d8c4c2292e9c8d6472faf38372654d886 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:43:02 2021 -0400 Add in prototype swimming commit f1141aed9fa52bf57e8867fdb3ffb520793dab07 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:08:54 2021 -0400 Make mobs flop when outside of flying node commit 84ca7681fc9ee3e9945488865678b2b82eb0a22d Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:47:16 2021 -0400 Make squids fly in water flowing and water source commit 52c3db041e602ebd0861a0b86c55b35662c8c33a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:32:05 2021 -0400 Add in fly state prep for mobs commit 6db4511dd5b038cd95c7ea196559bb25a53246e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:06:55 2021 -0400 Add notes commit 15ea9c1c71f3e4d4dd24ce145d385f8457e4905e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:59:20 2021 -0400 Implement self walking velocity for walking state commit 9d6d042ee325a010d97abdff7efc37f3dcf46b5e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:37:01 2021 -0400 Fix formatting in ai.lua commit ce7f4918b061fa9a4d46045a389497cb0da1a5ee Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:35:19 2021 -0400 Re-organize comments commit 05d06a4c8f0128ac5edd21b8096bb75553c1f89e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:36:23 2021 -0400 Add comment to state_execution commit c761db86c7e67aab27d3806a76b7a58504a7d5c6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:29:42 2021 -0400 re-arrange mob logic for random wandering commit ed456ecb47d788efe9aa526849110015e9c04e9a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:17:51 2021 -0400 Make mobs not fear cliffs if fear_height is 0 commit 8ca5f221ec9ce534e91f7094193b4ec951e743b1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:13:54 2021 -0400 clean up ai.lua commit cadd53c103f4047069f581abdc033d2def4ed2dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 16:39:03 2021 -0400 Adjust mob jumping default to account for higher gravity commit 57b293de2b02be81ff3e17e620807c653fe9b625 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 16:37:15 2021 -0400 Make mobs gravity equal to player's commit fb9a55e562c3e4102fa4e02603f93d1c78e397ad Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:55:11 2021 -0400 Make jump_check more modular and allow mobs to turn if at a wall commit a6a54b34140c279d7a9ff3db5b21f1be0ead15f8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:49:03 2021 -0400 Make mobs not jump if against a wall commit 6c5393427f72c082a5c85514cb3b54aa4a9ce45f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:39:39 2021 -0400 Smooth out mob cliff check and check if falling before cliff check commit 2486ffef11113a40b43a2548bde57e9cca186da9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:30:44 2021 -0400 Make wandering mobs avoid cliffs commit adc683c6a7cd56c33bebc22ce1363671db4f4846 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 14:19:22 2021 -0400 Clear mob animation on activate commit d0695e7929460728f7da2e01cc809cb343481e1a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 13:58:08 2021 -0400 Fix mob animation "memory leak" commit 024cf46307abb6fefbfe8be04941205026561177 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:52:29 2021 -0400 Adjust spacing in animation.lua commit f38492bcb031b7fcc2ee8299f66fcd3cd3a68398 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:29 2021 -0400 Re-implement animation check gate for mobs commit a934a59f3b64e8adef64676daaf81b574a6ceecd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:13 2021 -0400 Implement mob random walk directions commit 94ca7e8b89bd39144d85bc6a622778babb226d47 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:31:18 2021 -0400 Add in state switch and state execution for mobs commit 626c30de6d4191cd4a18b0f11cb4805c425f9648 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:30:55 2021 -0400 Create todo.txt commit c2bac87a6d03364193aedf67c780fdea9f545cac Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 21:46:33 2021 -0400 Update set_up.lua commit 375d683d08266586d024491dcba2268c66583989 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 16:18:42 2021 -0400 Fix forgotten localization in collision.lua commit 246bdf9707c98f787cb5264dc7ff638e340d768b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:55:10 2021 -0400 Implement basic mob walking animation test commit d07d0ae31c0d39c526c8418e725b5dce1d120793 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:34:07 2021 -0400 Make mobs jump properly commit 6cb6d714c9bcf55213a9449416bec37c0fe318af Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:04:55 2021 -0400 Reorganize all mob sections into multiple files commit 5155d12d05c5b563a78923b3fc02a885cd23fe85 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 14:09:54 2021 -0400 Reformat mobs_mcl to api folder for ease of use commit bbcfb3fdb171053e3142854f658860e7693f31d1 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:33:09 2021 -0400 Randomize walking or standing on spawn in commit 9e4bf6e130195b4f2176658581ad17646a48ce3a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:29:18 2021 -0400 Move old set_yaw and add node on set_velocity commit e53a193c4fe61e88e6501a2a863e22d533132ae4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:25:55 2021 -0400 Fix get_velocity (mobs internal) commit 14207dd96aa60652c0ad1f4351441659c33d3ff6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:23:52 2021 -0400 Smooth out mob movement set_velocity more commit a0ed1a0b2004baeb3d0f64c5eb02bbf0b21bf823 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 10:05:24 2021 -0400 Add automatic rotation lock commit ba46e7fa42bbd25175d3505ca9699a11912d491f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:58 2021 -0400 Remove old debug of colliding with objects commit 61124905f3d862d00f00674067003d8da7722405 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:22 2021 -0400 Add in mob auto rotation (implementation 1) commit 8b200c7352cb9fdd01f1b073308acacd36b2672a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 19:38:14 2021 -0400 Add in basic movement rotation testing commit 67259891a85e54f56dc543087bd98cfe12feb6f4 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 18:01:29 2021 -0400 Remove unneeded comments commit d063db751c1657c367f2277b24a5aa51a8d90fa3 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 17:26:20 2021 -0400 Disable mcl_playerplus random check that moves players randomly commit d4db27f0e1edd439f65821b814146a237ebea799 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 17:25:39 2021 -0400 Update backup_code_api.lua commit 755533beeb6c708603096cce4f99bea558c8b6ce Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 11:50:22 2021 -0400 Disable literally everything in mobs api commit 3f6312a631c6726c3bc4b09d9ec3e64b3ae810e5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:24:46 2021 -0400 Make mobs magnetic collision more jello-y commit aa4d34c10e4bc367fc6ad7d898cd145d9f58ed0c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:00:38 2021 -0400 Improve mob to mob collision commit 1210bc463adb949496fc521e3169fb88e49fc4e9 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:44:24 2021 -0400 prevent mob collision detection shootout commit ed6026671381c99723eccbf2089d99748e19bfe2 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:17:48 2021 -0400 Gut even more elements of the api commit 220d30df5f159d69be22663733feb1fbf51c45f8 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:13:29 2021 -0400 Completely gut do_states commit 9758bbf2e7e382948b4ad1ab8c360519270fec14 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:21:04 2021 -0400 Finish gutting mob api commit f29ad4b8b78689ed0d759c18178a6b2dbc9a1e25 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:20:11 2021 -0400 Reorganize more settings to the top of file commit 54f5bee8a379bf910c1cc6ea3d33bd32b819f3dd Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:08:29 2021 -0400 reorganize load settings commit 02515f0778bbe9cd962acc514b084c9dedf55074 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:07:32 2021 -0400 Move a large chunk of code to backup_code_api.lua commit 3fc0184182f70be0c2fd9b3be1c5d78fa7f00503 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 07:39:57 2021 -0400 Disable entire mob ai to work on vanilla walking commit 6fff719322ee250fc7c074d2362edbf0c4090406 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:47:07 2021 -0400 Localize minetest library commit adaf74fc5c6354cf2fb1a9f784e5a37a4fb31caa Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:13:11 2021 -0400 Remove spacing and delete old collision comments commit a564009e4aeda08372b80fb1a5fc2d16f5dfd364 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:11:55 2021 -0400 Change HORNY_TIMER to BREED_TIMER commit 00759da39d621b36be6200fa365c51be86dbb99f Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 18:29:32 2021 -0400 Unlimit mob ai commit 9aafc28a2009998017753d0aa4d013e3cd8795b6 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 14:47:56 2021 -0400 Fix mobs nil check during mob_step commit 67c40885ef62b4e4e8dcaba3b65c58502c558f7e Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 14:21:19 2021 -0400 Fix mobs collision system only running during movement - major overhaul with ai disabled commit 2456e3cd1ef6954415e4a771bb704a12364895eb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 12:52:31 2021 -0400 Adjust math localizations in api.lua commit 725dc731ddc2a6f1cf1a20832e06883613d5974a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 11:58:33 2021 -0400 Adjust mob collision detection - this breaks a lot of things and will be fixed later commit e15fd2f4b60fafcae3b765d345914032b4a52668 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 9 01:38:34 2021 -0400 Add lua locals into mcl_dungeons for performance commit c937b2a97338097700cd3836811ce46366e88027 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 14:19:42 2021 -0400 test commit 8c10fe4057d5a973d448e32addbc07617f9b8edc Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:48:02 2021 -0400 Adjust spawning to be closer and more frequent commit bd7866d7983aae52aef426bc7a305ae166817ed7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:07:20 2021 -0400 Finish mob limiter commit 9369c9cab8f25d5fa34fe0cdaeee4f9570db4551 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:01:15 2021 -0400 Fix spawn timer reset debug commit 28823298e1536d4ce34d67ada624dcb5aaf377e0 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:00:04 2021 -0400 Fix forgotten biome check commit 9d48549ec5901de887eb9fb2d75fd07f08edb39b Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 09:52:50 2021 -0400 Complete prototype of biome generated mobs commit 518252679f642d00057889b462eb8c87b0992de7 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:42:57 2021 -0400 Fix a lot of things commit bb078b0c4c48ac6932d2953561ac03bea3bde51a Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:33:50 2021 -0400 Fix silverfish typo commit adab48ff0c95c2fad11e4d58824d635ae6945875 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:29:16 2021 -0400 Readjust mobs internal settings to not cause insane memory usage commit 47c59edb511fde5db934fca519b9d8aa1fc68838 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:13:46 2021 -0400 Fix typo commit 5ca30fa8eec24a1f9bee879bb49d3dfce82484fb Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:12:43 2021 -0400 Combine air and ground type spawning into ground commit aacb8fc7b95013e42c832927088708b8c9889201 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:09:43 2021 -0400 Add in extra_mobs information commit f900b24b53a802fd5db1bf1a633d7f89e42bcce5 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 07:39:18 2021 -0400 Add in all biome information to mobs commit 0ad833c046095d83a789705aa15dd7f30fd8f3ed Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:57:24 2021 -0400 Add bats, chicken, and blaze spawn info commit f4a6bdc6b89b2d605cfd06f0b7baa6170a19314c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:48:25 2021 -0400 Make reference list copy-pastable commit bf4bf9a0cc60a1a15f1ddbfed314ec5a9c75561c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:10:07 2021 -0400 Ignore default or void dimensions commit 8e1e02d1fbc189680dbd004bdd905446467a4e29 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:04:36 2021 -0400 Add biome list commit da045c207d3bd5931e3cf73c5459b45d86596c12 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 02:07:15 2021 -0400 Refactor spawning into it's own file commit 6ec66ef6f666007e411e23689e0d4eccd5a5fbfe Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:16:03 2021 -0400 Fix mobs colliding with other mobs/players commit 6bd249547a888493af6c5cfc65d3e206e1467c19 Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:07:04 2021 -0400 Fix mobs colliding with objects commit c4d030d111ea6e21ca6343f76fb98b8aa9d29f6c Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 1 23:48:00 2021 -0400 Fix item drop on laggy servers
759 lines
33 KiB
Plaintext
759 lines
33 KiB
Plaintext
|
|
Mobs Redo: MineClone 2 Edition
|
|
API documentation
|
|
==============================
|
|
|
|
Welcome to the world of mobs in Minetest and hopefully an easy guide to defining
|
|
your own mobs and having them appear in your worlds.
|
|
|
|
|
|
Registering Mobs
|
|
----------------
|
|
|
|
To register a mob and have it ready for use requires the following function:
|
|
|
|
mobs:register_mob(name, definition)
|
|
|
|
The 'name' of a mob usually starts with the mod name it's running from followed
|
|
by it's own name e.g.
|
|
|
|
"mobs_monster:sand_monster" or "mymod:totally_awesome_beast"
|
|
|
|
... and the 'definition' is a table which holds all of the settings and
|
|
functions needed for the mob to work properly which contains the following:
|
|
|
|
'nametag' contains the name which is shown above mob.
|
|
'type' holds the type of mob that inhabits your world e.g.
|
|
"animal" usually docile and walking around.
|
|
"monster" attacks player or npc on sight.
|
|
"npc" walk around and will defend themselves if hit first, they
|
|
kill monsters.
|
|
'hp_min' the minimum health value the mob can spawn with.
|
|
'hp_max' the maximum health value the mob can spawn with.
|
|
'breath_max' The maximum breath value the mob can spawn with and can have.
|
|
If -1 (default), mob does not take drowning damage.
|
|
'breathes_in_water' If true, mob loses breath when not in water. Otherwise,
|
|
mob loses breath when inside a node with `drowning` attribute
|
|
set (default: false).
|
|
'armor' entity armor groups (see lua_api.txt). If table, a list of
|
|
armor groups like for entities. If number, set value of
|
|
'fleshy' armor group only.
|
|
Note: The 'immortal=1' armor group will automatically be added
|
|
since this mod handles health and damage manually.
|
|
Default: 100 (mob will take full dmg from 'fleshy' hits)
|
|
'passive' when true allows animals to defend themselves when hit,
|
|
otherwise they amble onwards.
|
|
'walk_velocity' is the speed that your mob can walk around.
|
|
'run_velocity' is the speed your mob can run with, usually when attacking.
|
|
'walk_chance' has a 0-100 chance value your mob will walk from standing,
|
|
set to 0 for jumping mobs only.
|
|
'jump' when true allows your mob to jump updwards.
|
|
'jump_height' holds the height your mob can jump, 0 to disable jumping.
|
|
'stepheight' height of a block that your mob can easily walk up onto,
|
|
defaults to 0.6.
|
|
'fly' when true allows your mob to fly around instead of walking.
|
|
'fly_in' holds the node name or a table of node names in which the
|
|
mob flies (or swims) around in. The special name
|
|
'__airlike' stands for all nodes with 'walkable=false'
|
|
that are not liquids
|
|
'runaway' if true causes animals to turn and run away when hit.
|
|
'view_range' how many nodes in distance the mob can see a player.
|
|
'damage' how many health points the mob does to a player or another
|
|
mob when melee attacking.
|
|
'knock_back' when true has mobs falling backwards when hit, the greater
|
|
the damage the more they move back.
|
|
'fear_height' is how high a cliff or edge has to be before the mob stops
|
|
walking, 0 to turn off height fear.
|
|
'fall_speed' has the maximum speed the mob can fall at, default is -10.
|
|
'fall_damage' when true causes falling to inflict damage.
|
|
'water_damage' holds the damage per second infliced to mobs when standing in
|
|
water (default: 0).
|
|
'lava_damage' holds the damage per second inflicted to mobs when standing
|
|
in lava (default: 8).
|
|
'fire_damage' holds the damage per second inflicted to mobs when standing
|
|
in fire (default: 1).
|
|
'light_damage' holds the damage per second inflicted to mobs when it's too
|
|
bright (above 13 light).
|
|
'suffocation' when true causes mobs to suffocate inside solid blocks (2 damage per second).
|
|
'floats' when set to 1 mob will float in water, 0 has them sink.
|
|
'follow' mobs follow player when holding any of the items which appear
|
|
on this table, the same items can be fed to a mob to tame or
|
|
breed e.g. {"farming:wheat", "default:apple"}
|
|
|
|
'reach' is how far the mob can attack player when standing
|
|
nearby, default is 3 nodes.
|
|
'docile_by_day' when true has mobs wandering around during daylight
|
|
hours and only attacking player at night or when
|
|
provoked.
|
|
'attacks_monsters' when true has npc's attacking monsters or not.
|
|
'attack_animals' when true will have monsters attacking animals.
|
|
'owner_loyal' when true will have tamed mobs attack anything player
|
|
punches when nearby.
|
|
'group_attack' when true has same mob type grouping together to attack
|
|
offender.
|
|
[MCL2 extension:] When a table, this is a list of
|
|
mob types that will get alerted as well (besides same mob type)
|
|
'attack_type' tells the api what a mob does when attacking the player
|
|
or another mob:
|
|
'dogfight' is a melee attack when player is within mob reach.
|
|
'shoot' has mob shoot pre-defined arrows at player when inside
|
|
view_range.
|
|
'dogshoot' has melee attack when inside reach and shoot attack
|
|
when inside view_range.
|
|
'explode' causes mob to stop and explode when inside reach.
|
|
'explosion_radius' the radius of explosion node destruction,
|
|
defaults to 1
|
|
'explosion_damage_radius' the radius of explosion entity & player damage,
|
|
defaults to explosion_radius * 2
|
|
'explosion_timer' number of seconds before mob explodes while its target
|
|
is still inside reach or explosion_damage_radius,
|
|
defaults to 3.
|
|
'explosiontimer_reset_radius' The distance you must travel before the timer will be reset.
|
|
'allow_fuse_reset' Allow 'explode' attack_type to reset fuse and resume
|
|
chasing if target leaves the blast radius or line of
|
|
sight. Defaults to true.
|
|
'stop_to_explode' When set to true (default), mob must stop and wait for
|
|
explosion_timer in order to explode. If false, mob will
|
|
continue chasing.
|
|
'arrow' holds the pre-defined arrow object to shoot when
|
|
attacking.
|
|
'dogshoot_switch' allows switching between attack types by using timers
|
|
(1 for shoot, 2 for dogfight)
|
|
'dogshoot_count_max' contains how many seconds before switching from
|
|
dogfight to shoot.
|
|
'dogshoot_count2_max' contains how many seconds before switching from shoot
|
|
to dogfight.
|
|
'shoot_interval' has the number of seconds between shots.
|
|
'shoot_offset' holds the y position added as to where the
|
|
arrow/fireball appears on mob.
|
|
'specific_attack' has a table of entity names that mob can also attack
|
|
e.g. {"player", "mobs_animal:chicken"}.
|
|
'runaway_from' contains a table with mob names to run away from, add
|
|
"player" to list to runaway from player also.
|
|
'pathfinding' set to 1 for mobs to use pathfinder feature to locate
|
|
player, set to 2 so they can build/break also (only
|
|
works with dogfight attack and when 'mobs_griefing'
|
|
in minetest.conf is not false).
|
|
'immune_to' is a table that holds specific damage when being hit by
|
|
certain items e.g.
|
|
{"default:sword_wood", 0} -- causes no damage.
|
|
{"default:gold_lump", -10} -- heals by 10 health points.
|
|
{"default:coal_block", 20} -- 20 damage when hit on head with coal blocks.
|
|
|
|
'makes_footstep_sound' when true you can hear mobs walking.
|
|
'sounds' this is a table with sounds of the mob
|
|
'distance' maximum distance sounds can be heard, default is 10.
|
|
'base_pitch' base pitch to use adult mobs, default is 1.0 (MCL2 extension)
|
|
'random' played randomly from time to time.
|
|
also played for overfeeding animal.
|
|
'eat' played when mob eats something
|
|
'war_cry' what you hear when mob starts to attack player. (currently disabled)
|
|
'attack' what you hear when being attacked.
|
|
'shoot_attack' sound played when mob shoots.
|
|
'damage' sound heard when mob is hurt.
|
|
'death' played when mob is killed.
|
|
'jump' played when mob jumps. There's a built-in cooloff timer to avoid sound spam
|
|
'flop' played when mob flops (like a stranded fish)
|
|
'fuse' sound played when mob explode timer starts.
|
|
'explode' sound played when mob explodes.
|
|
|
|
Note: For all sounds except fuse and explode, the pitch is slightly randomized from the base pitch
|
|
The pitch of children is 50% higher.
|
|
|
|
'drops' table of items that are dropped when mob is killed, fields are:
|
|
'name' name of item to drop.
|
|
'chance' chance of drop, 1 for always, 2 for 1-in-2 chance etc.
|
|
'min' minimum number of items dropped.
|
|
'max' maximum number of items dropped.
|
|
|
|
'visual' holds the look of the mob you wish to create:
|
|
'cube' looks like a normal node
|
|
'sprite' sprite which looks same from all angles.
|
|
'upright_sprite' flat model standing upright.
|
|
'wielditem' how it looks when player holds it in hand.
|
|
'mesh' uses separate object file to define mob.
|
|
'visual_size' has the size of the mob, defaults to {x = 1, y = 1}
|
|
'collisionbox' has the box in which mob can be interacted with the
|
|
world e.g. {-0.5, -0.5, -0.5, 0.5, 0.8, 0.5}.
|
|
NOTE: Due to a workaround, the upper Y coordinate will be forced
|
|
to a minimum value of 0.79.
|
|
'selectionbox' has the box in which player can interact with mob
|
|
'textures' holds a table list of textures to be used for mob, or you
|
|
could use multiple lists inside another table for random
|
|
selection e.g. { {"texture1.png"}, {"texture2.png"} }
|
|
'child_texture' holds the texture table for when baby mobs are used.
|
|
'gotten_texture' holds the texture table for when self.gotten value is
|
|
true, used for milking cows or shearing sheep.
|
|
'mesh' holds the name of the external object used for mob model
|
|
e.g. "mobs_cow.b3d"
|
|
'gotten_mesh" holds the name of the external object used for when
|
|
self.gotten is true for mobs.
|
|
'rotate' custom model rotation, 0 = front, 90 = side, 180 = back,
|
|
270 = other side.
|
|
'double_melee_attack' when true has the api choose between 'punch' and
|
|
'punch2' animations.
|
|
|
|
'animation' holds a table containing animation names and settings for use with mesh models:
|
|
'stand_start' start frame for when mob stands still.
|
|
'stand_end' end frame of stand animation.
|
|
'stand_speed' speed of animation in frames per second.
|
|
'walk_start' when mob is walking around.
|
|
'walk_end'
|
|
'walk_speed'
|
|
'run_start' when a mob runs or attacks.
|
|
'run_end'
|
|
'run_speed'
|
|
'fly_start' when a mob is flying.
|
|
'fly_end'
|
|
'fly_speed'
|
|
'punch_start' when a mob melee attacks.
|
|
'punch_end'
|
|
'punch_speed'
|
|
'punch2_start' alternative melee attack animation.
|
|
'punch2_end'
|
|
'punch2_speed'
|
|
'shoot_start' shooting animation.
|
|
'shoot_end'
|
|
'shoot_speed'
|
|
'die_start' death animation
|
|
'die_end'
|
|
'die_speed'
|
|
'die_loop' when set to false stops the animation looping.
|
|
|
|
Using '_loop = false' setting will stop any of the above animations from
|
|
looping.
|
|
|
|
'speed_normal' is used for animation speed for compatibility with some
|
|
older mobs.
|
|
'pushable' Allows players, & other mobs to push the mob.
|
|
|
|
|
|
|
|
MineClone 2 extensions:
|
|
|
|
'spawn_class' Classification of mod for the spawning algorithm:
|
|
"hostile", "passive", "ambient" or "water"
|
|
'ignores_nametag' if true, mob cannot be named by nametag
|
|
'rain_damage' damage per second if mob is standing in rain (default: 0)
|
|
'sunlight_damage' holds the damage per second inflicted to mobs when they
|
|
are in direct sunlight
|
|
'spawn_small_alternative': name of a smaller mob to use as replacement if
|
|
spawning fails due to space requirements
|
|
'glow' same as in entity definition
|
|
'child' if true, spawn mob as child
|
|
'shoot_arrow(self, pos, dir)' function that is called when mob wants to shoot an arrow.
|
|
You can spawn your own arrow here. pos is mob position,
|
|
dir is mob's aiming direction
|
|
'sounds_child' same as sounds, but for childs. If not defined, childs will use same
|
|
sound as adults but with higher pitch
|
|
'follow_velocity' The speed at which a mob moves toward the player when they're holding the appropriate follow item.
|
|
'instant_death' If true, mob dies instantly (no death animation or delay) (default: false)
|
|
'xp_min' the minimum XP it drops on death (default: 0)
|
|
'xp_max' the maximum XP it drops on death (default: 0)
|
|
'fire_resistant' If true, the mob can't burn
|
|
'fire_damage_resistant' If true the mob will not take damage when burning
|
|
'ignited_by_sunlight' If true the mod will burn at daytime. (Takes sunlight_damage per second)
|
|
|
|
|
|
|
|
Node Replacement
|
|
----------------
|
|
|
|
Mobs can look around for specific nodes as they walk and replace them to mimic
|
|
eating.
|
|
|
|
'replace_what' group of items to replace e.g.
|
|
{"farming:wheat_8", "farming:carrot_8"}
|
|
or you can use the specific options of what, with and
|
|
y offset by using this instead:
|
|
{
|
|
{"group:grass", "air", 0},
|
|
{"default:dirt_with_grass", "default:dirt", -1}
|
|
}
|
|
'replace_with' replace with what e.g. "air" or in chickens case "mobs:egg"
|
|
'replace_rate' how random should the replace rate be (typically 10)
|
|
'replace_offset' +/- value to check specific node to replace
|
|
|
|
'on_replace(self, pos, oldnode, newnode)'
|
|
is called when mob is about to replace a node. Also called
|
|
when not actually replacing due to mobs_griefing setting being false.
|
|
'self' ObjectRef of mob
|
|
'pos' Position of node to replace
|
|
'oldnode' Current node
|
|
'newnode' What the node will become after replacing
|
|
|
|
If false is returned, the mob will not replace the node.
|
|
|
|
By default, replacing sets self.gotten to true and resets the object
|
|
properties.
|
|
|
|
|
|
Custom Definition Functions
|
|
---------------------------
|
|
|
|
Along with the above mob registry settings we can also use custom functions to
|
|
enhance mob functionality and have them do many interesting things:
|
|
|
|
'on_die' a function that is called when the mob is killed; the
|
|
parameters are (self, pos). Return true to skip the builtin
|
|
death animation and death effects
|
|
'on_rightclick' its same as in minetest.register_entity()
|
|
'on_blast' is called when an explosion happens near mob when using TNT
|
|
functions, parameters are (object, damage) and returns
|
|
(do_damage, do_knockback, drops)
|
|
'on_spawn' is a custom function that runs on mob spawn with 'self' as
|
|
variable, return true at end of function to run only once.
|
|
'after_activate' is a custom function that runs once mob has been activated
|
|
with these paramaters (self, staticdata, def, dtime)
|
|
'on_breed' called when two similar mobs breed, paramaters are
|
|
(parent1, parent2) objects, return false to stop child from
|
|
being resized and owner/tamed flags and child textures being
|
|
applied. Function itself must spawn new child mob.
|
|
'on_grown' is called when a child mob has grown up, only paramater is
|
|
(self).
|
|
'do_punch' called when mob is punched with paramaters (self, hitter,
|
|
time_from_last_punch, tool_capabilities, direction), return
|
|
false to stop punch damage and knockback from taking place.
|
|
'custom_attack' when set this function is called instead of the normal mob
|
|
melee attack, parameters are (self, to_attack).
|
|
'on_die' a function that is called when mob is killed (self, pos)
|
|
'do_custom' a custom function that is called every tick while mob is
|
|
active and which has access to all of the self.* variables
|
|
e.g. (self.health for health or self.standing_in for node
|
|
status), return with 'false' to skip remainder of mob API.
|
|
|
|
|
|
Internal Variables
|
|
------------------
|
|
|
|
The mob api also has some preset variables and functions that it will remember
|
|
for each mob.
|
|
|
|
'self.health' contains current health of mob (cannot exceed
|
|
self.hp_max)
|
|
'self.breath' contains current breath of mob, if mob takes drowning
|
|
damage at all (cannot exceed self.breath_max). Breath
|
|
decreases by 1 each second while in a node with drowning
|
|
damage and increases by 1 each second otherwise.
|
|
'self.texture_list' contains list of all mob textures
|
|
'self.child_texture' contains mob child texture when growing up
|
|
'self.base_texture' contains current skin texture which was randomly
|
|
selected from textures list
|
|
'self.gotten' this is used to track whether some special item has been
|
|
gotten from the mob, for example, wool from sheep.
|
|
Initialized as false, and the mob must set this value
|
|
manually.
|
|
'self.horny' when animal fed enough it is set to true and animal can
|
|
breed with same animal
|
|
'self.hornytimer' background timer that controls breeding functions and
|
|
mob childhood timings
|
|
'self.child' used for when breeding animals have child, will use
|
|
child_texture and be half size
|
|
'self.owner' string used to set owner of npc mobs, typically used for
|
|
dogs
|
|
'self.order' set to "follow" or "stand" so that npc will follow owner
|
|
or stand it's ground
|
|
'self.state' Current mob state.
|
|
"stand": no movement (except turning around)
|
|
"walk": walk or move around aimlessly
|
|
"attack": chase and attack enemy
|
|
"runaway": flee from target
|
|
"flop": bounce around aimlessly
|
|
(for swimming mobs that have stranded)
|
|
"die": during death
|
|
'self.nametag' contains the name of the mob which it can show above
|
|
|
|
|
|
Spawning Mobs in World
|
|
----------------------
|
|
|
|
mobs:register_spawn(name, nodes, max_light, min_light, chance,
|
|
active_object_count, max_height, day_toggle)
|
|
|
|
mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval,
|
|
chance, active_object_count, min_height, max_height, day_toggle, on_spawn)
|
|
|
|
These functions register a spawn algorithm for the mob. Without this function
|
|
the call the mobs won't spawn.
|
|
|
|
'name' is the name of the animal/monster
|
|
'nodes' is a list of nodenames on that the animal/monster can
|
|
spawn on top of
|
|
'neighbors' is a list of nodenames on that the animal/monster will
|
|
spawn beside (default is {"air"} for
|
|
mobs:register_spawn)
|
|
'max_light' is the maximum of light
|
|
'min_light' is the minimum of light
|
|
'interval' is same as in register_abm() (default is 30 for
|
|
mobs:register_spawn)
|
|
'chance' is same as in register_abm()
|
|
'active_object_count' number of this type of mob to spawn at one time inside
|
|
map area
|
|
'min_height' is the minimum height the mob can spawn
|
|
'max_height' is the maximum height the mob can spawn
|
|
'day_toggle' true for day spawning, false for night or nil for
|
|
anytime
|
|
'on_spawn' is a custom function which runs after mob has spawned
|
|
and gives self and pos values.
|
|
|
|
A simpler way to handle mob spawns has been added with the mobs:spawn(def)
|
|
command which uses above names to make settings clearer:
|
|
|
|
mobs:spawn({name = "mobs_monster:tree_monster",
|
|
nodes = {"group:leaves"},
|
|
max_light = 7,
|
|
})
|
|
|
|
|
|
For each mob that spawns with this function is a field in mobs.spawning_mobs.
|
|
It tells if the mob should spawn or not. Default is true. So other mods can
|
|
only use the API of this mod by disabling the spawning of the default mobs in
|
|
this mod.
|
|
|
|
|
|
mobs:spawn_abm_check(pos, node, name)
|
|
|
|
This global function can be changed to contain additional checks for mobs to
|
|
spawn e.g. mobs that spawn only in specific areas and the like. By returning
|
|
true the mob will not spawn.
|
|
|
|
'pos' holds the position of the spawning mob
|
|
'node' contains the node the mob is spawning on top of
|
|
'name' is the name of the animal/monster
|
|
|
|
|
|
MineClone 2 extensions
|
|
----------------------
|
|
|
|
mobs:spawn_child(pos, mob_type)
|
|
|
|
This function spawns a mob as a child. The parameter mob_type is the
|
|
entitystring of the new mob.
|
|
This function returns the mob on success and nil otherwise.
|
|
|
|
mobs:death_effect(pos, collisionbox)
|
|
|
|
Create death particles at pos with the given collisionbox.
|
|
|
|
|
|
Making Arrows
|
|
-------------
|
|
|
|
mobs:register_arrow(name, definition)
|
|
|
|
This function registers a arrow for mobs with the attack type shoot.
|
|
|
|
'name' is the name of the arrow
|
|
'definition' is a table with the following values:
|
|
'visual' same is in minetest.register_entity()
|
|
'visual_size' same is in minetest.register_entity()
|
|
'textures' same is in minetest.register_entity()
|
|
'velocity' the velocity of the arrow
|
|
'drop' if set to true any arrows hitting a node will drop as item
|
|
'hit_player' a function that is called when the arrow hits a player;
|
|
this function should hurt the player, the parameters are
|
|
(self, player)
|
|
'hit_mob' a function that is called when the arrow hits a mob;
|
|
this function should hurt the mob, the parameters are
|
|
(self, mob)
|
|
'hit_object' a function that is called when the arrow hits an object
|
|
that is neither a player nor a mob. this function should
|
|
hurt the object, the parameters are (self, object)
|
|
'hit_node' a function that is called when the arrow hits a node, the
|
|
parameters are (self, pos, node)
|
|
'tail' when set to 1 adds a trail or tail to mob arrows
|
|
'tail_texture' texture string used for above effect
|
|
'tail_size' has size for above texture (defaults to between 5 and 10)
|
|
'expire' contains float value for how long tail appears for
|
|
(defaults to 0.25)
|
|
'glow' has value for how brightly tail glows 1 to 10 (default is
|
|
0 for no glow)
|
|
'rotate' integer value in degrees to rotate arrow
|
|
'on_step' is a custom function when arrow is active, nil for
|
|
default.
|
|
|
|
|
|
Spawn Eggs
|
|
----------
|
|
|
|
mobs:register_egg(name, description, background, addegg, no_creative)
|
|
|
|
This function registers a spawn egg which can be used by admin to properly spawn in a mob.
|
|
|
|
'name' this is the name of your new mob to spawn e.g. "mob:sheep"
|
|
'description' the name of the new egg you are creating e.g. "Spawn Sheep"
|
|
'background' the texture displayed for the egg in inventory
|
|
'addegg' would you like an egg image in front of your texture (1 = yes,
|
|
0 = no)
|
|
'no_creative' when set to true this stops spawn egg appearing in creative
|
|
mode for destructive mobs like Dungeon Masters.
|
|
|
|
|
|
Explosion Function
|
|
------------------
|
|
|
|
mobs:boom(self, pos, radius)
|
|
'self' mob entity
|
|
'pos' centre position of explosion
|
|
'radius' radius of explosion (typically set to 3)
|
|
|
|
This function generates an explosion which removes nodes in a specific radius
|
|
and damages any entity caught inside the blast radius. Protection will limit
|
|
node destruction but not entity damage.
|
|
|
|
|
|
|
|
Feeding and Taming/Breeding
|
|
---------------------------
|
|
|
|
mobs:feed_tame(self, clicker, feed_count, breed, tame)
|
|
|
|
This function allows the mob to be fed the item inside self.follow be it apple,
|
|
wheat or whatever a set number of times and be tamed or bred as a result.
|
|
Will return true when mob is fed with item it likes.
|
|
|
|
'self' mob information
|
|
'clicker' player information
|
|
'feed_count' number of times mob must be fed to tame or breed
|
|
'breed' true or false stating if mob can be bred and a child created
|
|
afterwards
|
|
'tame' true or false stating if mob can be tamed so player can pick
|
|
them up
|
|
|
|
|
|
Riding Mobs
|
|
-----------
|
|
|
|
Mobs can now be ridden by players and the following shows its functions and
|
|
usage:
|
|
|
|
|
|
mobs:attach(self, player)
|
|
|
|
This function attaches a player to the mob so it can be ridden.
|
|
|
|
'self' mob information
|
|
'player' player information
|
|
|
|
|
|
mobs:detach(player, offset)
|
|
|
|
This function will detach the player currently riding a mob to an offset
|
|
position.
|
|
|
|
'player' player information
|
|
'offset' position table containing offset values
|
|
|
|
|
|
mobs:drive(self, move_animation, stand_animation, can_fly, dtime)
|
|
|
|
This function allows an attached player to move the mob around and animate it at
|
|
same time.
|
|
|
|
'self' mob information
|
|
'move_animation' string containing movement animation e.g. "walk"
|
|
'stand_animation' string containing standing animation e.g. "stand"
|
|
'can_fly' if true then jump and sneak controls will allow mob to fly
|
|
up and down
|
|
'dtime' tick time used inside drive function
|
|
|
|
|
|
mobs:fly(self, dtime, speed, can_shoot, arrow_entity, move_animation, stand_animation)
|
|
|
|
This function allows an attached player to fly the mob around using directional
|
|
controls.
|
|
|
|
'self' mob information
|
|
'dtime' tick time used inside fly function
|
|
'speed' speed of flight
|
|
'can_shoot' true if mob can fire arrow (sneak and left mouse button
|
|
fires)
|
|
'arrow_entity' name of arrow entity used for firing
|
|
'move_animation' string containing name of pre-defined animation e.g. "walk"
|
|
or "fly" etc.
|
|
'stand_animation' string containing name of pre-defined animation e.g.
|
|
"stand" or "blink" etc.
|
|
|
|
Note: animation names above are from the pre-defined animation lists inside mob
|
|
registry without extensions.
|
|
|
|
|
|
mobs.set_mob_animation(self, name)
|
|
|
|
This function sets the current animation for mob, defaulting to "stand" if not
|
|
found.
|
|
|
|
'self' mob information
|
|
'name' name of animation
|
|
|
|
|
|
Certain variables need to be set before using the above functions:
|
|
|
|
'self.v2' toggle switch used to define below values for the
|
|
first time
|
|
'self.max_speed_forward' max speed mob can move forward
|
|
'self.max_speed_reverse' max speed mob can move backwards
|
|
'self.accel' acceleration speed
|
|
'self.terrain_type' integer containing terrain mob can walk on
|
|
(1 = water, 2 or 3 = land)
|
|
'self.driver_attach_at' position offset for attaching player to mob
|
|
'self.driver_eye_offset' position offset for attached player view
|
|
'self.driver_scale' sets driver scale for mobs larger than {x=1, y=1}
|
|
|
|
|
|
External Settings for "minetest.conf"
|
|
------------------------------------
|
|
|
|
'enable_damage' if true monsters will attack players (default is true)
|
|
'only_peaceful_mobs' if true only animals will spawn in game (default is
|
|
false)
|
|
'mobs_disable_blood' if false, damage effects appear when mob is hit (default
|
|
is false)
|
|
'mobs_spawn_protected' if set to false then mobs will not spawn in protected
|
|
areas (default is true)
|
|
'mob_difficulty' sets difficulty level (health and hit damage
|
|
multiplied by this number), defaults to 1.0.
|
|
'mob_spawn_chance' multiplies chance of all mobs spawning and can be set
|
|
to 0.5 to have mobs spawn more or 2.0 to spawn less.
|
|
e.g. 1 in 7000 * 0.5 = 1 in 3500 so better odds of
|
|
spawning.
|
|
'mobs_spawn' if false then mobs no longer spawn without spawner or
|
|
spawn egg.
|
|
'mobs_drop_items' when false mobs no longer drop items when they die.
|
|
'mobs_griefing' when false mobs cannot break blocks when using either
|
|
pathfinding level 2, replace functions or mobs:boom
|
|
function.
|
|
|
|
Players can override the spawn chance for each mob registered by adding a line
|
|
to their minetest.conf file with a new value, the lower the value the more each
|
|
mob will spawn e.g.
|
|
|
|
mobs_animal:sheep_chance 11000
|
|
mobs_monster:sand_monster_chance 100
|
|
|
|
|
|
Rideable Horse Example Mob
|
|
--------------------------
|
|
|
|
mobs:register_mob("mob_horse:horse", {
|
|
type = "animal",
|
|
visual = "mesh",
|
|
visual_size = {x = 1.20, y = 1.20},
|
|
mesh = "mobs_horse.x",
|
|
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.25, 0.4},
|
|
animation = {
|
|
speed_normal = 15,
|
|
speed_run = 30,
|
|
stand_start = 25,
|
|
stand_end = 75,
|
|
walk_start = 75,
|
|
walk_end = 100,
|
|
run_start = 75,
|
|
run_end = 100,
|
|
},
|
|
textures = {
|
|
{"mobs_horse.png"},
|
|
{"mobs_horsepeg.png"},
|
|
{"mobs_horseara.png"}
|
|
},
|
|
fear_height = 3,
|
|
runaway = true,
|
|
fly = false,
|
|
walk_chance = 60,
|
|
view_range = 5,
|
|
follow = {"farming:wheat"},
|
|
passive = true,
|
|
hp_min = 12,
|
|
hp_max = 16,
|
|
armor = 200,
|
|
lava_damage = 5,
|
|
fall_damage = 5,
|
|
water_damage = 1,
|
|
makes_footstep_sound = true,
|
|
drops = {
|
|
{name = "mobs:meat_raw", chance = 1, min = 2, max = 3}
|
|
},
|
|
sounds = {
|
|
random = "horse_neigh.ogg",
|
|
damage = "horse_whinney.ogg",
|
|
},
|
|
|
|
do_custom = function(self, dtime)
|
|
|
|
-- set needed values if not already present
|
|
if not self.v2 then
|
|
self.v2 = 0
|
|
self.max_speed_forward = 6
|
|
self.max_speed_reverse = 2
|
|
self.accel = 6
|
|
self.terrain_type = 3
|
|
self.driver_attach_at = {x = 0, y = 20, z = -2}
|
|
self.driver_eye_offset = {x = 0, y = 3, z = 0}
|
|
self.driver_scale = {x = 1, y = 1}
|
|
end
|
|
|
|
-- if driver present allow control of horse
|
|
if self.driver then
|
|
|
|
mobs.drive(self, "walk", "stand", false, dtime)
|
|
|
|
return false -- skip rest of mob functions
|
|
end
|
|
|
|
return true
|
|
end,
|
|
|
|
on_die = function(self, pos)
|
|
|
|
-- drop saddle when horse is killed while riding
|
|
-- also detach from horse properly
|
|
if self.driver then
|
|
minetest.add_item(pos, "mobs:saddle")
|
|
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
|
|
end
|
|
|
|
end,
|
|
|
|
on_rightclick = function(self, clicker)
|
|
|
|
-- make sure player is clicking
|
|
if not clicker or not clicker:is_player() then
|
|
return
|
|
end
|
|
|
|
-- feed, tame or heal horse
|
|
if mobs:feed_tame(self, clicker, 10, true, true) then
|
|
return
|
|
end
|
|
|
|
-- make sure tamed horse is being clicked by owner only
|
|
if self.tamed and self.owner == clicker:get_player_name() then
|
|
|
|
local inv = clicker:get_inventory()
|
|
|
|
-- detatch player already riding horse
|
|
if self.driver and clicker == self.driver then
|
|
|
|
mobs.detach(clicker, {x = 1, y = 0, z = 1})
|
|
|
|
-- add saddle back to inventory
|
|
if inv:room_for_item("main", "mobs:saddle") then
|
|
inv:add_item("main", "mobs:saddle")
|
|
else
|
|
minetest.add_item(clicker.get_pos(), "mobs:saddle")
|
|
end
|
|
|
|
-- attach player to horse
|
|
elseif not self.driver
|
|
and clicker:get_wielded_item():get_name() == "mobs:saddle" then
|
|
|
|
self.object:set_properties({stepheight = 1.1})
|
|
mobs.attach(self, clicker)
|
|
|
|
-- take saddle from inventory
|
|
inv:remove_item("main", "mobs:saddle")
|
|
end
|
|
end
|
|
end
|
|
})
|