{"id":25170108,"url":"https://github.com/linuskay/cycleposters","last_synced_at":"2025-04-03T20:25:02.468Z","repository":{"id":181112929,"uuid":"370330461","full_name":"LinusKay/CyclePosters","owner":"LinusKay","description":"A Minecraft Spigot plugin that allows admins to set up custom changing image posters in-game.","archived":false,"fork":false,"pushed_at":"2021-06-02T12:00:14.000Z","size":135,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T08:38:24.817Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/LinusKay.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}},"created_at":"2021-05-24T11:36:26.000Z","updated_at":"2021-06-02T12:00:17.000Z","dependencies_parsed_at":"2023-07-14T04:39:45.350Z","dependency_job_id":null,"html_url":"https://github.com/LinusKay/CyclePosters","commit_stats":null,"previous_names":["linuskay/cycleposters"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusKay%2FCyclePosters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusKay%2FCyclePosters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusKay%2FCyclePosters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusKay%2FCyclePosters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinusKay","download_url":"https://codeload.github.com/LinusKay/CyclePosters/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247072370,"owners_count":20878876,"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":"2025-02-09T08:38:33.934Z","updated_at":"2025-04-03T20:25:02.449Z","avatar_url":"https://github.com/LinusKay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CyclePosters\n\n![Image of plugin in action. A 9x6 wall of maps displays a number of cycling images](https://media0.giphy.com/media/CwNQl9X9l7DRhNj3lg/giphy.gif?cid=790b761145b82b9ade04a9ddf83e11967d1708eb87dcb67d\u0026rid=giphy.gif\u0026ct=g)\n\n*PLEASE NOTE that this plugin is currently in early stages, and contains a number of unchecked errors and major performance issues. It is not presently recommended for production servers, as you WILL experience issues. The plugin will also likely undergo a name change in the coming future.*\n\n\nA plugin that allows you to place any image in game, in the form of a \"poster\" made up of maps/item frames. These\nposters can be assigned multiple images, which can cycle on a specified interval. Posters can additionally be setup to\nprovide the user with a clickable message linked to a URL. \n\n\n\n## Commands\n\n**/poster place \\\u003cposter name\u003e \\\u003cwidth\u003e \\\u003cheight\u003e \\\u003cimage\u003e [image .. image]** - *eg: /poster place events 3 2 welcome.png events/partyevent.png*\n\nplace poster of given size at click location. if more than one image is given, poster will automatically be set to cycle\nbetween slides every 10 seconds. if only one image is provided, cycling will be disabled. These can be edited in\ndata.yml. *Newly created posters will only begin their automatic cycle upon server restart.*\n\n* poster name: unique name to identify poster\n* width: width (in blocks) of poster\n* height: height (in blocks) of poster\n* image: image name to us. image must be located within plugin/CyclePosters.\n\n**/poster next \\\u003cposter name\u003e** - *eg /poster next events*\n\nmanually cycle poster to next slide\n\n* poster name: unique name to identify poster\n\n## Permissions\n\n**cycleposters.manage** - Required to run *any* commands\n\n## Config Structure\n\n#### data.yml\n\nAll poster data is stored in data.yml this contains the name, size and image data. A number of custom settings can also be applied to each slide, which determine how the player can interact with the poster. With these additional settings you can:\n* send the player a message in chat, which may allow clicking to visit a set URL\n* teleport the player to a specific location\n* give the player an item\n* run a command, either as the player or console\n\n```yaml\nposters:\n  # unique name of poster\n  # REQUIREd\n  events:\n    #width and height (in blocks) of poster\n    # REQUIRED\n    width: 3\n    height: 2\n    # IDs of all map objects belonging to poster\n    # REQUIRED\n    maps:\n      - 39\n      - 40\n      - 41\n      - 42\n      - 43\n      - 44\n    # individual slides of poster\n    # poster must include at least one slide, with no limit on the total amount\n    # REQUIRED\n    slides:\n      # REQUIRED: at least one\n      slide_0:\n        # local file location of slide image\n        # images must be located somewhere within plugins/CyclePosters\n        # REQUIRED: image will be black otherwise\n        image: plugins\\CyclePosters/welcome.png\n        # message to show in chat upon click\n        # messages can have both/either/neither of hover/URL \n        # format messages using § formatting codes\n        # eg: §6 = red, §l = bold\n        # OPTIONAL\n        click_message: Learn about our cool event!\n        # text to show on chat message hover\n        # OPTIONAL\n        # DEPENDS ON click_message\n        click_hover: Click here to visit our website!\n        # OPTIONAL\n        # DEPENDS ON click_message\n        # link to take user to on chat message click\n        click_url: https://google.com/        \n        # location to teleport user\n        # first item must match name of existing world\n        # following three are X Y Z respectively\n        # OPTIONAL\n        teleport:\n          - \"world\"\n          - 2500\n          - 100\n          - -1739\n        # if true, player will be teleported to ground/highest block at location\n        # disable if not concerned about dangerous teleport location\n        # OPTIONAL\n        # DEPENDS ON teleport\n        teleport_safely: true\n        # give item to user on click\n        # name/lore are optional\n        # OPTIONAL\n        click_item: STONE\n        # custom name to give to item\n        # OPTIONAL\n        # DEPENDS ON click_item\n        click_item_name: §6Cool stone\n        # lore/item description to give to item\n        # OPTIONAL\n        # DEPENDS ON click_item\n        click_item_lore:\n          - §7This is a really cool item\n          - §7Like. wow. amazing.\n        # run command on click\n        # if run_command_as_console is true, command will be run by console\n        # otherwise, if false or not set, command will be run by player that clicked\n        # run_command accepts a number of placeholder values\n        #   {player} = name of the player that clicked\n        # OPTIONAL\n        run_command: op {player}\n        # set whether command run by player or console\n        # OPTIONAL\n        # DEPENDS ON run_command\n        run_command_as_console: false\n    # currently displayed slide\n    # will change whenever slide is updated\n    # REQUIRED\n    current_slide_index: 0\n    # time interval (in seconds) between automatic slide changes\n    # auto set to 10 when multiple images are provided. \n    # single image posters will be auto set to 0.\n    # if not set or set to 0, poster will not auto-cycle to next image\n    # OPTIONAL\n    interval: 10\n```\n\n## To-Do\n\n* Add checks for existing images/posters\n* Re-factor for improved performance\n* Add function for deleting entire poster, to save on arduous manual labour\n* Allow poster slides to accept URLs, as well as local files\n* Allow interactions to be locked behind permission nodes\n* Allow slide interactions to perform different actions depending on player permissions\n* Improve customisability of give item on click feature\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuskay%2Fcycleposters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuskay%2Fcycleposters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuskay%2Fcycleposters/lists"}