Modules

This page conatins a list of all modules in S-Core.

Spawn

You can use the /setspawn command to set the spawn and /spawn to teleport to it.

Also the plugin provides an automatic teleportat feature. It teleports players to spawn on Join, First-Join, Respawn, and Height-change (Y-coordinate). Everything can be configured in the config.yml.

config.yml
# Settings for auto spawn teleport
autoSpawnTeleport:
  # Teleport the player to the spawn on first join
  onFirstJoin: true
  # Teleport the player to the spawn on join
  onJoin: true
  # Teleport the player to the spawn on death
  onRespawn: true
  # Teleport the player to the spawn when the player height is below the given value
  onHeight:
    enabled: false
    height: -64

Custom placeholders

This is a feature to customize placeholders to your liking. Currently the plugin just provides a bit of placeholders. For example you can format the 'money_formatted'-placeholder as you want and return colored world names using the 'world'-placeholder.

You can see the playe secton for custom placeholders below.

custom-placeholders.yml
# Here you can configure player placeholders
# Format: %sCore_player_{PLACEHOLDER}%
player:
  world:
    enabled: true
    # Here you can define the translations for specific worlds
    # You can also use color codes (e.g., <green>, <red>, etc.) for the translations
    translations:
      "world": "<green>Overworld"
      "world_nether": "<red>Nether"
      "world_the_end": "<dark_aqua>End"
  money:
    enabled: true
    # Here you can define how many fractional digits should be displayed
    fractionalDigits: 2
  money_formatted:
    enabled: true
    decimalFormat:
      # Here you can define the format of the balance
      format: "#,###.##"
      # Here you can define the decimal separator
      # Samples:
      # 'ENGLISH' -> '1,000.00'
      # 'FRENCH' -> '1 000,00'
      # 'GERMAN' -> '1.000,00'
      locale: 'ENGLISH'

Gamemode

This module provides two things. First is the /gamemode command.

The command arguments are first the gamemode wich you want to be set in (0, 1, 2, 3 also work) and second the target (you don't need to specify one).

Auto broadcaster

As the name suggests it send messages in sepcified intervals to all players. You can also choose between to modes: SEQUENTIAL: It sends the messages in the exacrt order in wich they're specified in the config; RANDOM: It sends the messages in random orders

You can take a look on the config-section below:

config.yml
# Settings for auto broadcaster
autoBroadcaster:
  # Toggle the auto broadcaster
  enabled: true
  # The interval in seconds between each message
  interval: 900
  # The type of broadcasting
  # Available types:
  # -> 1 = SEQUENTIAL
  # -> 2 = RANDOM
  type: 1
  # The sound to play when broadcasting
  sound:
    enabled: true
    sound: ENTITY.PLAYER.LEVELUP
    volume: 1.0
    pitch: 1.0
  # The messages to broadcast
  messages:
    website:
      - "%prefix%"
      - "%prefix% <gray>Check out our website at <underlined>www.example.com</underlined>!"
      - "%prefix%"
    discord:
      - "%prefix%"
      - "%prefix% <gray>Join our Discord server at <underlined>discord.gg/example</underlined>!"
      - "%prefix%"

Custom messages

You can either remove or edit the minecraft vanilla messages.

The config-section for that can be found in the config.yml and looks like this:

config.yml
# Messages for the custom messages
customMessages:
  join:
    # Overrides the default join message if enabled
    enabled: true
    # Message displayed when a player joins
    # Set to 'null' to disable the message
    message: "%prefix% <green>→ <gray>Player <white>%player% <gray>has joined!"
  quit:
    # Overrides the default quit message if enabled
    enabled: true
    # Message displayed when a player leaves
    # Set to 'null' to disable the message
    message: "%prefix% <red>← <gray>Player <white>%player% <gray>has left!"
  death:
    # Overrides the default death message if enabled
    enabled: true
    # Message displayed when a player dies
    # Set to 'null' to disable the message
    message: "%prefix% <dark_red>☠ <gray>Player <white>%player% <gray>has died!"

Invsee

Here's not much to say about that. You can just use /invsee <player> to look in the players inventory. Currently I sadly don't know how to let you edit the players inventory, so its just view-only.

MSGs

This feature provides a simple msg system. It contains a /msg and a /reply command.

In the config-section you can of course edit the messages but furthermore you can set the player-message color and define an regex for valid msgs.

config.yml
# Settings for the msg system
msg:
  # HEX-Color for the message text
  textColor: "#FFFFFF"
  # These characters are allowed in the message
  allowedCharactersRegex: "^[A-Za-z0-9ÄÖÜäöüß_\\-+&/\\[\\](){}\\\\?!.;,:´`^°#'|<>\"$€@%=*~\\\\ ]+$"
  # The format for the message
  # Warning: If you remove the '%player%' or '%target%' placeholder an error will occur
  self-target: '<white><hover:show_text:"<gray>Click to response."><click:suggest_command:/msg %player% ><dark_gray>[<yellow><b>MSG</b><dark_gray>] <dark_gray>[<gray>%player% <dark_gray>› <gray>You<dark_gray>] <white>'
  target-self: '<white><hover:show_text:"<gray>Click to send another message."><click:suggest_command:/msg %target% ><dark_gray>[<yellow><b>MSG</b><dark_gray>] <dark_gray>[<gray>You <dark_gray>› <gray>%target%<dark_gray>] <white>'

This module allows you to add custom serverlinks to your server.

It will add this button to the Game Menu:

For example, these are the default links:

You can add as many as you want in the config.yml under serverLinks.

config.yml
# Settings for server links
# You can add as many links as you want
serverLinks:
  # The website link
  website:
    title: "<yellow><b>Website"
    link: "https://www.example.com"
  # The Discord link
  discord:
    title: "<blue><b>Discord"
    link: "https://discord.gg/example"

Warps

This module is pretty simple. It just works as a simple warp system.

This includes the following commands: /setwarp, /warp, /delwarp, /warps

Custom actions

As the name suggests it allows you to execute actions on certain events. At the moment it only includes onJoin & onRespawn.

This is the default config:

config.yml
# Settings for custom join actions
# Here you can also use PlaceholderAPI placeholders
customActions:
  # Here you can specify as many actions as you want
  # But remember that it can cause lag if you have too many actions
  # If you don't to use any action, just set it to 'join: []'
  join:
    - '[MESSAGE] %sCore_prefix% <gray>Welcome to the server, <yellow>%player_name%<gray>!'
    - '[TITLE] <green><b>WELCOME;<yellow>%player_name%'
    - '[ACTIONBAR] <green>Welcome to the server, <yellow>%player_name%<gray>!'
    - '[PLAYER_COMMAND] /spawn'
    - '[SOUND] ENTITY_PLAYER_LEVELUP;1.0;1.0'
  respawn:
    - '[MESSAGE] %sCore_prefix% '
    - '[MESSAGE] %sCore_prefix% <gray>Welcome back, <yellow>%player_name%<gray>!'
    - '[MESSAGE] %sCore_prefix% '
    - '[PLAYER_COMMAND] /spawn'

Custom commands

With this module, you can create your own commands. This is nothing for more complex commands, but for simple text-commands it is perfect. It uses the same system as Custom actions.

You can create as many commands as you want in custom-commands.yml :

custom-commands.yml
discord:
  # The command to trigger this command.
  command: 'discord'
  # The aliases for this command.
  # Set this to '[]' to disable aliases.
  aliases: [ 'dc' ]
  # The actions to perform when the command is executed.
  actions:
    - '[SOUND] ENTITY_PLAYER_LEVELUP;0.9;1.1'
    - '[MESSAGE] %sCore_prefix%'
    - '[MESSAGE] %sCore_prefix% <gray>Join our Discord server: <white><underlined><click:open_url:https://discord.gg/your-discord-link>https://discord.gg/your-discord-link</click></underlined></white>'
    - '[MESSAGE] %sCore_prefix%'

Tablist

Here you can define a tablist header and footer. Furthermore, you can edeit the players list-names to show stuff like their ranks or clans. It also updates in an set interval to keep it up-to-date.

config.yml
# Settings for the tablist
tablist:
  # Enable or disable the custom tablist header and footer
  enabled: true
  # Update interval in ticks (20 ticks = 1 second)
  updateInterval: 20
  # Custom player list names
  playerListNames:
    # Enable or disable custom player list names
    enabled: true
    # The format of the player list name
    format: "%sCore_player_rank_prefix%%player_name%%sCore_player_rank_suffix%"
  # The header of the tablist
  header:
    - " "
    - "<gold><b>Welcome to the Server!"
    - "<gray>Enjoy your stay!"
    - " "
  footer:
    - " "
    - "<gray>Players online: <yellow>%server_online%<gray> | Max players: <yellow>%server_max_players%"
    - "<gray>Server version: <yellow>%server_version%"
    - " "

Scoreboard

This module allows you to display information in the side-bar. It can be used to e.g. show the players their balance. Note that this scoreboard is limited to 16 lines.

config.yml
# Settings for the custom scoreboard
scoreboard:
  # Enable or disable the custom scoreboard
  enabled: true
  # Update interval in ticks (20 ticks = 1 second)
  updateInterval: 20
  # The title of the scoreboard
  title: "<gold><b>Player Info"
  # The lines of the scoreboard
  lines:
    - ""
    - "<gray>Player: <white>%player_name%"
    - "<gray>Health: <red>%player_health%<gray>/<red>%player_max_health%"
    - "<gray>Level: <green>%player_level%"
    - " "

Chat

This is a very complex module with the following features: chat-format, chat-clear, chat-lock, chatfilter (block empty messages, anti caps, anti spam, chat-delay, block invalid characters & anti swear) and emojis. You can configure each feature in the config and bypass the chat-filter using the sCore.bypass.chatfilter permission.

config.yml
# Settings for the custom chat
chat:
  format:
    # Enable or disable the custom chat format
    enabled: true
    # The format of the chat message
    # You can use PlaceholderAPI placeholders here (and %message% placeholder)
    format: "%sCore_player_rank_prefix%%player_name%%sCore_player_rank_suffix% <dark_gray>: <gray>%message%</gray>"
  chatclear:
    # The empty messages to send when the chat is cleared
    emptyMessages: 300
  chatlock:
    # Is the chat locked? (Can also be toggled with the /chatlock command)
    isChatLocked: false
  chatfilter:
    # Should empty messages be blocked?
    # Example: If a player sends a message with only spaces or color codes
    noEmptyMessages: true
    # Blocks messages with more than the given amount of uppercase letters
    antiCaps:
      # Enable or disable the anti-caps feature
      enabled: true
      # The percentage of caps that is allowed
      percentage: 50
      # The minimum length of the message to check for caps
      minLength: 7
    # Should identical messages be blocked?
    antiSpam: true
    # Blocks sending messages too fast
    chatDelay:
      # Enable or disable the chat delay
      enabled: true
      # The delay in seconds before a player can send another message
      delay: 3
    # Blocks messages with invalid characters
    blockInvalidCharacters:
      # Enable or disable the invalid characters check
      enabled: true
      # The regex pattern for allowed characters
      # Help: https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
      allowedCharsRegex: "^[\\p{L}\\p{N} ,;.:_#'+~´`?=(){}\\[\\]&%$\"²³!^°<>|€@\\-]*$"
    # Blocks messages wich contain swear words
    antiSwear:
      # Enable or disable the anti-swear feature
      enabled: true
      # Should the anti-swear filter ignore case sensitivity?
      ignoreCase: true
      # The list of words to block
      # You can add as many words as you want
      blockedWords: [ "test", "test2" ]
  features:
    # Replaces text-emojis like ":)" with actual emojis
    emojis:
      # Enable or disable the emoji replacement
      enabled: true
      # The list of text-emojis to replace
      # You can add as many emojis as you want
      emojiMap:
        ":)": "😊"
        ":(": "😢"
        ":D": "😄"
        ";)": "😉"
        ":P": "😛"
        ":o": "😮"
        ":/": "😕"
        "xD": "😆"
        "_/": "✅"
        "<3": "❤️"

Nametags

This module allows you to customize the players nametag. You can add a prefix and a suffix.

config.yml
# Settings for the nametag system
nametag:
  # Enable or disable the nametag system
  enabled: true
  # The format of the nametag
  prefix: "%sCore_player_rank_prefix%"
  suffix: "%sCore_player_rank_suffix%"
  # The update interval in ticks (20 ticks = 1 second)
  updateInterval: 20

Ranks

With this module you can create placeholders for your ranks (prefix, suffix & displayname). Nothe that this system requires LuckPerms (the ranks must also be named like your LuckPerms groups).

config.yml
# Settings for the rank system
ranks:
  # Should the ranks be sorted by their LuckPerms rank weight?
  sortTablistByRank: true
  # Settings for the ranks
  # [!] Note: This rank system utilizes LuckPerms, the ranks need to be named like the LuckPerms groups.
  ranks:
    default:
      displayName: "<gray>Default</gray>"
      prefix: "<gray>Default <dark_gray>| <white>"
      suffix: ""
    admin:
      displayName: "<red>Admin</red>"
      prefix: "<red>Admin <dark_gray>| <white>"
      suffix: ""

Util Commands

This module provides various util commands. For now, it just has the commands /heal, /feed and /fly.

Last updated