{"id":26880863,"url":"https://github.com/nickscha/ecs4j","last_synced_at":"2025-03-31T14:50:44.825Z","repository":{"id":278756070,"uuid":"163303267","full_name":"nickscha/ecs4j","owner":"nickscha","description":"ECS4J provides a lightweight Entity Component System (ECS) implementation for java.","archived":false,"fork":false,"pushed_at":"2019-02-02T21:18:00.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-21T14:35:53.162Z","etag":null,"topics":["ecs","ecs4j","entity-component-system","java","pattern"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nickscha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-27T14:26:13.000Z","updated_at":"2019-02-02T21:18:01.000Z","dependencies_parsed_at":"2025-02-21T14:35:55.558Z","dependency_job_id":"54009498-8d4b-4fc1-a4b6-7d61e7a8440b","html_url":"https://github.com/nickscha/ecs4j","commit_stats":null,"previous_names":["nickscha/ecs4j"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickscha%2Fecs4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickscha%2Fecs4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickscha%2Fecs4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickscha%2Fecs4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickscha","download_url":"https://codeload.github.com/nickscha/ecs4j/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246485906,"owners_count":20785420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecs","ecs4j","entity-component-system","java","pattern"],"created_at":"2025-03-31T14:50:44.308Z","updated_at":"2025-03-31T14:50:44.817Z","avatar_url":"https://github.com/nickscha.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECS4J - in development\n\n[![Maven](https://maven-badges.herokuapp.com/maven-central/com.github.nickscha/ecs4j/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.nickscha/ecs4j)\n![Build Status](https://travis-ci.org/nickscha/ecs4j.svg?branch=master)\n![codecov.io](https://codecov.io/github/nickscha/ecs4j/coverage.svg?branch=master)\n![License](https://img.shields.io/hexpm/l/plug.svg)\n\nECS4J provides a lightweight Entity Component System (ECS) implementation which is easy to use as well as a transparent and fluent API.\n\n## Maven\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.github.nickscha\u003c/groupId\u003e\n  \u003cartifactId\u003eecs4j\u003c/artifactId\u003e\n  \u003cversion\u003eNOT-RELEASED\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nThe artifact will be published under https://oss.sonatype.org\n\n## Requirements\n* Java 8 or later\n\n## Introduction\nThe Entity Component System (in short ECS) is an architectural pattern following the composition over inheritance pattern and is highly compatible with data oriented design techniques. \nECS is commonly used in applications were inheritance would lead to inflexible code\nand confusing/unclear code structures in order to manage the data and\nbehaviours of entities. Due to the strict separation of data and behaviour it\nallows easy multithreading and serialization of data.\n\nECS has a very strict terminology:\n* Entity - A unique identifier for a set of components.\n* Component - raw data and nothing more. No logic/behaviour.\n* System - Contains the logic/behaviour for a list of entity components as required by the system. (Usually a system runs contuniously in private threads)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickscha%2Fecs4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickscha%2Fecs4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickscha%2Fecs4j/lists"}