Code Patterns
Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.
All
225
Command
60
Damage
2
Ecs
27
Entity
5
Gui
75
Interaction
2
Inventory
4
Moderation
3
Permission
2
Player
9
Plugin
4
Storage
2
Teleport
3
Ui
22
Util
5
← Back to Patterns
java
entity
Spawn Entity
Spawn custom entities in the world with model and components.
Example Code
public static void spawnEntity(World world, Vector3d position, String modelName) {
Store<EntityStore> store = world.getEntityStore().getStore();
world.execute(() -> {
// Create entity holder (blueprint)
Holder<EntityStore> holder = EntityStore.REGISTRY.newHolder();
// Get model
ModelAsset modelAsset = ModelAsset.getAssetMap().getAsset(modelName);
Model model = Model.createScaledModel(modelAsset, 1.0f);
// Add required components
holder.addComponent(TransformComponent.getComponentType(),
new TransformComponent(position, new Vector3f(0, 0, 0)));
holder.addComponent(PersistentModel.getComponentType(),
new PersistentModel(model.toReference()));
holder.addComponent(ModelComponent.getComponentType(),
new ModelComponent(model));
holder.addComponent(BoundingBox.getComponentType(),
new BoundingBox(model.getBoundingBox()));
holder.addComponent(NetworkId.getComponentType(),
new NetworkId(store.getExternalData().takeNextNetworkId()));
holder.addComponent(Interactions.getComponentType(),
new Interactions());
// Ensure Hytale required components
holder.ensureComponent(UUIDComponent.getComponentType());
holder.ensureComponent(Interactable.getComponentType());
// Spawn in world
store.addEntity(holder, AddReason.SPAWN);
});
}
Thread Safety
MUST run inside world.execute() block.
Common Mistakes
Missing required components. Not using world.execute(). Forgetting ensureComponent for UUID.