Initial commit

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

BIN
resources/RoAMap.jpg LFS Executable file

Binary file not shown.

BIN
resources/RoAMap_unedited.jpg LFS Executable file

Binary file not shown.

BIN
resources/android-chrome-192x192.png LFS Executable file

Binary file not shown.

BIN
resources/android-chrome-384x384.png 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 LFS Executable file

Binary file not shown.

BIN
resources/banner.gif LFS Executable file

Binary file not shown.

BIN
resources/banner.jpg 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 LFS Executable file

Binary file not shown.

BIN
resources/favicon-32x32.png LFS Executable file

Binary file not shown.

BIN
resources/favicon.ico LFS Executable file

Binary file not shown.

BIN
resources/greenapple-server-icon.png LFS Executable file

Binary file not shown.

BIN
resources/logo.png LFS Executable file

Binary file not shown.

BIN
resources/mstile-150x150.png LFS Executable file

Binary file not shown.

BIN
resources/resourcepacks/Unloading.zip LFS Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
resources/safari-pinned-tab.svg 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}