Init
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Codefever Typescript level framework
|
||||
|
||||
This is the readme for the typescript framework for minecraft education
|
||||
|
||||
# Terminology
|
||||
|
||||
## Puppeteer
|
||||
|
||||
Puppeteer is a class that handles all the UI code for displaying messages to the player. It also handles translations. see [Translations](#translations)
|
||||
|
||||
## MindKeeper
|
||||
|
||||
This is the system that handles all the world storage, supported types are `boolean`, `number`, `string`
|
||||
|
||||
> **Important** : all registering of the world variables must be done in the world.afterEvents.worldInitialize event (this event can't send anything to the world (like messages))
|
||||
>
|
||||
> Here is a example of a definition of the world variable foo
|
||||
|
||||
```typescript
|
||||
world.afterEvents.worldInitialize.subscribe(({ propertyRegistry }) => {
|
||||
mindKeeper.registerStore("foo", StoreType.string);
|
||||
|
||||
mindKeeper.registerToWorld(propertyRegistry);
|
||||
});
|
||||
```
|
||||
|
||||
## Level (could be abit convoluted) **WIP**
|
||||
|
||||
This defines a level in a world, it has 3 callback functions as parameters. These functions should
|
||||
|
||||
- define the setup logic
|
||||
- define the update (loop) logic (Used for actionbar mainly)
|
||||
- define the condition to pass the level
|
||||
- define the code to be run when the level is completed
|
||||
|
||||
> There is a a AbstractCondition class included with a BlockCondition. This (convoluted) way you can define a BlockCondition in the function that checks if the level is complete.
|
||||
|
||||
## Translations
|
||||
|
||||
Translations work with a resource pack. It's the same as with regular resource packs. The way it works with Pupeteer is to set a message to the screen but add the "%" prefix to the key.
|
||||
So `pupeteer.setActionbar("%foo.bar)` will look for the key `foo.bar` in the resource pack and display that message.
|
||||
|
||||
# Random knowlege
|
||||
|
||||
bunch of helper scripts for this [here](https://github.com/JaylyDev/ScriptAPI)
|
||||
This could be handy [jaylydb](https://github.com/JaylyDev/ScriptAPI/tree/stable/scripts/jaylydb)
|
||||
|
||||
# Authors
|
||||
|
||||
- [Bram Verhulst](https://github.com/brammie15) :p
|
||||
Reference in New Issue
Block a user