The Snake | [1.8 - 1.21.4] icon

The Snake | [1.8 - 1.21.4] -----

The classic computer game, Snake, but in Minecraft.



Minimum Java Version: Java 17

Support: https://discord.gg/uXVU8jmtpU

Dependency (free - required): ProtocolLib


The Snake
The classic computer game, Snake. The character is maneuvered using the standard movement keys, and an arrow is displayed and a sound is played when changing directions. The walls in this mode do not kill the player (optional), so running into the snake's body is the only way to die.


How the game works:

  • Quit (no points): You quit the game without achieving any points. Eat the snacks and you will be more successful!
  • Quit: You quit the game, but you achieved <points> out of <all_possible_points or target_score> possible points!
  • Die: You died, but you achieved <points> out of <all_possible_points or target_score> possible points!
  • X points: YOU WON! You achieved the maximum score of <X> points!

Features:

The plugin is highly configurable, allowing you to customize everything. Some notable features of this game include:
  • Design Your Own Snake: Customize the blocks for Snake's head, segments and the Apple.
  • Wrap Around Mode: Choose whether the snake can move through one side of the screen and appear on the opposite side.
  • Winning Goals: Let players win by eating all the snacks or by reaching a specific score.
  • TOP 10 Leaderboards: Display players with the highest score.
  • MySQL Support: Store user data in a MySQL database for easy tracking and management.
  • PlaceholderAPI Support: Integration with PlaceholderAPI, offering 17+ different placeholders.
  • Developer API: API available for developers.

Gameplay:



Setup:
  1. Download the plugin and put it in the plugins folder. Start the server to to allow plugin to create configuration files.
  2. Now start with creating an arena using the "/snake create <arena_name>" command.
  3. Setup the arena. You have the editor tools in your inventory.
    1. First, set the start location for the game using the clock.
    2. Next, set the end location using the compass. The player in the arena is going to be teleported to this location after the game ends.
    3. Next, use the stick in your inventory to set the game board's corners. Click once for the first corner, then again for the second corner. Make sure the game board's thickness is only 1 block.
    4. When you're done with the first 3 steps in setup, you can right-click to the book to open the Arena Options menu. In this menu, you can customize the arena related features to make your arenas unique.
    5. When you're done, save the arena data using the green wool. Now you can exit the editing mode using the red wool. You can also edit the arena later by using the "/snake edit <arena_name>" command.
  4. Once you've completed the setup steps and saved the arena data, your arena is ready to play. Use "/snake join <arena_name>" to join the arena.
  5. Enjoy the game!

Setup Video:



[​IMG]

Commands:

/snake create <arena_name> - Creates a game instance.
/snake delete <arena_name> - Deletes the game instance with the given ID.
/snake edit <arena_name> - Gives the editor tools.
/snake join <arena_name> - Creates a join attempt for the target arena.
/snake leave - Creates a leave attempt if the player is in a game.


Permissions:
snake.*
snake.arena.create
snake.arena.delete
snake.arena.edit
snake.tabcompleter


PlaceholderAPI Placeholders:
Player:

  • %snake_player_name%
  • %snake_player_uuid%
  • %snake_player_arena%
  • %snake_player_wins%
  • %snake_player_win_streak%
  • %snake_player_games-played%
  • %snake_player_best-score%
  • %snake_player_total-score%
Arena:
  • %snake_arena:arena-id: player%
  • %snake_arena:arena-id:state%
  • %snake_arena:arena-id:state_pretty%
  • %snake_arena:arena-id:score%
TOP 10 Leaderboard:
  • %snake_top:wins:1:name% - %snake_top:wins:1:value%
  • %snake_top:winstreak:1:name% - %snake_top:winstreak:1:value%
  • %snake_top:bestscore:1:name% - %snake_top:bestscore:1:value%
  • %snake_top:gamesplayed:1:name% - %snake_top:gamesplayed:1:value%
  • %snake_top:totalscore:1:name% - %snake_top:totalscore:1:value%

Config:
Code (YAML):
# # # # # # # # # # # # # # # # # # # # # #
#                                         #
#          The Snake by Despical          #
#                                         #
# # # # # # # # # # # # # # # # # # # # # #

# Enable/disable the MySQL database. (Check out the mysql.yml for more)
mysql-enabled
: false

# The statistics saving rate, in seconds. (0 = save the stats on server shutdown/reload)
statistic-saving-period
: 300

messages
:
  commands
:
    correct-usage
: "&cCorrect usage: {0}"
    created-arena
: "&aCreated a new arena ({0}) instance.\n&aEditing now!"
    deleted-arena
: "&aDeleted the arena ({0}) instance."
    no-arena
: "&cThere is no arena with the given ID!"
    someone-editing
: "&cAn arena can only be edited by one player at a time!"
    already-editing
: "&cYou are already editing this arena!"
    editing-now
: "&aEditing now!"
    arena-already-created
: "&cThere is already an arena with the given ID!"
    arena-not-ready
: "&cThis arena is not ready to play yet!"
    already-playing
: "&cYou are already playing The Snake game!"
    someone-playing
: "&cThe game in this arena is already started!"
  game
:
    quit
: "&eYou quit the game, but you achieved {0} out of {1} possible points!"
    quit-without-a-score
: "&eYou quit the game without achieving any points. Eat the snacks and you will be more successful!"
    died
: "&eYou died, but you achieved {0} out of {1} possible points!"
    died-without-a-score
: "&eYou died without achieving any points. Eat the snacks and you will be more successful!"
    win-eaten-all
: "&6YOU WON! &aYou have eaten all the snacks to win!"
    win-reached-target-score
: "&6YOU WON! &aYou achieved the required {2} points to win!"
  subtitles
:
    up
: "↑"
    down
: "↓"
    left
: "←"
    right
: "→"
    new-point
: "&6+1"

# Set NONE if you don't want to play the sound.
sounds
:
  fail
:
    sound
: ENTITY_ENDER_DRAGON_GROWL
    pitch
: 1
    volume
: 1
  direction-change
:
    sound
: BLOCK_NOTE_BLOCK_PLING
    volume
: 1
    pitch
: 2
  tick
:
    sound
: BLOCK_NOTE_BLOCK_BASS
    volume
: 1
    pitch
: 0.5
  point
:
    sound
: ENTITY_PLAYER_LEVELUP
    volume
: 1
    pitch
: 2
  win
:
    sound
: NONE
    volume
: 1
    pitch
: 1

placeholders
:
  # %snake_arena:arena-id:player% - If there is no player in the arena the text below will be displayed.
  no-player
: "No Player"
  # %snake_player:arena% - When the player is not in an arena the text below will be displayed.
  not-in-arena
: "Not in an arena"
  # No leaderboard entry at the given position.
  no-name
: "Unknown"
  no-value
: "NaN"
  # %snake_arena:arena-id:state_pretty%
  states
:
    waiting
: "Waiting"
    pre-in-game
: "Starting"
    in-game
: "Playing"
    ending
: "Ending"
    inactive
: "Inactive"

My Other Plugins:
[​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG]

Terms of Service
By using this plugin, you agree to the following terms, which may be updated by the author at any time.
  • All payments are final and non-refundable.
  • Redistribution or resale of this plugin is prohibited.
  • You are not permitted to modify, decompile, or extract any part of the plugin's source code.
  • Support is provided exclusively to legitimate customers. We cannot offer support for plugins obtained through unauthorized or illegal means.
Copyright 2024 © Berke Akçen
Resource Information
Author:
----------
Total Downloads: 5
First Release: Nov 9, 2024
Last Update: Dec 19, 2024
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings