[Mod] Mobs Redo [1.63] [mobs]
- Blockhead
- Moderator
- Posts: 2990
- Joined: Wed Jul 17, 2019 10:14
- GitHub: Montandalar
- IRC: Blockhead256
- In-game: Blockhead Blockhead256
- Location: Land Down Under
- Contact:
Re: [Mod] Mobs Redo [1.62] [mobs]
This may have to do with Goblins or it the issue may (less likely) be in Mobs Redo itself.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂
Re: [Mod] Mobs Redo [1.62] [mobs]
I should say that I wasn't doing anything at the time. I was in my inventory when the game crashed.
Re: [Mod] Mobs Redo [1.62] [mobs]
@Don - It seems that something punched a mob and was removed before on_punch could register it, so I've updated the mob api to check for a hitter before doing anything :)
Re: [Mod] Mobs Redo [1.62] [mobs]
Hello, I have a question, maybe I didn't see it, but is it possible to hide that hud that shows the mob's name on specific mobs and not on all of them?
🎮 Mods 🎮🦆✝️
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: [Mod] Mobs Redo [1.62] [mobs]
I don't think so, I then modified the mobs api itself to do that.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
Re: [Mod] Mobs Redo [1.62] [mobs]
@duckgo - If mobs have a nametag set then it will be shown.
Re: [Mod] Mobs Redo [1.62] [mobs]
I'm actually talking about that HUD that when pointing to the mob, shows some information, for example, the owner's name :)
🎮 Mods 🎮🦆✝️
Re: [Mod] Mobs Redo [1.62] [mobs]
@duckgo - I would consider that useful information, especially when taming and picking up tamed mobs, but I could add a switch to disable it.
Re: Update:
wow, thank you, this will be very useful for untamable monsters, I'm very grateful, thank you :)
🎮 Mods 🎮🦆✝️
- MirceaKitsune
- Member
- Posts: 997
- Joined: Sat May 21, 2011 22:31
- GitHub: MirceaKitsune
- IRC: Taoki
- In-game: MirceaKitsune
- Location: Romania, Bucharest
Re: [Mod] Mobs Redo [1.62] [mobs]
I took a look at the latest API and scripts, curious if it may work for an idea I had. There are a few things I had on my mind after seeing it, especially as someone who's a bit (too?) obsessed with efficiency and cleanness in code. Hence I even noticed there's a lot of new lines in places that feel random, which makes it harder to scroll through and read all the functions. Would like to make some suggestions if that's okay, hoping at least some are possible to improve or simplify to any extent.
I get the impression the API has gotten very complex... not only due to features which makes sense, but a mixture of deprecated parts and using more parameters than necessary to describe the same things. For example: There are two parameters for jumping documented, a boolean "jump" and a float "jump_height"... why not have only the jump speed and disable jumping if it's 0? There's also variables for water / lava / air damage... why not one customizable list of nodes / groups the mob takes damage in, which would help if a game uses custom liquid types or other non-solid nodes like plants?
Of course changing this now may break existing mods, so my suggestion would be: Create a new deprecated.lua script, included by default but easy to remove by games who don't need it. Add to it any aliases for functions that were renamed, as well as helpers to scan mob definitions and change parameters accordingly. For example: If you decided to unify the jump variables, it detects the presence of "jump = false" removes it and adds "jump_speed = 0" instead... if damage nodes become customizable, replace "water_damage = 4" with "damage_groups = {water: 4}" or whatever the new field would be.
What concerns me otherwise is there are several items or references to default game nodes in the API, despite those things usually being defined by mobs themselves: This might make it problematic to use Mobs Redo in a custom game with different nodes or mob roles. Most obvious are the lasso and net; What if a custom game doesn't want those items used and registered, or wants their own capture items like a cage instead... why not move such tools to their respective mods (eg: Animals) and run them through a generic function for defining capture items in the API?
Speaking of unique roles: Are the 3 categories NPC / monster / animal necessary? Can't the different behaviors they refer to be split into respective parameters, with the deprecation function I suggested recreating them for existing mods? It may be unclear which is best for what, especially if you want something different from the classic Minecraft roles they're based on. Like if someone wants to add a robot mob that does various tasks and may attack various targets... is that more of an NPC, a monster, an animal?
I noticed there's also a case for handling interactions with Creatura mobs: As much as I like it too as an alternative to Mobs Redo, why would a server run two mob systems simultaneously and need them to interact, instead of picking one and porting any creatures they like to it? If this is important and anyone's actually using it, I wonder if it too can be moved to a separate script.
I get the impression the API has gotten very complex... not only due to features which makes sense, but a mixture of deprecated parts and using more parameters than necessary to describe the same things. For example: There are two parameters for jumping documented, a boolean "jump" and a float "jump_height"... why not have only the jump speed and disable jumping if it's 0? There's also variables for water / lava / air damage... why not one customizable list of nodes / groups the mob takes damage in, which would help if a game uses custom liquid types or other non-solid nodes like plants?
Of course changing this now may break existing mods, so my suggestion would be: Create a new deprecated.lua script, included by default but easy to remove by games who don't need it. Add to it any aliases for functions that were renamed, as well as helpers to scan mob definitions and change parameters accordingly. For example: If you decided to unify the jump variables, it detects the presence of "jump = false" removes it and adds "jump_speed = 0" instead... if damage nodes become customizable, replace "water_damage = 4" with "damage_groups = {water: 4}" or whatever the new field would be.
What concerns me otherwise is there are several items or references to default game nodes in the API, despite those things usually being defined by mobs themselves: This might make it problematic to use Mobs Redo in a custom game with different nodes or mob roles. Most obvious are the lasso and net; What if a custom game doesn't want those items used and registered, or wants their own capture items like a cage instead... why not move such tools to their respective mods (eg: Animals) and run them through a generic function for defining capture items in the API?
Speaking of unique roles: Are the 3 categories NPC / monster / animal necessary? Can't the different behaviors they refer to be split into respective parameters, with the deprecation function I suggested recreating them for existing mods? It may be unclear which is best for what, especially if you want something different from the classic Minecraft roles they're based on. Like if someone wants to add a robot mob that does various tasks and may attack various targets... is that more of an NPC, a monster, an animal?
I noticed there's also a case for handling interactions with Creatura mobs: As much as I like it too as an alternative to Mobs Redo, why would a server run two mob systems simultaneously and need them to interact, instead of picking one and porting any creatures they like to it? If this is important and anyone's actually using it, I wonder if it too can be moved to a separate script.
Re: [Mod] Mobs Redo [1.62] [mobs]
@MirceaKitsune - I would love to be able to simplify settings for mobs and the api but at the same time keep compatibility where needed, and yes maybe once a mob is registered it calls a mobs.compatibility_check(self) function to fill in the blanks or replace old values with newer ones for the api to work with which is a lot tidier :)
I will add one to play with that can be added to through 3rd party mods as well to see how easily things can be changed.
I will add one to play with that can be added to through 3rd party mods as well to see how easily things can be changed.
Update:
- Deprecate self.jump, use self.jump_height value with 0 to disable [defaults to 4].
- Added mobs.compatibility_check(self) function to check for older settings on mob register.
- Added mobs.compatibility_check(self) function to check for older settings on mob register.
- MirceaKitsune
- Member
- Posts: 997
- Joined: Sat May 21, 2011 22:31
- GitHub: MirceaKitsune
- IRC: Taoki
- In-game: MirceaKitsune
- Location: Romania, Bucharest
Re: [Mod] Mobs Redo [1.62] [mobs]
Wonderful, thank you for looking into it so fast! Hope it wasn't too much and the other points can be taken care of in time. Especially moving items hardcoded in the API to mob mods so they can fully customize those... maybe things like capture projectiles (eg: net arrows) can also be doable then?
Initially I wanted to ask if an idea I had is viable, how much is built into the API or would need to be done by the mod. Namely if mobs can be given an inventory, the ability to mine nodes and put them in it, optionally using tools that show in the mob's hand and influence their work speed while wearing out like for players. I plan on having mobs use workbenches and furnaces to craft things, taking stuff in and out of chests, etc... should be able to code that in my version of the nodes if this idea ever got there. I know Enderman (and our Mineclone equivalent) can pick up and drop blocks, but presume there's no mob inventory or mining capability that accounts for mob skills or tools it carries.
I presume the player being able to give commands to mobs is easy to script. Like ordering a friendly mob to go to a location, attack another player / mob, or dig / place / use nodes once I'd figure out the best way for that.
Initially I wanted to ask if an idea I had is viable, how much is built into the API or would need to be done by the mod. Namely if mobs can be given an inventory, the ability to mine nodes and put them in it, optionally using tools that show in the mob's hand and influence their work speed while wearing out like for players. I plan on having mobs use workbenches and furnaces to craft things, taking stuff in and out of chests, etc... should be able to code that in my version of the nodes if this idea ever got there. I know Enderman (and our Mineclone equivalent) can pick up and drop blocks, but presume there's no mob inventory or mining capability that accounts for mob skills or tools it carries.
I presume the player being able to give commands to mobs is easy to script. Like ordering a friendly mob to go to a location, attack another player / mob, or dig / place / use nodes once I'd figure out the best way for that.
Re: [Mod] Mobs Redo [1.62] [mobs]
@MiceaKitsune - You would use the do_custom function for most of that including handling of inventories in a self.mob_inventory table and using the mob_class:go_to() function to move them around, mob_class:yaw_to_pos() to have them face a direction and the usual animation to mine and collect what's nearby.
There was an older mod that had mobs redo NPC's being controlled to build schematic buildings that was pretty interesting which may come in handy: https://git.icynet.eu/evert/npcbuildqueue
There was an older mod that had mobs redo NPC's being controlled to build schematic buildings that was pretty interesting which may come in handy: https://git.icynet.eu/evert/npcbuildqueue
Update:
- Added particle images for api use (thx Wuzzy for heads up :)
- Change 'floats' setting to use boolean rather than numbers.
- Update api.txt file.
- Move deprecated functions from api to compatibility.lua
- Add self nil check and use tnt or mcl_explosions mod in tnt boom.
- Tidy source comments.
- Change 'floats' setting to use boolean rather than numbers.
- Update api.txt file.
- Move deprecated functions from api to compatibility.lua
- Add self nil check and use tnt or mcl_explosions mod in tnt boom.
- Tidy source comments.
- MirceaKitsune
- Member
- Posts: 997
- Joined: Sat May 21, 2011 22:31
- GitHub: MirceaKitsune
- IRC: Taoki
- In-game: MirceaKitsune
- Location: Romania, Bucharest
Re: [Mod] Mobs Redo [1.62] [mobs]
I have a curiosity. Suppose someone wanted to create mobs with smooth non-blocky models, which obviously have a lot more vertices: Does the engine currently offer any possibility to have distance based LOD?
The API could let you set multiple LOD meshes for a mob, changing which is used on the entity in realtime. Only problem is you can't customize it per player... you can now use observers to make an object visible to different viewers, but not to change which mesh only someone sees. As such you'd need to scan for the nearest player and change the model for everyone based on that, which doesn't seem like a good approach at all.
The API could let you set multiple LOD meshes for a mob, changing which is used on the entity in realtime. Only problem is you can't customize it per player... you can now use observers to make an object visible to different viewers, but not to change which mesh only someone sees. As such you'd need to scan for the nearest player and change the model for everyone based on that, which doesn't seem like a good approach at all.
Re: [Mod] Mobs Redo [1.62] [mobs]
@MirceaKitsune - It would be handy indeed if we could adjust models and textures per client depending on distance observed, this would make for a good performance test and model optimization tutorial.
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: [Mod] Mobs Redo [1.62] [mobs]
Suggestion: mobs shouldn't make hurt sound/env damage particles when taking negative healing damage, as well as shouldn't have the damage texture modifier appear when healing with food.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
Re: [Mod] Mobs Redo [1.62] [mobs]
@Nininik - The damage sound, blood particles and damage texture modifier do only appear when damage is above 1, the env_damage particles I kept as they show healing as well as damage, but if enough players ask I'll change it.
- Nininik
- Member
- Posts: 955
- Joined: Thu Apr 06, 2023 01:55
- GitHub: nininik0
- IRC: nininik
- In-game: nininik
- Location: CA, Team thunderstrike headquarters
- Contact:
Re: [Mod] Mobs Redo [1.62] [mobs]
Idk my mob still does hurt sounds when in a healing block
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯
↯T.T.S.↯
Re: [Mod] Mobs Redo [1.62] [mobs]
@Nininik - Which mob so I can test ?
Who is online
Users browsing this forum: No registered users and 0 guests
