mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-12-29 19:39:34 +01:00
a6ac6f5c76
commitcd47233798
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 22:02:20 2021 -0400 Fix rabbit rotation commit0f4628db09
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 commitddb33acf0d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:46:45 2021 -0400 Add in unused head code elements commite52aab45c0
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 20:23:46 2021 -0400 Implement no-op head operations for enderman commitac85230938
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 commitf57c4709ac
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 commitb6c9a1c423
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 19:51:11 2021 -0400 Fix creeper head commita8152760b9
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 commit6a38198e97
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 commitd28e81bc9f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:54:14 2021 -0400 Add in mobs look pitch commit5a2773ea1a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 17:48:41 2021 -0400 Add in basics of head code yaw commit555935ff3d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 16:43:23 2021 -0400 Implement basic fall damage commit7e3b69348e
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 commitc898e1e4db
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 15:59:00 2021 -0400 Update sheep.lua commit9b5c9dc8ae
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 commit5e6653ff65
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:19:02 2021 -0400 Implement mob cramming commit1616cb7538
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 04:09:35 2021 -0400 Fix nametags commita3ff108cd4
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 commitdf364eed28
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 commitbac191293b
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 commitb7c7c2627b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:44:46 2021 -0400 Fix parrots not drowning commit38c22f277d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:24:19 2021 -0400 Add pop sound when baby mob is born commitf83ccdb2ed
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 01:22:43 2021 -0400 Add in breeding and feeding baby mob sounds commit7733e05a12
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 commit0a380265c8
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 commit8d3eff0c16
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 25 00:06:12 2021 -0400 Enable mob drowning commit56086bf02b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 23:33:46 2021 -0400 Fix villager commit079811984c
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 commit7e8e63b0e3
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 commit49b01dca4f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:28:26 2021 -0400 Make mobs drop xp on death commit3d5cceab76
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 22:21:58 2021 -0400 Fix ghast strange behavior in the nether commita73e5b57c0
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 commitb401b50c04
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 commit807fb6966d
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 commit11b5684a90
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 commit41bfaae370
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 commit8c855f5b09
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 19:29:37 2021 -0400 Add in llama carpets commite0185a9311
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:43:17 2021 -0400 Fix pig logic issue commitc2cb15a47f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:36:22 2021 -0400 Fix horse breeding commit39f7d0cf3c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:18:53 2021 -0400 Update api.txt commit3e9bbca914
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 18:06:24 2021 -0400 Fix enderman crashing commit81713a342d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:38:50 2021 -0400 Allow tamed wolves to be shift click bred commita27e6731cd
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:29:30 2021 -0400 Make sheep breedable commitefce97c172
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:27:17 2021 -0400 Make llamas shift click breedable commit53c96cae2d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:26:45 2021 -0400 Make pigs shift click breedable commitdbe712bc17
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:23:33 2021 -0400 Make llama breedable commit0d4d85bac6
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:19:41 2021 -0400 Fix horse literally blinding you following you commit6f2e2ab4c5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:22 2021 -0400 Make chicken breedable commit3649e5f6f5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:17:09 2021 -0400 Make horse breedable commit2dab0773df
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 24 00:00:21 2021 -0400 Remove unused breedable api call commit0568c14a43
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:59:35 2021 -0400 Fix timer and make mooshroom breedable commit531253008a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 23:56:59 2021 -0400 Complete mob breeding, make cows breedable commit79cb6ddc49
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:35:35 2021 -0400 Fix lua locals in environment.lua commit6eb3eef215
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:34:40 2021 -0400 Fix typo in function commitc37a82d4a2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 22:03:29 2021 -0400 Add comments commited9d629b99
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:59:42 2021 -0400 Add in mob following for cows commitfcfd6b9d19
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 21:14:23 2021 -0400 Set up basics for breeding mechanics commit5ee6cf6c9b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 19:49:35 2021 -0400 Implement mob despawner/mob limiter commit19c8dd1dd4
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 commit31ded5e40f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:34:20 2021 -0400 Re-implement neutral mob switch commit13c321e8f2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 18:03:01 2021 -0400 Re-enable mob spawning commitea6912c980
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 commit8dafac50a8
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:37:20 2021 -0400 Make mobs run away slightly faster commit3560bda4a5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:29:23 2021 -0400 Remove unused code and variables from mob punch commit9720986c4d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:27:08 2021 -0400 Fix punching a mob breaking it's velocity commitdc7592528c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:23:00 2021 -0400 Add red tint hurt effect commit304cbed447
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 17:12:02 2021 -0400 Make mobs that should be skittish, skittish commitaf4c42fea7
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 commit8daf197fb8
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:52:07 2021 -0400 Fix iron golem rotation commitc138050e0b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:45:12 2021 -0400 Make iron golem neutral and protective, fix rotation commit36d5af1d15
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 commit73b4d3c1d2
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 commiteb7ae5e10e
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:28:30 2021 -0400 Fix random crash commitc831da2c02
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 commitd5a38fef58
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:19:37 2021 -0400 Add in new mob punched sounds commit8e7ce5a72a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 16:04:01 2021 -0400 Add in a visual for horse taming (hearts) commit189c0ad157
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 15:53:01 2021 -0400 Half finish horse (riding logic, etc) commitf64f8e31e3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:50:38 2021 -0400 Fix llama blaze and ghast projectile sprites commit58bee2a2dd
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:43:00 2021 -0400 Fix projectile tails clipping through sprite commit16cc7e37d2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:34:59 2021 -0400 Randomize projectile cooldown timer commit8eb9ba12ce
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 14:33:40 2021 -0400 Fix crash when mob collides with nil entity commit5d59583583
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 commitf6fa90096d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:35:30 2021 -0400 Fix enderman teleport attack commit4fb9e69e41
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 commit99f13f84b5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:13:23 2021 -0400 Half-fix enderman commitdd76b15c50
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:57 2021 -0400 Make ghasts not insta-kill commitb6f19699e9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 13:06:17 2021 -0400 Make enderdragon half work commit4efec1ef58
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 23 12:55:11 2021 -0400 Add in chicken slow falling commit0895666407
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 commit408296140a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 23:30:32 2021 -0400 Fix and overhaul wolves commitaac1e19336
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 commitfa059b5df2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:59:03 2021 -0400 Fix ghast's eyeheight commit2e3e92e393
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:58:32 2021 -0400 Fix ghast's insane difficulty commit11bcf3aa34
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:51:13 2021 -0400 Add attributes to epCode commit2099be43ea
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 commit5037ec3736
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:40:16 2021 -0400 Fix ghasts horrible collisionbox commit0a8fff6524
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 22:08:54 2021 -0400 Add in mob criticals when falling commitafdcada1fd
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:46:13 2021 -0400 Fix endermite commit5d876725c5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:45:00 2021 -0400 Fix bats commitef0d52a2df
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:41:54 2021 -0400 Update backup_code_api.lua commit8142f7e512
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:36:42 2021 -0400 Add in mob death commitebf27866ca
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 21:12:08 2021 -0400 Fix typo and error in animation.lua commit3fe8d2d3c5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:30:50 2021 -0400 Add file death_logic.lua commitb73ab976a1
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:25:58 2021 -0400 Implement framework for mob death commit8530e6ee36
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:20:56 2021 -0400 Make mob punching time based commite1812b2cdb
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:12:02 2021 -0400 Reset pause timer to 0 commit991bba0a1d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:10:01 2021 -0400 Add comments into ai.lua commitf9a7144b65
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 20:07:30 2021 -0400 Implement ability to hurt mobs commit45790c0be0
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 19:12:02 2021 -0400 Re-enable mob punching (broken) commit31a791c33b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 18:20:58 2021 -0400 Undo debug.txt spam from mob spawning commitd0d128c1d8
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 commitee905642c2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 17:56:38 2021 -0400 Add temporary warning debug to spawning algorithm output commit2cef9e7cca
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 commitedb1939649
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:27:35 2021 -0400 Fix mob_counter in mob spawning limiter commit7c1adeab45
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 22 00:20:57 2021 -0400 Hyper-optimize mob spawning commitfbe3ccc5c0
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:28:38 2021 -0400 Delete current state of things comment commit5e15af260b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:19 2021 -0400 Fix pig rotation commit6aa6364492
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 23:25:10 2021 -0400 Fix sheep rotation commit29305f548d
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 commit08c90c34e8
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 commit91099c3be9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 13:01:14 2021 -0400 Fix auto-true statement for tilt fly/swim commit71c34823bc
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:56:36 2021 -0400 Make tilt flying/swimming dynamic commit20886f54bb
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:48:23 2021 -0400 Make shooty mobs jump commitebd995fbd2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:45:02 2021 -0400 Simplify skeleton arrow damage calculation commitc9f71d66f5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:42:34 2021 -0400 Implement skeletons/strays commit99e808296b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 12:17:51 2021 -0400 Add missing skeleton/stray run animation commit74094938bb
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 commit6bd279255c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:50:22 2021 -0400 Fully implement zombie pigmen commit964ce9ccf7
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 11:42:01 2021 -0400 Temporarily disable spawn eggs from setting owner commit5062d56a5d
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 commitb0b1ec9436
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 commitf1dc286442
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 commitcc2a0ae52c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:21:11 2021 -0400 Complete charged creeper commit486959515c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 21 10:20:31 2021 -0400 Make creepers even more dangerous commit576621169b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:26:18 2021 -0400 Make creepers and zombies even harder commit2c87bd19f3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:14:53 2021 -0400 Overhaul zombie villager commit1ed3377559
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 23:11:18 2021 -0400 Add punch mobs knockback to players when hit commit8c9356a18c
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 commita05ebd7cc2
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:44:34 2021 -0400 Add informative text art commit60ac3058ce
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:42:51 2021 -0400 Make zombies more difficult commit751c4c2d99
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:41:13 2021 -0400 Integrate mob punching into collision detection commit6b52b94516
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:30:34 2021 -0400 Start setting up hostile punch attack type commitd371d6fdc9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 22:04:54 2021 -0400 Adjust creeper explosion settings commitfabd4d64e6
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 21:35:19 2021 -0400 Slow down creeper type mobs explosion buildup commitbf367fffd0
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 commit0b763f54b5
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 commitcd6f07537f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:43:45 2021 -0400 Make creepers even more deadly commit9678b556e1
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 commitcdb840609d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 20:19:55 2021 -0400 Add in creeper basic prototype commit008d670ed9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 17:10:51 2021 -0400 Remove wandering from ai commit491ef6c8f8
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 commit348df0fcec
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 commitac08c6991c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 16:39:05 2021 -0400 Add in detect_players_in_area commit3d776138e9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 20 14:55:22 2021 -0400 Start implementing creeper ai commit85e531bf10
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:24:31 2021 -0400 Remove unneeded mobs:protect from code commit4d589dfb2a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:39 2021 -0400 Remove literally unneeded mobs:capture_mob commit39985aa558
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 18 21:22:21 2021 -0400 Up fallback max xp to 3 commit1920ddf915
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 commit719bb2a3c9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 18:21:33 2021 -0400 Add in prototype jump-only mobs api commitdb87b8e0a3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:09:57 2021 -0400 fix chicken rotation commite2987245fd
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 17:00:34 2021 -0400 Balance out collision forces for mobs commit3cf263d292
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 16:23:38 2021 -0400 Add in dynamic pitch in flying/swimming mobs commit5ade34115c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:17:29 2021 -0400 Remove random state initialization in set_up.lua commitd9729fc865
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:13:45 2021 -0400 Fix parrot's rotation commit58d9670e77
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 commita20f272e08
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 commit0794bc5437
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 13:04:55 2021 -0400 Make flying mobs float in water and lava commit8783912938
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:48:57 2021 -0400 Add in mobs api swimming animation commitf2e909ab8d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:41:14 2021 -0400 Add in fly logic gate commit07841c8963
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 commit240d6ea211
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 commite8148f81ab
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 commit061602d9d4
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 commit5365dec19a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sat Apr 17 12:01:27 2021 -0400 Adjust "flying" vector checks for mobs commitdda7839d8c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:43:02 2021 -0400 Add in prototype swimming commitf1141aed9f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 21:08:54 2021 -0400 Make mobs flop when outside of flying node commit84ca7681fc
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 commit52c3db041e
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:32:05 2021 -0400 Add in fly state prep for mobs commit6db4511dd5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 20:06:55 2021 -0400 Add notes commit15ea9c1c71
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:59:20 2021 -0400 Implement self walking velocity for walking state commit9d6d042ee3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:37:01 2021 -0400 Fix formatting in ai.lua commitce7f4918b0
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 19:35:19 2021 -0400 Re-organize comments commit05d06a4c8f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:36:23 2021 -0400 Add comment to state_execution commitc761db86c7
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:29:42 2021 -0400 re-arrange mob logic for random wandering commited456ecb47
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 commit8ca5f221ec
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 18:13:54 2021 -0400 clean up ai.lua commitcadd53c103
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 commit57b293de2b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 16:37:15 2021 -0400 Make mobs gravity equal to player's commitfb9a55e562
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 commita6a54b3414
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:49:03 2021 -0400 Make mobs not jump if against a wall commit6c5393427f
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 commit2486ffef11
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 15:30:44 2021 -0400 Make wandering mobs avoid cliffs commitadc683c6a7
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 14:19:22 2021 -0400 Clear mob animation on activate commitd0695e7929
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 13:58:08 2021 -0400 Fix mob animation "memory leak" commit024cf46307
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:52:29 2021 -0400 Adjust spacing in animation.lua commitf38492bcb0
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:29 2021 -0400 Re-implement animation check gate for mobs commita934a59f3b
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:50:13 2021 -0400 Implement mob random walk directions commit94ca7e8b89
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 commit626c30de6d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 16 11:30:55 2021 -0400 Create todo.txt commitc2bac87a6d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 21:46:33 2021 -0400 Update set_up.lua commit375d683d08
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 16:18:42 2021 -0400 Fix forgotten localization in collision.lua commit246bdf9707
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:55:10 2021 -0400 Implement basic mob walking animation test commitd07d0ae31c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:34:07 2021 -0400 Make mobs jump properly commit6cb6d714c9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 15:04:55 2021 -0400 Reorganize all mob sections into multiple files commit5155d12d05
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 commitbbcfb3fdb1
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:33:09 2021 -0400 Randomize walking or standing on spawn in commit9e4bf6e130
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 commite53a193c4f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:25:55 2021 -0400 Fix get_velocity (mobs internal) commit14207dd96a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 11:23:52 2021 -0400 Smooth out mob movement set_velocity more commita0ed1a0b20
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 10:05:24 2021 -0400 Add automatic rotation lock commitba46e7fa42
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:58 2021 -0400 Remove old debug of colliding with objects commit61124905f3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 15 09:28:22 2021 -0400 Add in mob auto rotation (implementation 1) commit8b200c7352
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 19:38:14 2021 -0400 Add in basic movement rotation testing commit67259891a8
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 18:01:29 2021 -0400 Remove unneeded comments commitd063db751c
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 commitd4db27f0e1
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 17:25:39 2021 -0400 Update backup_code_api.lua commit755533beeb
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 14 11:50:22 2021 -0400 Disable literally everything in mobs api commit3f6312a631
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:24:46 2021 -0400 Make mobs magnetic collision more jello-y commitaa4d34c10e
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 20:00:38 2021 -0400 Improve mob to mob collision commit1210bc463a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:44:24 2021 -0400 prevent mob collision detection shootout commited60266713
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:17:48 2021 -0400 Gut even more elements of the api commit220d30df5f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 19:13:29 2021 -0400 Completely gut do_states commit9758bbf2e7
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:21:04 2021 -0400 Finish gutting mob api commitf29ad4b8b7
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:20:11 2021 -0400 Reorganize more settings to the top of file commit54f5bee8a3
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Tue Apr 13 08:08:29 2021 -0400 reorganize load settings commit02515f0778
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 commit3fc0184182
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 commit6fff719322
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:47:07 2021 -0400 Localize minetest library commitadaf74fc5c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:13:11 2021 -0400 Remove spacing and delete old collision comments commita564009e4a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Mon Apr 12 08:11:55 2021 -0400 Change HORNY_TIMER to BREED_TIMER commit00759da39d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 18:29:32 2021 -0400 Unlimit mob ai commit9aafc28a20
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 14:47:56 2021 -0400 Fix mobs nil check during mob_step commit67c40885ef
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 commit2456e3cd1e
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Sun Apr 11 12:52:31 2021 -0400 Adjust math localizations in api.lua commit725dc731dd
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 commite15fd2f4b6
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Fri Apr 9 01:38:34 2021 -0400 Add lua locals into mcl_dungeons for performance commitc937b2a973
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 14:19:42 2021 -0400 test commit8c10fe4057
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:48:02 2021 -0400 Adjust spawning to be closer and more frequent commitbd7866d798
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 12:07:20 2021 -0400 Finish mob limiter commit9369c9cab8
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:01:15 2021 -0400 Fix spawn timer reset debug commit28823298e1
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 10:00:04 2021 -0400 Fix forgotten biome check commit9d48549ec5
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 09:52:50 2021 -0400 Complete prototype of biome generated mobs commit518252679f
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:42:57 2021 -0400 Fix a lot of things commitbb078b0c4c
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:33:50 2021 -0400 Fix silverfish typo commitadab48ff0c
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 commit47c59edb51
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:13:46 2021 -0400 Fix typo commit5ca30fa8ee
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:12:43 2021 -0400 Combine air and ground type spawning into ground commitaacb8fc7b9
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 08:09:43 2021 -0400 Add in extra_mobs information commitf900b24b53
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 07:39:18 2021 -0400 Add in all biome information to mobs commit0ad833c046
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:57:24 2021 -0400 Add bats, chicken, and blaze spawn info commitf4a6bdc6b8
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:48:25 2021 -0400 Make reference list copy-pastable commitbf4bf9a0cc
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:10:07 2021 -0400 Ignore default or void dimensions commit8e1e02d1fb
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 06:04:36 2021 -0400 Add biome list commitda045c207d
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 8 02:07:15 2021 -0400 Refactor spawning into it's own file commit6ec66ef6f6
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:16:03 2021 -0400 Fix mobs colliding with other mobs/players commit6bd249547a
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Wed Apr 7 23:07:04 2021 -0400 Fix mobs colliding with objects commitc4d030d111
Author: jordan4ibanez <jordan4ibanez@users.noreply.github.com> Date: Thu Apr 1 23:48:00 2021 -0400 Fix item drop on laggy servers
758 lines
33 KiB
Text
758 lines
33 KiB
Text
|
|
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
|
|
})
|