{"id":18470199,"url":"https://github.com/skriptlang/skript-aliases","last_synced_at":"2025-05-12T03:08:24.825Z","repository":{"id":41168935,"uuid":"124275393","full_name":"SkriptLang/skript-aliases","owner":"SkriptLang","description":"Aliases for Skript","archived":false,"fork":false,"pushed_at":"2025-04-12T15:23:53.000Z","size":358,"stargazers_count":21,"open_issues_count":18,"forks_count":38,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-09T00:11:39.769Z","etag":null,"topics":["skript"],"latest_commit_sha":null,"homepage":"","language":null,"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/SkriptLang.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,"zenodo":null},"funding":{"github":"SkriptLang","open_collective":"SkriptLang"}},"created_at":"2018-03-07T18:10:40.000Z","updated_at":"2025-04-14T02:00:55.000Z","dependencies_parsed_at":"2024-04-13T18:52:24.247Z","dependency_job_id":"f69c22c4-ce0a-461a-815d-01360b3f358f","html_url":"https://github.com/SkriptLang/skript-aliases","commit_stats":{"total_commits":302,"total_committers":25,"mean_commits":12.08,"dds":0.6225165562913908,"last_synced_commit":"16949c28e0d7bb25ea7c3479c3d6754ff3b5a3e6"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-aliases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-aliases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-aliases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2Fskript-aliases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SkriptLang","download_url":"https://codeload.github.com/SkriptLang/skript-aliases/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166523,"owners_count":21864482,"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":["skript"],"created_at":"2024-11-06T10:13:15.854Z","updated_at":"2025-05-09T00:11:50.790Z","avatar_url":"https://github.com/SkriptLang.png","language":null,"funding_links":["https://github.com/sponsors/SkriptLang","https://opencollective.com/SkriptLang"],"categories":[],"sub_categories":[],"readme":"# Skript Aliases\nThese are the new aliases for Skript, currently work in progress. If you are\nlooking for the plugin, you should go to the main\n[repository](https://github.com/SkriptLang/Skript).\n\n## Structure of Aliases\nAliases are laid out in multiple subfolders and files inside them. In each file,\nthey are put in *sections*, like code in scripts is put to triggers. Names for\nsections should be descriptive and unique per-file, but other than that they do\nnot matter much.\n\nIn sections, most of lines will define new aliases. The basic format is quite\nsimple, actually:\n```\ncarrot¦s = minecraft:carrot\n```\nThe strange character, ¦, tells where the difference between singular and plural\nis. In this case: *carrot*, *carrots*\n\nFor figuring out the ids, [Minecraft Wiki](https://minecraft.wiki/)\nis probably the best place. Alternatively, you can see them ingame if you use\nF3+H.\n\n### Multiple Items and Other Aliases\nAliases may refer to multiple items by separating them with commas. They can\nalso refer to other aliases, which have been loaded before. For example:\n```\nfood = minecraft:potato, carrot\n```\n(refers to minecraft:item_id and minecraft:some_item)\n\n### Name Patterns\nAlias names can contain optional parts and \"choose one\" parts. They work\nsimilarly with Skript's syntax patterns:\n```\n[vegan] food = minecraft:potato, carrot # Optional part\n(vegetables|food) = minecraft:potato, carrot # Choose one\n```\nSpaces after and before optional parts are mostly ignored. Leave them outside\nof the optional parts.\n\n### (NBT) Tags\nAliases can define NBT tags to apply for items. The tags should be in Mojang's\nJSON format that Vanilla commands such as /give use. Tags are put after item\nid, separated with a space:\n```\nmundane potion = minecraft:potion {\"Potion\": \"minecraft:mundane\"}\n```\nIf there are multiple ids defined for an alias, each of them can have their\nown tags specified before the next id is given.\n\n### Block States\nBlock states can be used by appending them to the id:\n```\nanvil pointing north = minecraft:anvil[facing=north]\n```\nNote that before 1.13, **not all** block states are supported. Things that do\nnot have a block state in 1.13 do not work, even if they technically have it\non target Minecraft version.\n\nAlso, these are *block* states. Any data values that persist to items should be\ntreated as damage values and represented as a tag:\n```\n[raw] salmon¦s = minecraft:fish {Damage:1}\n```\n1.13 will mostly get rid of these items, finally leaving damage to actually be\nused for, well, damage.\n\n### Variations\nSometimes, there are multiple items that are quite similar, but still have\nsome differences. For example potions are like this: they all share an id, but\nhave their own tags. In these cases, it might make sense to define a variation:\n```\n{potions}:\n    mundane = - {\"Potion\": \"minecraft:mundane\"}\n    awkward = - {\"Potion\": \"mineraft:awkward\"}\n{potions} potion = minecraft:potion\n```\nBasically, in place of {potions}, there can be either mundane or awkward. What\nit is, will affect the tags of resulting item. Since all potions share an id,\nwe can use a hyphen instead of retyping minecraft:potion.\n\nYou can also substitute parts of ids to variations. Prefix a Minecraft id of\nalias with a hyphen, and place a hyphen in ids of all variations, in place\nwhere the replacement is desired:\n```\n{colored}:\n    white = minecraft:white_- # minecraft:white_wool\n    orange = minecraft:orange_- # minecraft:orange_wool\n{colored} wool = -wool\n```\n\nVariations support default values, which equal to empty strings:\n```\n{colored}:\n    {default} = minecraft:white_- # White wool is just 'wool'\n    white = minecraft:white_-\n{colored} wool = -wool\n```\n\n### Conditions\nEach section that contains aliases may have a special entry to control which\nMinecraft versions the aliases in said section are for. The options are\nfollowing:\n```\nminecraft version = 1.12 or newer # Matches a version and newer ones\nminecraft version = 1.12 or older # Matches a version and previous ones\nminecraft version = 1.11 to 1.12 # Matches both given versions and the versions between them\n```\nOf course, in reality, only one of these is allowed per section of aliases.\n\n### Related entities\nAn alias can have an associated entity defined. This is used to deal with\nnaming conflicts. For example, if we want armor stand entity to be usable\neverywhere, we need to define it as:\n```\narmor stand¦s = minecraft:armor_stand[relatedEntity=armor stand]\n```\nNote that \u003ccode\u003erelatedEntity\u003c/code\u003e is not a block state, even if it\nlooks like one.\n\n## Developing Aliases (for experienced developers)\n1. Fork if you don't have write access\n2. Clone this in plugins/Skript, rename cloned folder to just *aliases*\n3. Make your changes in correct files and folders\n4. Use a text editor to modify aliases\n5. Test using Spigot/Paper and Skript, without any addons\n6. Open a pull request or push to this repo\n\n## Developing Aliases (for newbies)\nSince working on aliases is easy, some of you might not be familiar with Git\nor Github, but still want to help. I've written this guide to make it a bit\neasier.\n\n### What you need\nTo contribute to aliases, you will need:\n\n* A Git client\n  * Windows/Mac: get it from their [website](https://git-scm.com/)\n  * Linux: use your distro to install it\n  * A tutorial can be found [here](https://guides.github.com/introduction/git-handbook/)\n* A text editor\n  * Anything that you use to edit scripts will do\n* A Github Account\n* A Minecraft server for testing\n  * Skript (currently a development build; can be downloaded [here](https://github.com/SkriptLang/skript-aliases/releases))\n  * Spigot or Paper\n  * No addons\n\n### Setting Everything Up\nGot them? Good. Now, go edit your config.sk in plugins/Skript. To end of the\nof the file, add:\n```\nload default aliases: false\n```\nDefault aliases from Skript's jar or packed aliases will not be used. Instead,\nyou will get the latest version of them using Git.\n\n[Fork](https://guides.github.com/activities/forking/) this repository, unless\nyou have write access. Clone your forked repository in plugins/Skript. Rename\nthe produced folder from *skript-aliases* to just aliases.\n\n### What Now?\nIf you have something you want to do, good. If not, you can check issues in\nthis repository to find out something you'd like to work on.\n\nWhen know *what* you want to do, it is time to decide where the change goes to.\nLook at the files, read their comments and try to figure that out. Usually, the\naliases files are categorized based on Minecraft creative inventory categories.\n\nYou can, and must, test your changes using Skript. Basically, reload aliases\na lot while you do your changes. Log in to the server and give items to you to\nmake sure your aliases work correctly. Commit using Git and push to your fork\nwhen you get something done.\n\nWhen it is all ready, open a pull request. Your change will be reviewed, and\nif everything goes well, soon added to Skript's default aliases.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Fskript-aliases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskriptlang%2Fskript-aliases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Fskript-aliases/lists"}