Skip to content

EntityComponentSystem | Summon command#2652

Draft
tillpp wants to merge 134 commits intoPixelGuys:masterfrom
tillpp:summon-command
Draft

EntityComponentSystem | Summon command#2652
tillpp wants to merge 134 commits intoPixelGuys:masterfrom
tillpp:summon-command

Conversation

@tillpp
Copy link
Copy Markdown
Contributor

@tillpp tillpp commented Mar 3, 2026

continuation of #2641
This is just a Draft, don't review yet!
Once i am done, i am going to split this PR into many smaller reviewable PRs

credit for the cubert and moffalo model: @careeoki

TODO List:

  • src/server/EntitySystem.zig should use a freed List, to recycle old entity IDs. remove inUse
  • make Entities be stored when chunk unloads, if they are NPC (player entities already get stored in the Player file)
  • Have a EntityModel pallete
  • SparseSet to store entities
  • Give everyone permission to /avatar
  • view entityModel in player Inventory
  • change entityModel
  • upload custom texture

Long term things:

  • display amour around entityModels
  • display amour around Pathfinding
  • display amour around enemyBehaviour

requested to be removed by quantum

  • Items should use the EntitySystem instead of ItemDrops

moved to issue #2670 in order to be finished before 0.2.0:

  • Only give Information about Entities in a range around that player.
  • Keep some entity information hidden, depending on who and where the audience is.
  • Only send Entitites that moved.

finished:

  • Split Components from system
  • Let servers/world define themself what entityModel players are allowed, pick one at random when joining
  • Custom protocol for component addition/remove and edit
  • component Data in storing and transmit should be BInary
  • Bug: components aren't stored in Player files, if you exit the world.

This PR adds a /summon <entityType> ?<name> command that let's you spawn an Entity
summon_1

@tillpp tillpp changed the title Summon command, unified Summon command Mar 3, 2026
@tillpp tillpp changed the title Summon command Summon command / unified EntitySystem Mar 3, 2026
@Wunka Wunka moved this to WIP/not ready for review in PRs to review Mar 3, 2026
@tillpp tillpp changed the title Summon command / unified EntitySystem Unified EntitySystem | Summon command Mar 4, 2026
@IntegratedQuantum
Copy link
Copy Markdown
Member

Items should use the EntitySystem instead of ItemDrops

No, items should remain in a separate system. This is more performant, as they only have the data they really need.

@tillpp tillpp changed the title Unified EntitySystem | Summon command EntitySystem | Summon command Mar 4, 2026
@tillpp tillpp changed the title EntitySystem | Summon command EntityComponentSystem | Summon command Mar 4, 2026
IntegratedQuantum pushed a commit that referenced this pull request Apr 11, 2026
Sixth step of splittig up the 3000 lines big PR:
#2652
(requires Part 1 to 6, except 4)

Adds EntityModels

---------

Co-authored-by: careeoki <122191047+careeoki@users.noreply.github.com>
IntegratedQuantum pushed a commit that referenced this pull request Apr 11, 2026
fourth step of splittig up the 3000 lines big PR:
#2652
(depends on Part 3)

- adds Protocol 15 to set or reset a component
IntegratedQuantum pushed a commit that referenced this pull request Apr 26, 2026
Eights step of splittig up the 3000 lines big PR:
#2652
(requires Part 7)

Adds the Entity components for models

Assigns you a random entityModel from {cubert,snale}, but you can't
actually see it until ECS9
default player models can be edited in the world settings

Beginning of using main.entity.Entity instead of u32
#2878

---------

Co-authored-by: careeoki <122191047+careeoki@users.noreply.github.com>
@tillpp tillpp mentioned this pull request Apr 27, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: WIP/not ready for review

Development

Successfully merging this pull request may close these issues.

4 participants