TheBrokenRail
1dbbd55376
All checks were successful
SorceryCraft/pipeline/head This commit looks good
2.1 KiB
2.1 KiB
API
Getting Started
- Add Dependency to Gradle
repositories { maven { url 'https://jitpack.io' } } dependencies { modImplementation 'com.thebrokenrail:sorcerycraft:1.1.+' }
- Add Dependency to
fabric.mod.json
{ "depends": { "sorcerycraft": "1.1.x" } }
- Create a class extending
com.thebrokenrail.sorcerycraft.spell.api.Spell
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 } }
- Register the spell in your ModInitializer
public class ExampleMod implements ModInitializer { public static final Identifier EXAMPLE_SPELL = SpellRegistry.register(new Identifier("modid", "example_spell"), ExampleSpell.class); }
- Add Spell Translation
{ "spell.modid.example_spell": "Example" }
Useful Methods
(non-static) Spell.getLevel()
(non-static) Spell.getID()
(static) SpellRegistry.register()