{"id":18350962,"url":"https://github.com/nuriofernandez/grechworldareas","last_synced_at":"2025-04-06T10:32:24.400Z","repository":{"id":152170959,"uuid":"326046276","full_name":"nuriofernandez/GrechWorldAreas","owner":"nuriofernandez","description":"Spigot Minecraft server plugin that allows other plugins to work with world areas. Detecting player joins/leaves block breaks, etc.","archived":false,"fork":false,"pushed_at":"2024-08-11T19:17:37.000Z","size":23280,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-21T21:51:15.131Z","etag":null,"topics":["areas","bukkit","bukkit-plugin","bukkitdev","events","minecraft-plugin","permissions","spigot","world-protection"],"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/nuriofernandez.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":"2021-01-01T19:54:34.000Z","updated_at":"2024-08-11T16:06:22.000Z","dependencies_parsed_at":"2024-01-03T14:50:31.157Z","dependency_job_id":"10cce0d2-eaec-4d1d-bf4a-601c95e7e08e","html_url":"https://github.com/nuriofernandez/GrechWorldAreas","commit_stats":null,"previous_names":["nuriofernandez/grechworldareas"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuriofernandez%2FGrechWorldAreas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuriofernandez%2FGrechWorldAreas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuriofernandez%2FGrechWorldAreas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuriofernandez%2FGrechWorldAreas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuriofernandez","download_url":"https://codeload.github.com/nuriofernandez/GrechWorldAreas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247470314,"owners_count":20944145,"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":["areas","bukkit","bukkit-plugin","bukkitdev","events","minecraft-plugin","permissions","spigot","world-protection"],"created_at":"2024-11-05T21:28:58.703Z","updated_at":"2025-04-06T10:32:19.390Z","avatar_url":"https://github.com/nuriofernandez.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GrechWorldAreas\nSpigot Minecraft server plugin that allows other plugins to work with world areas. Detecting player joins/leaves block breaks, etc.\n\n# Area definition\n\n```yml\nname: \"Redo\"\nuuid: \"63b4809c-b73e-4a26-a106-4e722fe9c454\"\nareas:\n  1:\n    end:\n      w: \"world\"\n      x: 1\n      y: 100\n      z: 1\n      yaw: 0\n      pitch: 0\n    start:\n      w: \"world\"\n      x: 3\n      y: 100\n      z: 3\n      yaw: 0\n      pitch: 0\n```\n\n# Checking areas for location\n\n```java\n@EventHandler\npublic void onBlockClick(PlayerInteractEvent event) {\n    if (event.getAction() != Action.RIGHT_CLICK_BLOCK) return;\n\n    Player player = event.getPlayer();\n    Location clickedBlock = event.getClickedBlock().getLocation();\n\n    List\u003cWorldArea\u003e areas = worldAreaFactory.fromLocation(clickedBlock);\n    String areasNames = areas.stream().map(WorldArea::getName).collect(Collectors.joining(\",\"));\n\n    player.sendMessage(ChatColor.translateAlternateColorCodes(\n        '\u0026', \"\u0026cYou have clicked at a block inside: \u0026a\"+areasNames\n    ));\n}\n```\n\n# Listening to an area movement event\n\n```java\n@EventHandler\npublic void onJoin(PlayerJoinAreaEvent event) {\n    Player player = event.getPlayer();\n    WorldArea area = event.getWorldArea();\n\n    String message = ChatColor.translateAlternateColorCodes(\n        '\u0026', \"\u0026aYou joined to \u0026e\" + area.getName()\n    );\n    player.sendTitle(\"World Areas\", message, 1, 20, 1);\n}\n\n@EventHandler\npublic void onLeave(PlayerLeaveAreaEvent event) {\n    Player player = event.getPlayer();\n    WorldArea area = event.getWorldArea();\n\n    String message = ChatColor.translateAlternateColorCodes(\n        '\u0026', \"\u0026cYou left to \u0026e\" + area.getName()\n    );\n    player.sendTitle(\"World Areas\", message, 1, 20, 1);\n}\n```\n\n## Demonstration of results:\n\n\u003cimg src=\"https://github.com/xXNurioXx/GrechWorldAreas/blob/master/documentation/images/area-movement-event.gif\" alt=\"Player joining and leaving from a world area\" width=\"100%\"/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuriofernandez%2Fgrechworldareas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuriofernandez%2Fgrechworldareas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuriofernandez%2Fgrechworldareas/lists"}