This project has the basics to start building your own library for using in Decentraland scenes.
The libraries in the Awesome Repository are available for all to use. We encourage you to create and share your own as well, we'd love to see the community grow and start sharing more reusable solutions to common problems through libraries!
See Create Libraries for tips on how to design and develop your library, and for simple instructions for publishing it to NPM.
Below is a template to help you craft documentation for your library, so others know how to use it.
myAmazingLibrary includes helpful solutions for < insert use case >
in a Decentraland scene.
To use any of the helpers provided by this library:
-
Install it as an npm package. Run this command in your scene's project folder:
npm install myAmazingLibrary
-
Add this line at the start of your game.ts file, or any other TypeScript files that require it:
import * as magic from 'myAmazingLibrary'
To do < insert use case >
, add the MyAmazingComponent
component to the entity.
MyAmazingComponent requires two arguments when being constructed:
-
start
: Vector3 for the start position -
duration
: duration (in seconds)
MyAmazingComponent can optionally also take the following argument:
-
color
: Color4 value for the color. If not provided, the default value isColor4.Red()
This example uses MyAmazingComponent to do < insert use case >
to an entity over a period of 2 seconds:
import * as magic from 'myAmazingLibrary'
// Create entity
const box = new Entity()
// Give entity a shape and transform
box.addComponent(new BoxShape())
box.addComponent(new Transform())
// Move entity
box.addComponent(new magic.MyAmazingComponent(new Vector3(1, 1, 1), 2))
// Add entity to engine
engine.addEntity(box)
Note: Be aware that if < other use case >, MyAmazingComponent will < do some other thing >.
...
This scene is protected with a standard Apache 2 licence. See the terms and conditions in the LICENSE file.