0.7.2 • Published 1 year ago

@dj1tjoo/shapez-advanced-energy v0.7.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

The shapez energy api

About

To have less conflicts between mods and energy an api was created. This api makes use of a network system. All transfers within a network are instant.

Developing using the api

The api has a npm package @dj1tjoo/shapez-advanced-energy. This package contains helper funtion you can use in your mod.

The package exports the AdvancedEnergy class. On this class are static methods to help you

The AdvancedEnergy class exposes the api components. All the api components can only be accessed after the preload state. You can use onLoaded to make a callback from when the preload state is over. | Component | Usage | | ------------------------------------ | -------------------------------------------------------------------- | | EnergyConnectorComponent | A component to make connections with in a newtwork (E.g. simple connector, storage) | | EnergyPinComponent | A component to take and add energy to a network (E.g. energy producer, building that uses energy)| | EnergyTunnelComponent | A component to make connections with in a newtwork with other buildings in between |

The AdvancedEnergy class has the following methods. The methods with a * can only be accessed after the preload state. You can use onLoaded to make a callback from when the preload state is over.

MethodUsage
requireInstalled(): voidShows a dialog on the main menu when the energy mod is not installed
* isInstalled(): booleanReturns if the energy mod is installed
* getMod(): AdvancedEnergyMod | null;Returns the energy mod instance
* getVersion(): string | null;Returns the version of the energy mod instance
onLoaded(cb: (installed: boolean) => void): voidRegister to run callback on energy mod loaded
enableDebug(): voidEnables debug rendering on connectors
disableDebug(): voidDisables debug rendering on connectors

Adding a energy pin

The entity.addComponent can be called in a buildings setupEntityComponents

entity.addComponent(
    new AdvancedEnergy.EnergyPinComponent({
        slots: [
            {
                direction: enumDirection.top,
                pos: new Vector(0, 0),
                type: "ejector",
                productionPerTick: 100,
                maxBuffer: 1000,
            },
            {
                direction: enumDirection.bottom,
                pos: new Vector(0, 0),
                type: "acceptor",
                consumptionPerTick: 100,
                maxBuffer: 1000,
            },
        ],
    })
);
0.7.2

1 year ago

0.7.1

1 year ago

0.7.0

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.0

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago