Multiple player models | avatar command#2641
Multiple player models | avatar command#2641tillpp wants to merge 10 commits intoPixelGuys:masterfrom
Conversation
saving player entityType
|
I think this PR relates to the last point on #88 "models", which would make this PR technically High priority |
|
I think it'd be nice if you included Carrie's Cubert model (when it's done, of course) |
|
isnt it?? |
| rot: Vec3f, | ||
| }; | ||
|
|
||
| pub const ClientEntityType = struct { |
There was a problem hiding this comment.
This is not an entity type, this is and entity model. These are different things. Entity types will have different models (e.g. maybe there are 3 variants with different textures and maybe slightly different models for one common entity type)
There was a problem hiding this comment.
yeah already renamed it into EntityModel in my most recent PR draft.
and made it that EntityModel,texture and type are seperate
At this point i rewritten so much of the code, that i ask myself if there is even a point doing this inbetween PR
| @@ -0,0 +1,312 @@ | |||
| # Blender v3.0.1 OBJ File: 'pig.blend' | |||
There was a problem hiding this comment.
Please remove the pig, I don't think we want pigs at this point. (and honestly it's terrible in its current state)
Instead I'd suggest to add carrie's moffalo model + texture.
There was a problem hiding this comment.
onestly it's terrible
:( ouch, i modelled this myself.
but also ment as programmer art, i can use to build and test other things around it (like pathfinding system).
I can remove it, but i dont have access to @careeoki s moffalo model + texture
There was a problem hiding this comment.
I can make a PR with the moffalo assets, though I'm not totally happy with how that model looks anymore.
that would be wonderful, so i have something to test pathfinding and other mob related stuff with.
And we can replace it in the future. (I think you moffalos look good btw)
| vn 0.0000 -1.0000 0.0000 | ||
| vn 1.0000 0.0000 0.0000 | ||
| vn 0.0000 0.0000 -1.0000 | ||
| usemtl Material |
There was a problem hiding this comment.
Please remove the material stuff, we can't parse that anyways plus it's referencing files that don't exist, which may make it harder to open it again in an editor.
There was a problem hiding this comment.
again these are not entities, these describe entity models.
| @@ -0,0 +1 @@ | |||
| .{.model = "cubyz:entity/missing", .texture = "missing.png", .height = 1} | |||
There was a problem hiding this comment.
Please split it onto multiple lines.
|
Cubert is ready: pull |
There was a problem hiding this comment.
So the whole reason that snale exists and why this snail was replaced is that the snail is smaller than one block, while the player's hitbox is 2 blocks tall. And then all of the problems that come from that, especially in multiplayer.
I know we've talked about this before, but I don't remember ever coming to a conclusion. Obviously players can do whatever they want when they can create their own models, but do we want to provide tiny player models like this by default?
There was a problem hiding this comment.
I think that some of the models of the /avatar command can forbidden with the permission system, only allowed for admins.
And speaking of physics, if there are issues with small hitboxes, they have to be fixed, regardless if the player is able to have them as a model, because we are probably going to have one block big animals
There was a problem hiding this comment.
The problems weren't physics, just "fairness"
if you're small you can hide easier, are harder to hit, etcetera
There was a problem hiding this comment.
ah ok, but for creative mode or server owner i think it's ok?
Cubert model
|
Just asking for clarification/curiosity, where exactly does a player's avatar get saved? Is it per world? And furthermore how does this tie into addons? |
yes per world. Maybe in the distant future when custom character exist, they will be per client. But for now at least they are per world.
Addons can create their own entityModels, and you can then select them. (if you got the right permission)
This PR is actually a bit out of date. |
Perhaps this is a bit selfish of me to say but I do think I prefer it that way. Makes it easier to have a "Thematically" fitting character for your world(s) without having to switch out each time. Also I imagine that makes it easier to work with World-Based vs Global addons (For example, you set your client avatar to one that only exists in a specific world/server. Solveable with a fallback, sure, but an edge case nonetheless) |
|
REPLACED BY: #2865 |

Let's you pick which character you want to play as:
/avatar cubyz:snaleand you are a snale/avatar cubyz:snailand you are a snail/avatar cubyz:pigand you are a pig/avatar ...And with AddOns you can add even more.
I also see this is a stepping stone towards Mobs:
entities know carry their entityType. I.e, not every Entity is a player model anymore.