{"id":16584686,"url":"https://github.com/igoodie/twitchspawn","last_synced_at":"2025-10-08T18:52:08.762Z","repository":{"id":24186652,"uuid":"100828755","full_name":"iGoodie/TwitchSpawn","owner":"iGoodie","description":"👾 TwitchSpawn is a Minecraft mod, which is designed for Twitch streamers using 3rd party streaming tools! (comes with its own language!)","archived":false,"fork":false,"pushed_at":"2024-08-04T19:52:01.000Z","size":4696,"stargazers_count":52,"open_issues_count":31,"forks_count":25,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T07:41:34.643Z","etag":null,"topics":["donations","dsl","game","minecraft","minecraft-mod","mod","multiple-streamers","reward","streamer","streamlabs","tsl","twitch-nicks","twitch-streamers"],"latest_commit_sha":null,"homepage":"https://www.curseforge.com/minecraft/mc-mods/twitchspawn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iGoodie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-08-20T00:24:27.000Z","updated_at":"2024-11-11T09:03:35.000Z","dependencies_parsed_at":"2023-01-14T00:33:09.487Z","dependency_job_id":"549a3f39-16a0-4171-8d8d-a9404c8f2f51","html_url":"https://github.com/iGoodie/TwitchSpawn","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iGoodie%2FTwitchSpawn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iGoodie%2FTwitchSpawn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iGoodie%2FTwitchSpawn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iGoodie%2FTwitchSpawn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iGoodie","download_url":"https://codeload.github.com/iGoodie/TwitchSpawn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249690361,"owners_count":21311308,"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":["donations","dsl","game","minecraft","minecraft-mod","mod","multiple-streamers","reward","streamer","streamlabs","tsl","twitch-nicks","twitch-streamers"],"created_at":"2024-10-11T22:45:18.855Z","updated_at":"2025-10-08T18:52:08.678Z","avatar_url":"https://github.com/iGoodie.png","language":"Java","funding_links":["https://www.patreon.com/iGoodie"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/iGoodie/TwitchSpawn/master/.github/assets/logo.png\"\u003e\u003c/p\u003e\n\n\u003c!-- Badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.twitch.tv/\"\u003e\u003cimg src=\"https://img.shields.io/badge/api-twitch-b19dd8.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://streamlabs.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/api-streamlabs-32c3a2.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://streamelements.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/api-streamelements-f72c00.svg\"\u003e\u003c/a\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"https://minecraft.curseforge.com/projects/twitchspawn\"\u003e\u003cimg src=\"http://cf.way2muchnoise.eu/full_273382_downloads.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://minecraft.curseforge.com/projects/twitchspawn\"\u003e\u003cimg src=\"http://cf.way2muchnoise.eu/versions/273382.svg\"\u003e\u003c/a\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"https://twitter.com/iGoodiex\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/iGoodiex?style=social\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.patreon.com/iGoodie\"\u003e\u003cimg src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.herokuapp.com%2Figoodie\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nLong waited update is finally here! :tada: 1.18 Port is alive! (See the [user manual](https://igoodie.gitbook.io/twitchspawn/)!)\n\n## Brief Summary\nTwitchSpawn is a Minecraft mod designed for Twitch streamers using 3rd party streaming platforms!\n\nIt listens for live events related to your Twitch channel using various Socket APIs.\nThen it handles those events with the rules handcrafted by you!\n\nYou can say hi to us by giving our Discord Server a visit! (https://discord.gg/KNxxdvN)\n\n![Preview #1](preview/preview1.png)\n![Preview #2](preview/preview2.png)\n\n## How to use?\nComplete user manual can be found on https://igoodie.gitbook.io/twitchspawn/\n\n## Features\n### 1. All the events!\nThanks to the power of **SocketIO**, the mod is now able to respond to a wide variety of events!\n*Donations, follows, subscriptions, resubs, bits* and many more events including for Youtube and Mixer as well!\nList of supported streaming platforms:\n- Streamlabs - (https://dev.streamlabs.com/docs/socket-api)\n- StreamElements - (https://developers.streamelements.com/websockets)\n\n(See 📜 TSL Events \u0026 Predicates - https://igoodie.gitbook.io/twitchspawn/twitchspawn-language/tsl-events-and-predicates)\n\n### 2. Your own, readable rules!\nThe mod now comes with its own language to understand you: **TwitchSpawn Language (TSL)**!\nWith TSL, declaring event handling rules (rule sets) is piece of cake! It is easily understandable.\n(E.g following sequence is a valid TSL script: `DROP minecraft:diamond ON Twitch Follow`)\n\n(See 📜 TSL Basics - https://igoodie.gitbook.io/twitchspawn/twitchspawn-language/tsl-basics)\n\n```coffeescript\n# Drops 2 sticks on 0 to 20 unit donation\nDROP minecraft:stick 2\n ON Donation\n WITH amount IN RANGE [0,20]\n\nEITHER # Selects one random action\n # Either drops a diamond block\n DROP diamond_block 1\n OR\n # Or drops an iron block named \"Iron Golem Body\"\n DROP %iron_block{display:{Name:\"\\\"Iron Golem Body\\\"\"}}% 2\n OR\n # Or summons a zombie on given coordinate\n SUMMON minecraft:zombie ~ ~+10 ~\n # By displaying one common message for any action selected!\n ALL DISPLAYING %[\"Get ready for spoils of battle!\"]%\n ON Donation\n WITH amount IN RANGE [21, 999]\n\n# Executes a Minecraft command as the streamer being the source!\nEXECUTE %/gamerule keepInventory true%\n DISPLAYING %[\n  {text:\"${actor}\", color:\"red\"},\n  {text:\" turned immortality on!\", color:\"white\"},\n ]%\n ON Donation\n WITH amount \u003e= 1000\n\n # Instantly does two actions! Throws leggings and boots from the inventory!\nBOTH INSTANTLY\n THROW leggings AND THROW boots\n DISPLAYING %[\"You forgot to wear your pants!\"]%\n ON Twitch Subscription\n WITH months \u003e= 2\n\n# Drops a stick with NBT data, when a Twitch Follow is received!\nDROP %minecraft:stick{display:{Name:\"\\\"Stick of Truth!\\\"\"}}% 1\n ON Twitch Follow\n```\n\n### 3. One server, multiple streamers!\nThe mod is capable of parsing more than one ruleset,\nwhich makes it possible for multiple streamers to use TwitchSpawn on the same server!\n\n(See 📄 credentials.toml - https://igoodie.gitbook.io/twitchspawn/reference/configurations/credentials.toml)\n\nExemplar credentials.toml:\n```toml\nmoderatorsTwitch = [ \"Redowar\" ]\nmoderatorsMinecraft = [ \"Redowar\" ]\n\n[[streamers]]\n\tminecraftNick = \"iGoodie\"\n\ttwitchNick = \"iGoodiex\"\n\tplatform = \"Streamlabs\"\n\ttoken = \"YOUR_SOCKET_TOKEN_HERE\"\n\n[[streamers]]\n\tminecraftNick = \"iGoodie\"\n\ttwitchNick = \"iGoodiex\"\n\tplatform = \"StreamElements\"\n\ttoken = \"YOUR_SOCKET_TOKEN_HERE\"\n```\n\n### 4. Way better customizability\nYou can customize the text that is shown on an action,\nwith an easy JSON format and well known Minecraft Text Component syntax!\n\n(See 💿 Minecraft JSON Text Components - https://github.com/skylinerw/guides/blob/master/java/text%20component.md)\n\n(See 📘 Customizing Messages - https://igoodie.gitbook.io/twitchspawn/basics/customizing-messages)\n\nExemplar messages.title.json:\n```json\n{\n  \"donation\": [\n    {\n      \"text\": \"${actor}\",\n      \"color\": \"aqua\"\n    },\n    {\n      \"text\": \" donated you ${amount_f}${currency}\",\n      \"color\": \"white\"\n    }\n  ],\n  \"twitch follow\" : [ ... ],\n  \"twitch subscription\" : [ ... ],\n  ...\n}\n```\n### 5. More reliable than before!\nUnlike the previous (1.12.x) versions, errors will not cause Minecraft to crash with no report.\nInstead it is aimed to show errors to the user as much as possible.\nIf you're facing any sort of problem, do not hasitate giving our Discord Server a visit!\n\n(👾 Discord Invite: https://discordapp.com/invite/KNxxdvN)\n\n![Error Display Preview](preview/error_preview.png)\n\n## Translations\n* My Guildies: Elanor \u0026 Vaelios - German and French translations :tada:\n* [SE7-KN8](https://github.com/SE7-KN8) - German translation of `test` command module keys\n\nIf you would like to contribute to the translations, consider modifying\n[languages](https://github.com/iGoodie/TwitchSpawn/tree/master/src/main/resources/assets/twitchspawn/lang)\nand creating a PR!\n\n## Special Thanks\nSpecial thanks to each one of those beautiful people:\n* [Redowar](https://www.twitch.tv/redowar) - For igniting the initial idea of dropping (*actually Spawn'ing :p*) stuff in-game, dev-version testing and his amazing company!\n* [ToastNomNomNom](https://www.twitch.tv/toastnomnomnom) - For reaching me, motivating me for a whole new paradigm and helping me do the alpha testings!\n* [Köfteistköfte](https://www.youtube.com/user/kofteistkofte) - For his amazing OS_RUN action idea and testings!\n* [AdmiralLemon](https://www.twitch.tv/theadmirallemon) - For his bug reports and helps on debugging!\n* [Darkphan](https://www.twitch.tv/darkphan) - For his precious Github issues and suggestions!\n* [iskall85](https://www.twitch.tv/iskall85) - For reaching me and motivating me for a 1.12.x refactor/port!\n* [TheGreatGildersneeze](https://www.twitch.tv/thegreatgildersneeze) - For his amazing TwitchSpawn server and correction on a misleading documentation page!\n* [JimilT92](https://github.com/JimiIT92) - For his amazing insight on placeholder expressions and detailed issues!\n* [BisUmTo](https://www.twitch.tv/bisumto) - For his priceless bug-reports and endless effort on debugging them!\n* [Diaval](https://github.com/thediaval) - For his epic memes and pair programming sessions!\n* [Azelza](https://www.twitch.tv/azelzagaming) - For his unconditional support and love to the Spawn Project!\n* [Atanend](https://www.twitch.tv/atanend), [DesimieS](https://www.twitch.tv/desimies), [Katayanka](https://www.twitch.tv/kata1925), [Grishnack](https://www.twitch.tv/grishnackx) and [Taul](https://www.twitch.tv/taulnyb) - For their assist in alpha testing the TSL2.0 early features!\n* My Guildies: Elanor \u0026 Vaelios - For preparing German and French translations!\n* And every single person in our [Discord Server](https://discord.gg/KNxxdvN) for keeping us motivated on this project!\n\n## Facing an Issue?\n- Join our Discord Server - https://discordapp.com/invite/KNxxdvN\n- Contact iGoodie via Discord: iGoodie#1945\n- Create an issue on Github: https://github.com/iGoodie/TwitchSpawn/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoodie%2Ftwitchspawn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figoodie%2Ftwitchspawn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoodie%2Ftwitchspawn/lists"}