jabby
The adapter for jabby, the ECS debugger written against jecs internals. mErCS keeps no archetypes and no entity index, and the library has nothing that exists only for jabby: this module adds what jabby reads.
require(mErCS.jabby)(ecs) returns a jecs-like module for jabby: the exports of
mErCS plus jabby.attach, jabby.entity_index_try_get and jabby.is_tag.
-
The jabby package requires jecs through a module of its own (with Wally:
Packages/_Index/alicesaidhi_jabby@<version>/jecs). Replace its source withlocal mErCS = game:GetService("ReplicatedStorage").mErCS -- the ModuleScript return require(mErCS.jabby)(require(mErCS)) -
Attach every world before registering it:
require(mErCS.jabby)(ecs).attach(world) jabby.register({ applet = jabby.applets.world, name = "World", configuration = { world = world } })
Functions
attach
Gives the world world.entity_index and gives its queries iter() (a stateful iterator)
and archetypes() (one pseudo archetype { entities = {...} } with the matches).
Attaching a world again changes nothing; other worlds are not affected.
is_tag
Whether the id carries no data: an entity without the mErCS.Component trait, or a pair whose relation and target are both tags.
entity_index_try_get
The record of an entity as jabby reads it: its archetype lists the ids of the entity (see World:ids).