zay-es-component

Generate immutable Zay-ES EntityComponent classes with single-writer and change-entity patterns.

25|5|Updated Apr 22, 2017
One-click install
npx skills add https://github.com/assofohdz/subspace-infinity --skill zay-es-component
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zay-es-component
Source: https://github.com/assofohdz/subspace-infinity/tree/main/.claude/skills/zay-es-component
Command: npx skills add https://github.com/assofohdz/subspace-infinity --skill zay-es-component

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Creating Zay-ES EntityComponent classes for the Subspace Infinity ECS requires adhering to strict rules around immutability, single-writer patterns, and serialization requirements, which can lead to threading bugs, ECS anti-patterns, and broken game logic if implemented incorrectly.

Core Features & Use Cases

  • Pre-vetted component templates: Ready-to-use code templates for all common component types, including tag components, value components, decay components, and position components, that follow official Zay-ES best practices.
  • ECS pattern guidance: Clear instructions for implementing the single-writer pattern and change-entity mutation pattern to avoid data conflicts when multiple systems modify the same entity attribute.
  • Use Case: When adding a new ship shield attribute to the Subspace Infinity game, use this skill to generate a compliant immutable component that integrates correctly with existing ECS systems without introducing race conditions or data corruption.

Quick Start

Use the zay-es-component skill to generate a new immutable Position component for tracking entity locations in the game world.

Frequently Asked Questions about zay-es-component

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create immutable Zay-ES EntityComponent classes in Java?

To create immutable Zay-ES EntityComponent classes in Java, use pre-vetted templates that enforce private final fields, no-arg constructors, and only getters to ensure safe serialization and prevent threading bugs.

What is the single-writer pattern in entity-component-system architecture?

The single-writer pattern in entity-component-system architecture is a mutation strategy that prevents data conflicts by ensuring only one system modifies a specific entity attribute, avoiding race conditions and ECS anti-patterns.

How do I implement decay and position components for a Java game?

You implement decay and position components for a Java game by applying ready-to-use Zay-ES templates that enforce immutability and serialization requirements, ensuring safe integration with client and server codebases.

Why do my Zay-ES components cause threading bugs during gameplay?

Zay-ES components cause threading bugs when developers violate immutability rules or bypass the single-writer pattern, introducing data corruption and race conditions across multiple systems modifying the same entity attribute.

Does Zay-ES require no-arg constructors for entity components?

Yes, Zay-ES requires no-arg constructors for entity components to support serialization, alongside private final fields and strict getter-only access to maintain immutability compliant with the BSD-3-Clause library.

What is the best way to add a new ship shield attribute to an ECS game?

The best way to add a new ship shield attribute to an ECS game is generating a compliant immutable component using the change-entity mutation pattern, ensuring correct integration without introducing race conditions.