# Networked

Networked is a simple library for building multiblock networks server-side.

## Features

- Fully serverside
- Polymer compatible
- Does not utilise BlockEntities or BlockStates
- Simple, easy to use API

## Usage

### Installation

The mod is available on [Modrinth](https://modrinth.com/mod/networked). You can download it from there or build it
yourself.

### API

#### Installation

To use the API, add the following to your `build.gradle`:

```groovy
repositories {
    maven {
        name = "Arzumify's Maven"
        url = "https://maven.ailur.dev"
    }
}

dependencies {
    modImplementation "arzumify.polyenergy:networked:${version}"
}
```

To get the latest version, check the [Maven repository](https://maven.ailur.dev/arzumify/networked/).

#### Creating networks

To create a network, simply create extend the Network type.

```java
public class MyNetwork extends Network {
    public MyNetwork() {
        super(MyNetwork::new);
    }

    @Override
    public void tick(ServerWorld serverWorld) {
        // Do stuff
    }
}
```

#### Creating networked blocks

To create a networked block, simply make your block extend the NetworkedBlock type.
You do not need to implement any interfaces.

##### Creation

```java
new NetworkedBlock(settings, MyNetwork::new);
```

## License

This mod is licensed under the GPL-3.0 License. See the LICENSE file for more information.

## TL;DR (not legal advice):

You CAN:

- Redistribute this mod
- Modify this mod
- Use this mod in a modpack
- Use this mod in a video or stream
- Sell this mod as part of a larger work
- Use this mod for any purpose

You CANNOT:

- Hold the author liable
- Claim this mod as your own
- Change the license of this mod
- Redistribute the mod without the source code
- Modify the mod without sharing the source code

You MUST:

- Share the source code of this mod
- Include the license with any redistribution
- Include the source code with any redistribution
- Reproduce the below disclaimer in any redistribution

Thank you for keeping the modding community open and free!

## Disclaimer

```
Networked - A simple library for building multiblock networks server-side.
Copyright (C) 2025 Arzumify

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
```