Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
#████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
#█ ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── █
#█ ─██████████████─██████──██████─██████████████─██████████████────██████████████─██████──████████─████████████████───██████████─██████████████─██████████████─ █
#█ ─██░░░░░░░░░░██─██░░██──██░░██─██░░░░░░░░░░██─██░░░░░░░░░░██────██░░░░░░░░░░██─██░░██──██░░░░██─██░░░░░░░░░░░░██───██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─ █
#█ ─██░░██████████─██░░██──██░░██─██░░██████░░██─██████░░██████────██░░██████████─██░░██──██░░████─██░░████████░░██───████░░████─██░░██████░░██─██████░░██████─ █
#█ ─██░░██─────────██░░██──██░░██─██░░██──██░░██─────██░░██────────██░░██─────────██░░██──██░░██───██░░██────██░░██─────██░░██───██░░██──██░░██─────██░░██───── █
#█ ─██░░██─────────██░░██████░░██─██░░██████░░██─────██░░██────────██░░██████████─██░░██████░░██───██░░████████░░██─────██░░██───██░░██████░░██─────██░░██───── █
#█ ─██░░██─────────██░░░░░░░░░░██─██░░░░░░░░░░██─────██░░██────────██░░░░░░░░░░██─██░░░░░░░░░░██───██░░░░░░░░░░░░██─────██░░██───██░░░░░░░░░░██─────██░░██───── █
#█ ─██░░██─────────██░░██████░░██─██░░██████░░██─────██░░██────────██████████░░██─██░░██████░░██───██░░██████░░████─────██░░██───██░░██████████─────██░░██───── █
#█ ─██░░██─────────██░░██──██░░██─██░░██──██░░██─────██░░██────────────────██░░██─██░░██──██░░██───██░░██──██░░██───────██░░██───██░░██─────────────██░░██───── █
#█ ─██░░██████████─██░░██──██░░██─██░░██──██░░██─────██░░██────────██████████░░██─██░░██──██░░████─██░░██──██░░██████─████░░████─██░░██─────────────██░░██───── █
#█ ─██░░░░░░░░░░██─██░░██──██░░██─██░░██──██░░██─────██░░██────────██░░░░░░░░░░██─██░░██──██░░░░██─██░░██──██░░░░░░██─██░░░░░░██─██░░██─────────────██░░██───── █
#█ ─██████████████─██████──██████─██████──██████─────██████────────██████████████─██████──████████─██████──██████████─██████████─██████─────────────██████───── █
#█ ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── █
#████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
#
#░█████╗░░█████╗░███╗░░██╗███████╗██╗░██████╗░██╗
#██╔══██╗██╔══██╗████╗░██║██╔════╝██║██╔════╝░╚═╝
#██║░░╚═╝██║░░██║██╔██╗██║█████╗░░██║██║░░██╗░░░░
#██║░░██╗██║░░██║██║╚████║██╔══╝░░██║██║░░╚██╗░░░
#╚█████╔╝╚█████╔╝██║░╚███║██║░░░░░██║╚██████╔╝██╗
#░╚════╝░░╚════╝░╚═╝░░╚══╝╚═╝░░░░░╚═╝░╚═════╝░╚═╝
#█▄▄ █▄█ ░░█ ▄▀█ █▀▄▀█ █▀▀ █▀ █░░ █ █▄░█ █ █▀▄▀█ █▄▀ █▄█ ▀█▀
#█▄█ ░█░ █▄█ █▀█ █░▀░█ ██▄ ▄█ █▄▄ █ █░▀█ █ █░▀░█ █░█ ░█░ ░█░
# Ver 0.01
# Coder: JameslinimkYT
# Requirements: https://www.spigotmc.org/resources/json-sk.8851/ (It dodenst sasy it works for 1.12-1.15.2+ but it does)
options:
prefix: &l[&r&4Server&r&l]# The prefix for bot commands. You can leave this blank but its not recomended
ops-name-color: &4&l# Changes op's name color if they are opped. Leave blank for no change. (Uses bukkit color codes)
# for more info go to >> (https://clients.mcprohosting.com/knowledgebase/145/Bukkit-Color-Codes.html)
remember-channel: false# When true the next time the player connects, it wil automaticly connect to the channel that they were in when they disconnected
# Formats
# Placeholers:
# Use "{%player's uuid%.suffix}" for the players suffix
# Use "%player%" for the players name
# >>>>> Use %player's display name% for use with nicks <<<<<<
# Use "%message%" for the players message
# You can use color codes &(0-9, a-f) for more info go to >> (https://clients.mcprohosting.com/knowledgebase/145/Bukkit-Color-Codes.html)
format-default: %{%player's uuid%.prefix}%&r&l %player's display name% &6&l>>&r %message%# This is how the default channel looks
format-staff: [&3&lSTAFF&r] %{%player's uuid%.prefix}%&r&l %player's display name% &6&l>>&r %message%# This is how the staff channel looks
format-help: [&3&lHELP&r] %{%player's uuid%.prefix}%&r&l %player's display name% &6&l>>&r %message%# This is how the help channel looks
# Channels / perms
channel-default-perm: skript.chat.default# Has to be a perm. Just give all players this perm for chatting to work.
channel-staff-perm: skript.chat.staff# Has to be a perm. Just give certain players this perm for chatting to work.
channel-help-perm: skript.chat.help# Has to be a perm. Just give certain players this perm for chatting to work. (Recomend all)
# Groups / perms
default-perm: skript.default# This is the perm used to classify defaults. Give this to all players.
moderator-perm: skript.moderator# This is the perm used to classify moderators.
owner-perm: skript.owner# This is the perm used to classify owners. Give this to all players.
# Prefixes - THIS CHANGES TABLIST ALSO!
default-prefix: &7&lNONE&r# This is the prefix for people with the default perm leave blank for none
moderator-prefix: &3&lMOD&r# This is the prefix for people with the moderator perm leave blank for none
owner-prefix: &4&lOWNER&r# This is the prefix for people with the moderator perm leave blank for none
# Chat filter + Spam protection
sPunishment: kick %loop-player% due to "{@prefix} Do not spam"# The console will execute this command not a player. You can use {@prefix} for the prefix, and %loop-player% for the player
spamamount: 10# How many messages in 5 seconds should be sent until punishment
# Nick / name change
NickChanged: &eYour nick has been changed!
NoPermissions: &cYou need to the rank &6VIP+ &cbuy on &6www.WEBSITEHERE.net
NickError: &cNope.
Command: /nick
Aliases: /nickname
Permission: nick.use
# Chat filter
Version: v0.0.0.4
tempbanCommand: tempban %player% You were suspended for 10 min
# filter.manage - Able to add / remove filtered words
# filter.bypass - Able to bypass the filter
Mentions: true# When true it will notify a player when their name is said in chat
function contains(list: objects, check: object) :: boolean:
loop {_list::*}:
if {_check} contains loop-value:
return true
return false
#if contains({filter::blockedwords::*}, arg-2) is false:
command /filter [<text>] [<text>]:
permission: filter.manage
permission message: {@prefix} &cHey! I can not allow you to do that.
trigger:
if arg-1 is set:
if arg-1 is "add":
if arg-2 is set:
if contains({filter::blockedwords::*}, arg-2) is true:
send "{@prefix}&c %arg-2% is already added to the filter!"
stop
else:
if arg-2 is not "hoe":
add arg-2 to {filter::blockedwords::*}
send "{@prefix}&c %arg-2% has been added to the filter."
stop
if arg-2 is "hoe":
send "{@prefix} &cError could happen if user types ""whoever"", it will trigger the chatfilter!"
add arg-2 to {filter::blockedwords::*}
send "{@prefix}&c %arg-2% has been added to the filter."
stop
if arg-2 is not set:
send "{@prefix}&c /filter <add <filtered word>/remove <filtered word>/list>"
stop
stop
if arg-1 is "remove":
if arg-2 is set:
if contains({filter::blockedwords::*}, arg-2) is true:
remove arg-2 from {filter::blockedwords::*}
send "{@prefix}&c %arg-2% has been removed from the filter."
stop
if contains({filter::blockedwords::*}, arg-2) is false:
send "{@prefix}&c That word is not in the filter."
stop
stop
stop
if arg-1 is "list":
set {_filter} to "%{filter::blockedwords::*}%"
replace every "<none>" in {_filter} with "None"
send "{@prefix} &cThe blocked words are: &7%{_filter}%"
stop
if arg-1 is not "list" or "add" or "set":
send "{@prefix}&c /filter <add <filtered word>/remove <filtered word>/list>"
stop
stop
if arg-1 is not set:
send "{@prefix}&c /filter <add <filtered word>/remove <filtered word>/list"
stop
stop
on chat:
if player has permission "filter.bypass":
stop
if player does not have permission "filter.bypass":
if contains({filter::blockedwords::*}, message) is true:
cancel event
send "{@prefix}&c Please try to refrain from these types of words."
loop all players:
if loop-player has permission "filter.notify":
send "{@prefix} &f%player% has tried to say a filtered word." to loop-player
stop
else:
stop
stop
else:
stop
on chat:
if player doesn't have permission "antispam.ignore":
{antispam.command.spam} is true
add 1 to {spam.%player%}
if {spam.%player%} is 2:
message "{@prefix} &c&l&mSPAM!"
if {spam.%player%} is 3:
make console execute command "kick %player% Do not spam"
wait 5 seconds
if {spam.%player%} is 10:
make console execute command "{@tempbanCommand}"
on chat:
if {@Mentions} is true:
loop all players:
if message contains loop-player's name:
wait 1 tick
play sound "entity::experience_orb::pickup" with volume 1 to the loop-value
send title "&bYou got mentioned!" with subtitle "&aMessage: '%message%'" to loop-player for 1 second
send "{@prefix} You got mentioned. Message: '%message%'" to loop-value
command /antispam:
description: /true Active /false Deactive.
usage: /true Active /false Deactive.
permission: antispam.admin
permission message: &c&lNo Permission
trigger:
if {antispam.command.spam} is true:
message "{@prefix} &eAntiSpam Deactiveated"
set {antispam.command.spam} to false
else:
message "{@prefix} &eAntiSpam Activeated"
set {antispam.command.spam} to true
command {@Command} [<text>]:
permission: {@Permission}
permission message: {@prefix} {@NoPermissions}
aliases: {@Aliases}
trigger:
if arg-1 is set:
set player's display name to "%arg 1%"
if player has permission "{@default-perm}":
set player's tablist name to "{@default-prefix} %arg 1%"
set {%player's uuid%.prefix} to "{@default-prefix}"
if player has permission "{@moderator-perm}":
set player's tablist name to "{@moderator-prefix} %arg 1%"
set {%player's uuid%.prefix} to "{@moderator-prefix}"
if player has permission "{@owner-perm}":
set player's tablist name to "{@owner-prefix} %arg 1%"
set {%player's uuid%.prefix} to "{@owner-prefix}"
send "{@prefix} {@NickChanged}" to player
else:
send "{@prefix} {@NickError}" to player
command /channel <text>:
usage: Use /channel list for a list
trigger:
if arg-1 is "list":
message "{@prefix} Available channels:"
if player has permission "{@channel-default-perm}":
json("%player%", "{@prefix} default||cmd:/channel default||ttp:&6&lCLICK&f to switch channels")
if player has permission "{@channel-help-perm}":
json("%player%", "{@prefix} help||cmd:/channel help||ttp:&6&lCLICK&f to switch channels")
if player has permission "{@channel-staff-perm}":
json("%player%", "{@prefix} staff||cmd:/channel staff||ttp:&6&lCLICK&f to switch channels")
if arg-1 is "default":
if player has permission "{@channel-default-perm}":
set {%player's uuid%.channel} to "default"
message "{@prefix} Switched to default channel"
else:
message "{@prefix} &cYou dont have the perms!"
else if arg-1 is "help":
if player has permission "{@channel-help-perm}":
set {%player's uuid%.channel} to "help"
message "{@prefix} Switched to help channel"
else:
message "{@prefix} &cYou dont have the perms!"
else if arg-1 is "staff":
if player has permission "{@channel-staff-perm}":
set {%player's uuid%.channel} to "staff"
message "{@prefix} Switched to staff channel"
else:
message "{@prefix} &cYou dont have the perms!"
else:
if arg-1 is not "list":
message "{@prefix} &cNot a valid channel!"
every 5 minutes:
loop all players:
if loop-value has permission "{@default-perm}":
set loop-value's tablist name to "{@default-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@default-prefix}"
if loop-value has permission "{@moderator-perm}":
set loop-value's tablist name to "{@moderator-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@moderator-prefix}"
if loop-value has permission "{@owner-perm}":
set loop-value's tablist name to "{@owner-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@owner-prefix}"
on join:
loop all players:
if loop-value has permission "{@default-perm}":
set loop-value's tablist name to "{@default-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@default-prefix}"
if loop-value has permission "{@moderator-perm}":
set loop-value's tablist name to "{@moderator-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@moderator-prefix}"
if loop-value has permission "{@owner-perm}":
set loop-value's tablist name to "{@owner-prefix} %loop-value%"
set {%loop-value's uuid%.prefix} to "{@owner-prefix}"
if {@remember-channel} is false:
set {%player's uuid%.channel} to "default"
if {%player's uuid%.channel} is not "default" or "help" or "staff":
set {%player's uuid%.channel} to "default"
on chat:
if {%player's uuid%.channel} is "default":
if player has permission "{@channel-default-perm}":
cancel event
loop all players:
if {%loop-value's uuid%.channel} is "default":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-default}" to loop-value
else if player has permission "filter.bypass":
send "{@format-default}" to loop-value
if {%loop-value's uuid%.channel} is "staff":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-default}" to loop-value
else if player has permission "filter.bypass":
send "{@format-default}" to loop-value
if {%loop-value's uuid%.channel} is "help":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-default}" to loop-value
else if player has permission "filter.bypass":
send "{@format-default}" to loop-value
else:
message "{@prefix} &4Nope you dont have the perms."
if {%player's uuid%.channel} is "help":
if player has permission "{@channel-help-perm}":
cancel event
loop all players:
if {%loop-value's uuid%.channel} is "help":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-help}" to loop-value
else if player has permission "filter.bypass":
send "{@format-help}" to loop-value
if {%loop-value's uuid%.channel} is "staff":
if loop-value has permission "{@channel-help-perm}":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-help}" to loop-value
else if player has permission "filter.bypass":
send "{@format-help}" to loop-value
if {%loop-value's uuid%.channel} is "default":
if loop-value has permission "{@channel-default-perm}":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-help}" to loop-value
else if player has permission "filter.bypass":
send "{@format-help}" to loop-value
else:
message "{@prefix} &cNope you dont have the perms."
if {%player's uuid%.channel} is "staff":
if player has permission "{@channel-staff-perm}":
cancel event
loop all players:
if {%loop-value's uuid%.channel} is "staff":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-staff}" to loop-value
else if player has permission "filter.bypass":
send "{@format-staff}" to loop-value
if {%loop-value's uuid%.channel} is "default":
if loop-value has permission "{@channel-staff-perm}":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-staff}" to loop-value
else if player has permission "filter.bypass":
send "{@format-staff}" to loop-value
if {%loop-value's uuid%.channel} is "help":
if loop-value has permission "{@channel-staff-perm}":
if contains({filter::blockedwords::*}, message) is false:
send "{@format-staff}" to loop-value
else if player has permission "filter.bypass":
send "{@format-staff}" to loop-value
else:
message "{@prefix} &cNope you dont have the perms."
command /sksudo <player> <text>:
description: Make a player execute a command or chat
usage: /sksudo player command / text
permission: sksudo.use
aliases: skriptsudo, sudo, ssudo
trigger:
if arg-2 contains "/":
make arg-1 say "%arg-2%"
loop all players:
if loop-value is op:
send "{@prefix} Made %arg-1% use %arg-2%" to loop-player
else:
message "{@prefix} It must be a command not a text!"
command /justm <text>:
description: Just say some text, no Prefixes
usage: /justm text (Just say some text, no Prefixes)
trigger:
message "%arg-1%"