Initial commit

This commit is contained in:
Govindas 2022-09-07 12:29:20 +03:00
commit f751a0e1a1
38 changed files with 732 additions and 0 deletions

6
.gitattributes vendored Normal file
View File

@ -0,0 +1,6 @@
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
*.svg filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
website-output
resources/donate

12
Appeal.page Normal file
View File

@ -0,0 +1,12 @@
## Ban Appeal
If you have been banned and wish to have a chance at reduction of ban time, you can submit a ban appeal here.
>
<form action="/appeal/submit.php" method="post" target="_self" autocomplete="off">
<label for="banid">Ban ID (As seen on ban screen)</label><br>
<input type="text" style="background-color:green;color:white;border-radius:1.1em;border-color:darkgreen;" id="banid" name="banid" maxlength="16" required autofocus><br>
<label for="banreason">Ban reason</label><br>
<input type="text" style="background-color:green;color:white;border-radius:1.1em;border-color:darkgreen;" id="banreason" name="banreason" maxlength="100" required><br>
<label for="whyunban">Why do you think you should be unbanned?</label><br>
<textarea name="whyunban" maxlength="2000" style="background-color:green;color:white;height:7em;width:25em;border-radius:1.1em;border-color:darkgreen;" ></textarea><br>
<input type="submit" value="Submit">
</form>

5
Chat.page Normal file
View File

@ -0,0 +1,5 @@
## Chat
We use Matrix, a federated open source chat platform for our chat. (Registration is handled by a third-party, not us)
[Join our Matrix Space](https://matrix.to/#/!FiXPFoxZAYoyYgKDYN:govindas.net?via=govindas.net&via=matrix.org)

19
Home.page Executable file
View File

@ -0,0 +1,19 @@
## About
Govindas Limework is a network of (Java) Minecraft servers that consists of these gamemodes:
• Friendly Survival
• Creative World
• The Mining Camp
• Castle Wars
• Bomberman
• Spleent
• Snowball (6 modes!)
• Elemental Archers (6 modes!)
• Sky Walls
• Govindas Survival Games
• Knockout
• 1v1
Server IP: **MC.LIMEWORK.NET** (1.16.5+ version)
## News
[New website](/news/2022/01/new-website) (2022-01-23)

13
Privacy Policy.page Normal file
View File

@ -0,0 +1,13 @@
## Privacy Policy
We care about your privacy and have designed our systems with privacy in mind.
### Website
Our main website does not use JavaScript or cookies. Only our external websites, Store, Gitea, PeerTube and Creative Map may use it. (Privacy policy of our external websites is a work in progress)
#### Data we collect
After visit of our website, your IP address and browser agent may be stored for up to 24 hours in our webserver logs for technical administration purposes. We will not share this data with anyone else, and we may not always collect this data actively, collection may be disabled when there is no maintenance.
### Minecraft Server(s)
#### Data we collect
We store the following data:
• the last used IP address when you login to the server for session management and moderation purposes. We do not store a history of IP addresses.
• your Minecraft username and UUID (Universally Unique Identifier), which may be linked to your Microsoft account.
• statistics about your actions on the server (Such as, but not limited to: Placing blocks, playing minigames, time played, first and last login dates)
• all messages you send in the global server chat (Messages outside global chat are not logged, unless ongoing investigation)

22
Rules.page Normal file
View File

@ -0,0 +1,22 @@
## Minecraft Server Rules of Govindas Limework
**No swearing**
**No spamming**
**Respect all users**
**No inappropriate skins, names, messages and/or builds.**
**No advertising of other servers.** Private message to a friend is allowed.
**Do not impersonate anyone.** Staff members have tags like "CREATOR", "MOD".
**No using more than one game account to gain advantage over those that do not.**
**No exploiting of bugs** Please report them with /report bug, you'll be rewarded if deemed appropriate.
**No using mods which give an unfair advantage.** This includes bots and minimaps. No clicks per second higher than 15.
If the player fails to follow these rules they may be issued the following infractions:
**They may receive a warning.**
**They may be banned from the server.**
**They may be banned from a specific game.**
**They may be muted.**
**All or specific statistics may be deleted.**
You are responsible for all actions by your account. If, however, your account has been stolen and you changed your password, we may unban/unmute you if you submit a [ban appeal](/appeal).
*Last update: 2022-09-06*

1
Template.page Normal file
View File

@ -0,0 +1 @@
Replace this line

4
footer Normal file
View File

@ -0,0 +1,4 @@
>
<div class="footer">
<p>© Govindas Limework 2015-present <a href="/privacy-policy"><span style="float:right;color:lightgreen;">Privacy Policy</span></a></p>
</div>

22
navbar Executable file
View File

@ -0,0 +1,22 @@
>
<link href="/style.css" rel="stylesheet">
<head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<div class="header">
<a href="#"><img id="logo" src="/logo.png"></a>
</div>
</head>
Home::Home.page
Chat::Chat.page
Rules::Rules.page
&#128722; 🛒Store::https://limework.craftingstore.net
More::|
&#127959; Gitea::https://git.limework.net
&#128250; PeerTube::https://video.govindas.net
&#128506; Creative Map::https://creative.limework.net

View File

@ -0,0 +1,14 @@
## New website
by Govindas, January 23, 2022
>
<hr>
Govindas Limework has moved to a new website that is made by me, the old website used NamelessMC software which was imposing various limitations on accessibility and was not designed with privacy in mind, due to which I have decided to make my own website that is much faster and more accessible!
This new website uses no JavaScript or cookies, it is a static website for the most part, which greatly increases its speed and makes it a safer website overall, as our previous website was loading external JavaScript that I do not control.
It misses some features, but they will be developed over time, here's what is planned, that is not yet here:
• Staff Applications
• Changelog
• Leaderboards
• ~Onion mirror of our website for higher accessibility in extreme environments~
Important update posts of note-worthy changes to regular players will be posted on the website, regular changelogs will be posted at the upcoming Changelog page. (which can already be accessed in [Matrix](/chat), or the in-game /updates command)

BIN
resources/RoAMap.jpg (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/RoAMap_unedited.jpg (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/android-chrome-192x192.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/android-chrome-384x384.png (Stored with Git LFS) Executable file

Binary file not shown.

103
resources/appeal/submit.php Executable file
View File

@ -0,0 +1,103 @@
<!DOCTYPE html>
<html>
<link href="/style.css" rel="stylesheet">
<head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<div class="header">
<a href="/"><img id="logo" src="/logo.png"></a>
</div>
</head>
<body>
<meta charset="UTF-8">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/chat">Chat</a></li>
<li><a href="/rules">Rules</a></li>
<li><a href="https://limework.craftingstore.net" style="color:lightgreen;">&#128722; Store</a></li>
<li><div class="dropdown">
<button class="dropbtn">𝄘</button>
<div class="dropdown-content">
<a href="https://git.limework.net" style="color:lightgreen;">&#127959; Gitea</a>
<a href="https://video.govindas.net" style="color:lightgreen;">&#128250; PeerTube</a>
<a href="https://creative.limework.net" style="color:lightgreen;">&#128506; Creative Map</a>
</div>
</div>
</li>
</ul>
<div class='content'>
<?php
$banid=htmlspecialchars($_POST['banid']);
$banreason=htmlspecialchars($_POST['banreason']);
$whyunban=htmlspecialchars($_POST['whyunban']);
$error=false;
if (strlen($banid) > 16) {
echo "<p style='color:red;'>Error: Ban ID cannot be longer than 16 characters</p><br>";
$error=true;
} if (strlen($banid) < 16) {
echo "<p style='color:red;'>Error: Ban ID cannot be shorter than 16 characters</p><br>";
$error=true;
} if (preg_match("#[^][A-Za-z0-9]#", $banid)) {
echo "<p style='color:red;'>Error: Ban ID contains invalid characters</p><br>";
$error=true;
} if (strlen($banreason) > 100) {
echo "<p style='color:red;'>Error: Ban reason cannot be longer than 100 characters</p><br>";
$error=true;
} if (strlen($whyunban) > 2000) {
echo "<p style='color:red;'>Error: Why do you think you should be unbanned cannot be longer than 2000 characters</p><br>";
$error=true;
} if (!$error) {
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);
// webbanappeal has read-only access to bans table, nothing else. It can only be accessed in localhost. Publishing password to git is fine.
$con = mysqli_connect("localhost","webbanappeal","UpUOZhRf5WLAy920wbDqyAKLySHl677juGgL","friends");
if (!$con) {
echo "<p style='color:red;'>Failed to connect to database: " . mysqli_connect_error();
echo "</p>";
$error=true;
} else {
echo "<p>SUCCESS</p>";
}
$sanitized_banid = mysqli_real_escape_string($con, $banid);
if ($result = mysqli_query($con, "SELECT `banid` FROM `bans` WHERE `banid` = '$sanitized_banid'")) {
if (mysqli_num_rows($result) == 0) {
echo "<p style='color:red;'>Error: There is no ban with the specified ban ID. Did you enter it correctly?</p><br>";
$error=true;
} else {
// Free result set
mysqli_free_result($result);
}
}
mysqli_close($con);
}
//must not be else if, as error variable may be set above
if ($error) {
echo "<form action='/appeal'><input type='submit' value='Go back' /></form>";
} else {
echo "<p><i>Opening your ban appeal...</i></p>";
$newcontent = file_get_contents("/var/www/html/template/index.html");
$newcontent=str_replace("Replace this line", "<h1>Ban Appeal</h1><p><b>Ban ID</b><br> $banid</p><p><b>Ban Reason</b><br> $banreason</p><p><b>Why do you think you should be unbanned?</b><br> $whyunban</p><br><h2>Staff Reply</h2><p><i>None yet.</i></p>", $newcontent);
if (!file_exists("/var/www/html/appeal/view/$banid.html")) {
$handle = fopen("/var/www/html/appeal/view/$banid.html","w+");
fwrite($handle,$newcontent);
fclose($handle);
}
echo "<meta http-equiv='Refresh' content='0; url=https://limework.net/appeal/view/$banid' />";
}
?>
</div>
<div class="footer">
<p>© Govindas Limework 2015-present <a href="/privacy-policy"><span style="float:right;color:lightgreen;">Privacy Policy</span></a></p>
</div>
</body>
</html>

BIN
resources/apple-touch-icon.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/banner.gif (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/banner.jpg (Stored with Git LFS) Executable file

Binary file not shown.

9
resources/browserconfig.xml Executable file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
resources/downloads/GovindaSK.jar Executable file

Binary file not shown.

BIN
resources/favicon-16x16.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/favicon-32x32.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/favicon.ico (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/greenapple-server-icon.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/logo.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/mstile-150x150.png (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/resourcepacks/Unloading.zip (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/resourcepacks/VeteranPack1.12.zip (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/resourcepacks/VeteranPack1.14.zip (Stored with Git LFS) Executable file

Binary file not shown.

BIN
resources/safari-pinned-tab.svg (Stored with Git LFS) Executable file

Binary file not shown.

19
resources/site.webmanifest Executable file
View File

@ -0,0 +1,19 @@
{
"name": "Govindas Limework",
"short_name": "Limework",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View File

@ -0,0 +1 @@
<meta http-equiv="refresh" content="0;url=https://limework.craftingstore.net">

164
resources/style.css Executable file
View File

@ -0,0 +1,164 @@
#logo {
display: inline-block;
float: center;
height: 7.0vmax;
width: auto; /* correct proportions to specified height */
}
* {
box-sizing: border-box;
}
/* Header/Blog Title */
.header {
padding: 0px;
font-size: 40px;
text-align: center;
background: gold radial-gradient(lightgreen, green);
}
body {
font-family: "Verdana", sans-serif;
background: gold radial-gradient(lightgreen, green);
}
ul {
list-style-type: none;
margin: 2px;
padding: 0;
overflow: hidden;
background-color: #333;
border-radius: 25px;
float: center;
}
li {
float: left;
}
li a {
display: block;
color: white;
text-align: center;
padding: 15px 35px;
text-decoration: none;
font-size: 3.0vmin;
}
@media only screen and (max-width: 1000px) {
li a {
display: block;
color: white;
text-align: center;
padding: 15px 35px;
text-decoration: none;
font-size: 3.0vmax;
}
}
li a:hover:not(.active) {
background-color: #111;
}
/* Add a card effect for articles */
.content {
color: white;
background-color: #333;
padding: 1.5em;
margin-top: 1.5em;
border-radius: 1.1em;
font-size: 2.0vmin;
}
@media only screen and (max-width: 1000px) {
.content {
color: white;
background-color: #333;
padding: 1.5em;
margin-top: 1.5em;
border-radius: 1.1em;
font-size: 2.0vmax;
}
}
.active {
background-color: #04AA6D;
}
.footer {
color: white;
background-color: #333;
padding: 1em;
margin-top: 1em;
font-size: 2.0vmin;
}
@media only screen and (max-width: 1000px) {
.footer {
color: white;
background-color: #333;
padding: 1em;
margin-top: 1em;
font-size: 2.0vmax;
}
}
/* URL color */
a {
color: lightgreen;
}
/* Dropdown button */
.dropdown .dropbtn {
display: block;
border: none;
color: white;
text-align: center;
padding: 15px 35px;
text-decoration: none;
font-size: 3.0vmin;
background-color: inherit;
}
@media only screen and (max-width: 1000px) {
.dropdown .dropbtn {
border: none;
display: block;
color: white;
text-align: center;
padding: 15px 35px;
text-decoration: none;
font-size: 3.0vmax;
background-color: inherit;
}
}
/* Dropdown content (hidden by default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #333;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
float: none;
color: white;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
/* Add a grey background color to dropdown links on hover */
.dropdown-content a:hover {
background-color: #ddd;
}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
input[type="submit"] {
display: block;
color: white;
background-color: #04aa6d;
text-align: center;
padding: 5px 15px;
text-decoration: none;
font-size: 2.0vmin;
border-radius:1.1em;
border-color:green;
}

89
resources/txt/gui.txt Executable file
View File

@ -0,0 +1,89 @@
on inventory click:
name of event-inventory is "&6- &a&lPermanent Games &6-" or "&6- &a&lMinigames &6-" or "&a- &6&lList of Games &a-"
clicked inventory is not player's inventory
cancel event
uncolored name of clicked item is set
lore of clicked item does not contain "Temporarily down"
set {_inventory} to player's current inventory
set {_name} to uncolored name of clicked item
if {_name} is "Snowball":
make player execute command "/join snowball"
else if {_name} is "Govindas Survival Games BETA":
make player execute command "/join govindassg"
else if {_name} is "Creative World":
make player execute command "/join creative"
else if {_name} is "Spleent":
make player execute command "/join spleent"
else if {_name} is "Mini Sky Walls":
make player execute command "/join miniskywalls"
else if {_name} is "Elemental Archers":
make player execute command "/join ea"
else if {_name} is "Knockout":
make player execute command "/join knockout"
else if {_name} is "The Mining Camp BETA":
make player execute command "/jointmc"
else if {_name} is "1v1":
make player execute command "/join 1v1"
else if {_name} is "Friendly Survival":
make player execute command "/join survival"
else if {_name} is "Checkers":
make player execute command "/joincheckers"
else if {_name} is "Parkour":
make player execute command "/joinparkour"
#else if {_name} is "Old-school Survival BETA":
#rpGui(player, "OSS")
else if {_name} is "Bomberman":
make player execute command "/join bomberman"
else if {_name} is "RTS Castle Wars BETA":
make player execute command "/join castlewars"
command /games [<text>]:
trigger:
set {_language} to epic variable "%uuid of player%::language"
if {-inventorycache::games::%{_language}%} is not set:
set {-inventorycache::games::%{_language}%} to chest inventory with 6 rows named "&a- &6&lList of Games &a-"
set {_sp} to translate("Friendly survival with tech and magic! Explore many dimensions, grow beautiful trees and more!", player)
set slot 0 of {-inventorycache::games::%{_language}%} to bottle o' enchanting named "&aFriendly Survival" with lore colored "&7%{_sp}%", "", translate("&aThis game can be played &e&lalone&a.", player), "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set slots (1, 10, 19, 28, 37, 46) of {-inventorycache::games::%{_language}%} to light green stained glass pane named "&a"
set {_sp} to translate("Creative world with a lot of useful features! WorldEdit, VoxelSniper, goBrush, goPaint, a huge collection of player heads and even a lot of furniture!", player)
set slot 9 of {-inventorycache::games::%{_language}%} to brick block named "&aCreative World" with lore colored "&7%{_sp}%", "", translate("&aThis game can be played &e&lalone&a.", player), "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Complete parkour races, earn prizes and compete in leaderboards!", player)
set slot 18 of {-inventorycache::games::%{_language}%} to ladder item named "&aParkour" with lore colored "&7%{_sp}%", "", translate("&aThis game can be played &e&lalone&a.", player), "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Mine ores, upgrade pickaxes, buy awesome upgrades and unlock new caves!", player)
set slot 27 of {-inventorycache::games::%{_language}%} to diamond pickaxe with no nbt named "&aThe Mining Camp &c&lBETA" with lore colored "&7%{_sp}%", "", translate("&aThis game can be played &e&lalone&a.", player), "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Here you can find little GUI minigames, these minigames unlike others, aren't made by us, it's just a downloaded plugin, but they are still fun!", player)
set slot 36 of {-inventorycache::games::%{_language}%} to {heads::rubix} named "&a&lGUI Minigames" with lore colored "&7%{_sp}%", "", "&a&l%translate(""CLICK TO OPEN MENU"", player)%"
set {_sp} to translate("Shoot other players with snowballs, buy powerups with melons and play in many different modes!", player)
set slot 3 of {-inventorycache::games::%{_language}%} to snowball named "&fSnowball" with lore colored "&7%{_sp}%", "", "&a◗ &7Deathmatch", "&a◗ &7Team Deathmatch", "&a◗ &7Team Elimination", "&a◗ &7Capture The Flag", "&a◗ &7Juggernaut", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Loot chests, fight other players, find randomly generated loot with interesting abilities and throw mob eggs like pokeballs!", player)
set slot 5 of {-inventorycache::games::%{_language}%} to slime spawn egg named "&aGovindas Survival Games &c&lBETA" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Quickly test your skill by fighting other players with a huge variety of modifiers!", player)
set slot 7 of {-inventorycache::games::%{_language}%} to lead named "&a1v1" with lore colored "&7%{_sp}%", "", "", "&a%translate(""This game can be played with only &e&l2 &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Play various classes with different abilities and use your bow skills to win in many different modes!", player)
set slot 21 of {-inventorycache::games::%{_language}%} to bow named "&aElemental Archers" with lore colored "&7%{_sp}%", "", "&a◗ &7Deathmatch", "&a◗ &7Team Deathmatch", "&a◗ &7Team Elimination", "&a◗ &7Capture The Flag", "&a◗ &7Juggernaut", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Hit to level up your stick and knock other players in to the void!", player)
set slot 23 of {-inventorycache::games::%{_language}%} to stick named "&aKnockout" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Spleef + TNT = Spleent! Explode other players into the void!", player)
set slot 25 of {-inventorycache::games::%{_language}%} to any hoe named "&aSpleent" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Defend your castle, attack other castles, command your army and become the best commander!", player)
set slot 39 of {-inventorycache::games::%{_language}%} to stone brick named "&6RTS &7Castle Wars &c&lBETA" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Explode your way to other players and explode them!", player)
set slot 41 of {-inventorycache::games::%{_language}%} to tnt named "&aBomberman" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
set {_sp} to translate("Gather resources, prepare for fight, protect your Crystal of Life, attack other crystals and win the game!", player)
set slot 43 of {-inventorycache::games::%{_language}%} to light green wool or light blue wool or red wool named "&aMini Sky Walls" with lore colored "&7%{_sp}%", "", "&a%translate(""This game can be played with &e&l2&a&l+ &aplayers."", player)%", "", "&6⇨ &a&l%translate(""CLICK TO PLAY"", player)%"
open {-inventorycache::games::%{_language}%} to player

57
resources/txt/lore.sk Executable file
View File

@ -0,0 +1,57 @@
#override with lore expression so I can make veeery custom lores
#TODO I think Spigot API has a way to get last color code, that would highly reduce count of code needed for this
expression %itemstack% with lore %strings%:
get:
set {_item} to expression 1
set {_lore::*} to expressions 2
loop {_lore::*}:
if loop-value contains "||":
set {_list::*} to loop-value split at "||"
delete {_lore::%loop-index%}
loop {_list::*}:
add 1 to {_i}
set {_lore::%loop-index-1%.%{_i}%} to loop-value-2
loop {_lore::*}:
length of uncolored loop-value is higher than 25
delete {_lore::%loop-index%}
set {_index} to loop-index parsed as a number
set {_line} to loop-value
set {_line::*} to {_line} split at " "
set {_colors} to loop-value
set {_color} to ""
delete {_last}
{_firstline} is not set:
while first index of "§" in {_colors} is not -1:
add 1 to {_nolag}
if {_nolag} is higher than 1000:
send "LAGG lore" to ops
stop
set {_c} to first index of "§" in {_colors}
set {_final} to substring of {_colors} from characters {_c} to {_c}+1
set {_color} to "%{_color}%%{_final}%"
set {_last} to {_final}
set {_colors} to substring of {_colors} from characters {_c}+1 to length of {_colors}
else:
set {_firstline} to true
loop {_line::*}:
if {_text} is not set:
set {_text} to "%{_color}%%loop-value-2%"
else:
set {_text} to "%{_text}% %loop-value-2%"
if length of uncolored {_text} is not less than 25:
add 0.0001 to {_adder}
set {_A} to {_index}+{_adder}
set {_lore::%{_A}%} to {_text}
delete {_text}
{_text} is set:
add 0.0002 to {_adder}
set {_A} to {_index}+{_adder}
set {_lore::%{_A}%} to {_text}
delete {_text}
set lore of {_item} to {_lore::*}
return {_item}

50
resources/txt/mcservers.txt Executable file
View File

@ -0,0 +1,50 @@
title: Govindas Limework[Hub][Creative][Minigames][PVE]{1.12.2&1.13.2}{Survival}{Custom}
```
.
```
**Hello everyone! I'm here to present you my server, Govindas Limework!**
10+ gamemodes and frequent updates! We started our server in **January 2015** and it has been under development ever since! Nearly everything is custom-coded. We focus on the enjoyment of low player count, so just 4 players can experience the full fun of the server! There are also many games which **can be played alone.**
**GAMEMODES**
**Castle Wars:** *Train and command your own AI army and battle other players AI armies! The first Real-Time Strategy game in Minecraft!*
**Snowball:** *Shoot other players with snowballs in even 6 different modes, ranging from Juggernaut to CTF!*
**Friendly Survival:** *10+ dimensions, realistic water mechanics, realistic weathers, slimefun and much more!*
**Bomberman:** *Minecraft minigame based on an old arcade with the same name. Use bombs to trap and destroy your opponents.*
**Elemental Archers:** *Play using various different classes, from Nature Archer to Ender Archer! Many modes and a big variety of playstyles.*
**Creative World:** *Build using free worldedit, furniture (fridges, lamps, beds, chairs and many other new blocks in Minecraft!) and various other tools, THE BEST CREATIVE WORLD!*
**Parkour:** *Complete parkour courses and compete with others for the best timing!*
**Checkers:** *Play the ancient strategy game in Minecraft!*
**1v1:** *Test your fighting skills and modify your duels with many modifiers!*
**Spleent:** *Explode other players into the void! Super fast-paced game!*
(some gamemodes have been cut from the list to reduce text)
**A lot of other awesome features await you on the server! Feel free to join now!**
Server IP: **mc.limework.net**
Version: 1.12.2 and 1.13.2 (varies from server to server)
Matrix: https://limework.net/chat
Rules: https://limework.net/rules
Website: https://limework.net/
https://limework.net/banner.gif
```
.
```

69
resources/txt/newlore.sk Executable file
View File

@ -0,0 +1,69 @@
import:
org.bukkit.ChatColor
options:
CharacterLimitPerLine: 25
LegacyLoreSupport: true
#USAGE
#set slot 0 of player's current inventory to emerald with lore "your lore here", "maybe here too?"
#OR if the syntax override isn't working for you
#set slot 0 of player's current inventory to emerald with custom lore "your lore here", "maybe here too?"
expression %itemstack% with [custom] lore %strings%:
get:
set {_item} to expression 1
set {_lore::*} to expressions 2
if {@LegacyLoreSupport} is true:
loop {_lore::*}:
loop loop-value split at "||":
add 1 to {_i}
#the weird index is needed to keep things in right line order after split
set {_lore::%loop-index-1%.0%{_i}%} to loop-value-2
if {_lore::%loop-index%.0%{_i}%} is set:
delete {_lore::%loop-index%}
loop {_lore::*}:
length of uncolored loop-value is higher than {@CharacterLimitPerLine}:
loop loop-value split at " ":
set {_color} to ChatColor.getLastColors({_lasttext} ? loop-value-2)
if {_textt} is not set:
set {_textt} to "%{_color}%%loop-value-2%"
else:
set {_textt} to "%{_textt}% %loop-value-2%"
#for getting color codes of last text later
set {_lasttext} to {_textt}
#when one line reaches character limit
if length of uncolored {_textt} is not less than {@CharacterLimitPerLine}:
add {_textt} to {_lorefinal::*}
delete {_textt}
#when the whole line is over, but not reached character limit
{_textt} is set:
add {_textt} to {_lorefinal::*}
delete {_textt}
else:
#when the line doesn't need splitting, it is shorter than the character limit
add loop-value to {_lorefinal::*}
set lore of {_item} to {_lorefinal::*}
return {_item}