42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# StarOpenSource EngineMC
|
|
EngineMC (or sos!enginemc for short) is a port of the [StarOpenSource Engine](https://git.staropensource.de/StarOpenSource/Engine) to Minecraft and it's various plugin and mod loaders.
|
|
|
|
## Index
|
|
- [Using EngineMC](#using-enginemc)
|
|
- [Bukkit](#bukkit)
|
|
- [Sponge, Fabric, Quilt, (Neo-)Forge & others](#sponge-fabric-quilt-neo-forge--others)
|
|
- [The `/enginemc` command](#the-enginemc-command)
|
|
- [Known issues](#known-issues)
|
|
- [Reflection is broken](#reflection-is-broken)
|
|
- [Contributing](#contributing)
|
|
|
|
## Using EngineMC
|
|
As a rule of thumb, don't do anything stupid in your plugin or modification.
|
|
This includes:
|
|
- initializing the engine manually
|
|
- accessing undocumented or internal methods, fields, etc.
|
|
- using `EngineInternals`
|
|
|
|
Everything should work out of the box.
|
|
### Bukkit
|
|
Simply declare the plugin `sosenginemc` as a hard dependency in your `plugin.yml` file.
|
|
### Sponge, Fabric, Quilt, (Neo-)Forge & others
|
|
EngineMC does not yet support these plugin/mod loaders yet, sorry.
|
|
|
|
## The `/enginemc` command
|
|
The `/enginemc` command allows access into the engine without the use of plugins.
|
|
It can do the following things:
|
|
- read and modify the engine configuration
|
|
- parse placeholders using the `PlaceholderEngine` class and return it back
|
|
- force garbage collection
|
|
- display JVM information
|
|
|
|
## Known issues
|
|
### Reflection is broken
|
|
Due to how the mod and plugin loaders load JAR files, scanning the classpath for annotations does not work.
|
|
This means that the entire event system and automatic subsystem detection is broken.
|
|
We're waiting for sos!engine developers to implement methods for manually registering subsystems and event listeners.
|
|
Until then, use other methods for initializing subsystems and sending events and data around.
|
|
|
|
## Contributing
|
|
Please see [sos!engine's contributing section](https://git.staropensource.de/StarOpenSource/Engine/src/branch/develop/README.md#contributing)
|