72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
|
# API
|
||
|
|
||
|
## Getting Started
|
||
|
1. Add Dependency to Gradle
|
||
|
```gradle
|
||
|
repositories {
|
||
|
maven { url 'https://jitpack.io' }
|
||
|
}
|
||
|
dependencies {
|
||
|
modImplementation 'com.thebrokenrail:sorcerycraft:VERSION'
|
||
|
}
|
||
|
```
|
||
|
2. Add Dependency to ```fabric.mod.json```
|
||
|
```json
|
||
|
{
|
||
|
"depends": {
|
||
|
"sorcerycraft": "1.1.x"
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
3. Create a class extending ```com.thebrokenrail.sorcerycraft.spell.api.Spell```
|
||
|
```java
|
||
|
public class ExampleSpell extends Spell {
|
||
|
public ExampleSpell(Identifier id, int level) {
|
||
|
super(id, level);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void execute(Entity target, Entity source, Entity attacker) {
|
||
|
// Called when ExampleSpell hits an entity
|
||
|
// Not required to override
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void execute(World world, BlockHitResult hitResult) {
|
||
|
// Called when ExampleSpell hits a block
|
||
|
// Not required to override
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int getXPCost() {
|
||
|
// Return the amount of levels required to make ExampleSpell in a Casting Table
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ItemStack getItemCost() {
|
||
|
// Return the item(s) required to make ExampleSpell in a Casting Table
|
||
|
// Return ItemStack.EMPTY if an item is not required
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int getMaxLevel() {
|
||
|
// Return ExampleSpell's maximum level
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
4. Register the Spell in your ModInitializer
|
||
|
```java
|
||
|
public class ExampleMod implements ModInitializer {
|
||
|
public static final Identifier EXAMPLE_SPELL = SpellRegistry.register(new Identifier("modid", "example_spell"), ExampleSpell.class);
|
||
|
}
|
||
|
```
|
||
|
5. Add Spell Translation
|
||
|
```json
|
||
|
{
|
||
|
"spell.modid.example_spell": "Example"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Useful Methods
|
||
|
- ```Spell.getLevel()```
|
||
|
- ```Spell.getID()```
|