Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mdingena/att-circuits

Send signals between interactive prefabs to create your own puzzles and logic contraptions.
https://github.com/mdingena/att-circuits

logic-gates township-tale virtual-reality

Last synced: about 1 month ago
JSON representation

Send signals between interactive prefabs to create your own puzzles and logic contraptions.

Awesome Lists containing this project

README

        

ATT Circuits


build status
npm version
peer dependency
node version
typescript version
license
contributor covenant v2.0 adopted

---

Allows you to create logic gate circuits in _A Township Tale_, letting you create custom puzzles and logic contraptions.

⚠️ This library has a **peer dependency** on [`att-string-transcoder`](https://github.com/mdingena/att-string-transcoder). You must manually install this peer dependency in your project in order to use `att-circuits`.

⚠️ This library is meant for advanced users who already have a good understanding of ATT save strings. **Check out our [ATT String Workshop](https://github.com/mdingena/att-string-workshop) project to learn the basics.**

## :sparkles: Quickstart

### Installation

Add this library to your project's dependencies:

```shell
npm install --save att-circuits
```

### Usage

```ts
import { Circuit } from 'att-circuits';
import { Prefab } from 'att-string-transcoder';

const lever = Prefab.fromSaveString<'MRK_Small_Lever'>('...');
const door = Prefab.fromSaveString<'MRK_gate_02'>('...');
const circuit = new Circuit();

circuit.createWire('boolean').connect(lever, door);
circuit.setOrigin(door);

const prefab = circuit.toPrefab();
prefab.print();
```

Read the [API Reference Documentation](docs/README.md) for more options.

## :bow: Attribution

This project would not be possible without the knowledge revealed and shared by [poi](https://github.com/officialpoiuytrewq4645). :blue_heart: