This commit is contained in:
parent
b22deba559
commit
815fd3d7a7
72
API.md
Normal file
72
API.md
Normal file
@ -0,0 +1,72 @@
|
||||
# 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()```
|
@ -72,5 +72,5 @@
|
||||
**1.0.1**
|
||||
* Add Teleport Spell
|
||||
|
||||
**1.0.0**
|
||||
**1.0**
|
||||
* Initial Release
|
69
README.md
69
README.md
@ -80,70 +80,7 @@ This adds the specified spell to the item in the player's main hand.
|
||||
This removes the specified spell from the item in the player's main hand.
|
||||
|
||||
## API
|
||||
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);
|
||||
}
|
||||
[View API](API.md)
|
||||
|
||||
@Override
|
||||
public void execute(Entity target, Entity source, Entity attacker) {
|
||||
// Called when ExampleSpell hits an entity
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(World world, BlockHitResult hitResult) {
|
||||
// Called when ExampleSpell hits a block
|
||||
}
|
||||
|
||||
@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()```
|
||||
## Changelog
|
||||
[View Changelog](CHANGELOG.md)
|
Reference in New Issue
Block a user