Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mdingena/att-circuits
- Owner: mdingena
- License: mit
- Created: 2023-07-28T13:37:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-24T14:00:51.000Z (over 1 year ago)
- Last Synced: 2024-12-19T19:54:47.875Z (about 2 months ago)
- Topics: logic-gates, township-tale, virtual-reality
- Language: TypeScript
- Homepage:
- Size: 35.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
Awesome Lists containing this project
README
ATT Circuits
---
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: