{"id":16374985,"url":"https://github.com/moderocky/witchcraft-api","last_synced_at":"2025-06-23T01:41:39.922Z","repository":{"id":65354877,"uuid":"584914104","full_name":"Moderocky/Witchcraft-API","owner":"Moderocky","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-10T13:17:18.000Z","size":750,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-02T05:05:35.126Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Moderocky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-03T20:59:09.000Z","updated_at":"2023-01-31T23:03:41.000Z","dependencies_parsed_at":"2023-02-15T16:15:51.141Z","dependency_job_id":null,"html_url":"https://github.com/Moderocky/Witchcraft-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Moderocky/Witchcraft-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moderocky%2FWitchcraft-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moderocky%2FWitchcraft-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moderocky%2FWitchcraft-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moderocky%2FWitchcraft-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Moderocky","download_url":"https://codeload.github.com/Moderocky/Witchcraft-API/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moderocky%2FWitchcraft-API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261396816,"owners_count":23152455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T03:19:02.213Z","updated_at":"2025-06-23T01:41:34.906Z","avatar_url":"https://github.com/Moderocky.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Witchcraft\n\nThis is the public-facing API for Witchcraft.\n\nIt interfaces with the online data sheet [here](https://docs.google.com/spreadsheets/d/13giaJ7dw3rpyvdsM_AFrPaSTcWtxmtU5XL4zBnH0p9U/edit?usp=sharing).\n\nYou cannot build this into a plugin or use it as a standalone resource - it is designed to be implemented by an internal server layer.\n\n## Contributing\nYou are welcome to contribute to this via pull-request.\n\n## Adding a Spell\n\nSelect a spell from the [Spells tab](https://docs.google.com/spreadsheets/d/13giaJ7dw3rpyvdsM_AFrPaSTcWtxmtU5XL4zBnH0p9U/edit?usp=sharing#gid=0).\nOne that is not ticked 'done'.\n\nCreate a new class for the spell in `mx.kenzie.witchcraft.spell.single` extending `StandardSpell` \\\nor an existing spell, if your spell is an extension of another (e.g. `Teleportation Circle` -\u003e `Teleport`)\n\nInside this class you have:\n### canCast `boolean canCast(LivingEntity caster)`\nThis method verifies whether the caster is actually able to do the spell.\n\nThis method should check:\n- If the spell is physically possible (e.g. for a teleport, can the caster actually teleport)\n- If the spell is applicable for the caster (e.g. we don't open a GUI for a zombie caster)\n\nThis method should not check:\n- If the caster has spell ingredients; this is done already\n- If the caster has energy\n\nIf this method returns true the spell is **guaranteed** to be cast directly after.\n\n### run `void run(LivingEntity caster, int range, float scale, double amplitude)`\nThis method runs the actual spell effects (after cast is verified.)\n\nThe `range` is the maximum range of the caster from their magic item.\n\nThe `scale` is how large they drew the pattern. This can be used to magnify the size of the spell's result where applicable.\n\nThe `amplitude` is the caster's magical power. This is typically used for increasing spell damage.\n\nNote: the caster may not be a player. The caster may not be a Bukkit entity.\n\nPlease use the `Client` interface for visual effects. (These are all thread-safe!)\nPlease use the `Minecraft` interface for damaging/world effects. (These are possibly thread-safe!)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoderocky%2Fwitchcraft-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoderocky%2Fwitchcraft-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoderocky%2Fwitchcraft-api/lists"}