Merge branch 'main' into schematic-revisions

This commit is contained in:
2025-07-03 00:45:03 +02:00
10 changed files with 156 additions and 39 deletions
@@ -55,11 +55,11 @@ public enum UserPerm {
p.put(PREFIX_YOUTUBER, new Prefix("§7", "YT"));
p.put(PREFIX_GUIDE, new Prefix("§a", "Guide"));
p.put(PREFIX_SUPPORTER, new Prefix("§6", "Sup"));
p.put(PREFIX_MODERATOR, new Prefix("§6", "Mod"));
p.put(PREFIX_BUILDER, new Prefix("§e", "Arch"));
p.put(PREFIX_DEVELOPER, new Prefix("§e", "Dev"));
p.put(PREFIX_ADMIN, new Prefix("§e", "Admin"));
p.put(PREFIX_SUPPORTER, new Prefix("§x§1§e§3§a§8§a", "Sup")); // #1e3a8a
p.put(PREFIX_MODERATOR, new Prefix("§x§9§2§4§0§0§e", "Mod")); // #92400e
p.put(PREFIX_BUILDER, new Prefix("§x§1§5§8§0§3§d", "Arch")); // #15803d
p.put(PREFIX_DEVELOPER, new Prefix("§x§0§7§5§9§8§5", "Dev")); // #075985
p.put(PREFIX_ADMIN, new Prefix("§x§9§9§1§b§1§b", "Admin")); // #991b1b
prefixes = Collections.unmodifiableMap(p);
}
@@ -0,0 +1,30 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.lobby.particle.elements;
import de.steamwar.lobby.particle.ParticleElement;
import de.steamwar.lobby.particle.ParticleTickData;
public class None implements ParticleElement {
@Override
public void tick(ParticleTickData particleTickData) {
}
}
@@ -78,14 +78,17 @@ public enum CustomEasterParticle implements ParticleEnum {
// TODO: Implement TheReaper22122!
// TODO: Implement Bosslar!
// TODO: Implement ATOM65!
PLAYER_3266(new ParticleData(Material.CHORUS_FRUIT, "PARTICLE_PLAYER_3266", ParticleRequirement.easterEventSpecificPlayer(3266),
new Always(new NonFlying(new Cloud(new LocationMutator(new TrippleCircle(
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
0.7,
0.5), location -> location.add(0, 0.6, 0)
)))))
PLAYER_3266(new ParticleData(Material.BREAD, "PARTICLE_PLAYER_3266", ParticleRequirement.easterEventSpecificPlayer(3266),
new Group(
new Always(new Sneaking(new LocationMutator(new None(), location -> location))),
new Always(new NonFlying(new LocationMutator(new TrippleCircle(
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
new DustParticle(Particle.REDSTONE, new Gradient(Color.CYAN, Color.BLUE, Color.MAGENTA.darker(), Color.RED, Color.YELLOW, Color.GREEN, Color.CYAN)),
0.7,
0.5), location -> location.add(0, 0.6, 0)
))))
)
),
// TODO: Implement Gehfxhler!
// TODO: Implement SchwarzerFuerst
@@ -0,0 +1,58 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2024 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
plugins {
steamwar.java
alias(libs.plugins.shadow)
}
tasks.shadowJar {
exclude("META-INF/*")
exclude("org/sqlite/native/FreeBSD/**', 'org/sqlite/native/Mac/**', 'org/sqlite/native/Windows/**', 'org/sqlite/native/Linux-Android/**', 'org/sqlite/native/Linux-Musl/**")
exclude("org/sqlite/native/Linux/aarch64/**', 'org/sqlite/native/Linux/arm/**', 'org/sqlite/native/Linux/armv6/**', 'org/sqlite/native/Linux/armv7/**', 'org/sqlite/native/Linux/ppc64/**', 'org/sqlite/native/Linux/x86/**")
exclude("org/slf4j/**")
//https://imperceptiblethoughts.com/shadow/configuration/minimizing/
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
tasks.build {
finalizedBy(tasks.shadowJar)
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
dependencies {
compileOnly(libs.velocity)
annotationProcessor(libs.velocityapi)
implementation(libs.jda) {
exclude(module = "opus-java")
}
implementation(libs.sqlite)
implementation(libs.mysql)
implementation(libs.msgpack)
implementation(libs.apolloprotos)
implementation(libs.nbt)
}
@@ -0,0 +1,29 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.discord;
import com.velocitypowered.api.plugin.Plugin;
@Plugin(
id = "depencendiesvelocitycore",
name = "DepencendiesVelocityCore"
)
public class Dependencies {
}
+2 -25
View File
@@ -22,19 +22,6 @@ plugins {
alias(libs.plugins.shadow)
}
tasks.shadowJar {
exclude("META-INF/*")
exclude("org/sqlite/native/FreeBSD/**', 'org/sqlite/native/Mac/**', 'org/sqlite/native/Windows/**', 'org/sqlite/native/Linux-Android/**', 'org/sqlite/native/Linux-Musl/**")
exclude("org/sqlite/native/Linux/aarch64/**', 'org/sqlite/native/Linux/arm/**', 'org/sqlite/native/Linux/armv6/**', 'org/sqlite/native/Linux/armv7/**', 'org/sqlite/native/Linux/ppc64/**', 'org/sqlite/native/Linux/x86/**")
exclude("org/slf4j/**")
//https://imperceptiblethoughts.com/shadow/configuration/minimizing/
minimize {
exclude(project(":VelocityCore"))
exclude(dependency("mysql:mysql-connector-java:.*"))
}
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
tasks.build {
finalizedBy(tasks.shadowJar)
}
@@ -51,21 +38,10 @@ dependencies {
compileOnly(libs.viavelocity)
compileOnly(project(":VelocityCore:Persistent", "default"))
compileOnly(project(":VelocityCore:Dependencies", "default"))
implementation(project(":CommonCore"))
implementation(project(":CommandFramework"))
implementation(libs.sqlite)
implementation(libs.mysql)
implementation(libs.jda) {
exclude(module = "opus-java")
}
implementation(libs.msgpack)
implementation(libs.apolloprotos)
implementation(libs.nbt)
}
tasks.register<DevServer>("DevVelocity") {
@@ -73,5 +49,6 @@ tasks.register<DevServer>("DevVelocity") {
description = "Run a Dev Velocity"
dependsOn(":VelocityCore:shadowJar")
dependsOn(":VelocityCore:Persistent:jar")
dependsOn(":VelocityCore:Dependencies:shadowJar")
template = "DevVelocity"
}
@@ -60,7 +60,7 @@ import java.util.logging.Logger;
@Plugin(
id = "velocitycore",
name = "VelocityCore",
dependencies = { @Dependency(id = "persistentvelocitycore") }
dependencies = { @Dependency(id = "persistentvelocitycore"), @Dependency(id = "depencendiesvelocitycore") }
)
public class VelocityCore implements ReloadablePlugin {
+18
View File
@@ -1,3 +1,5 @@
import java.security.MessageDigest
/*
* This file is a part of the SteamWar software.
*
@@ -121,6 +123,22 @@ class DevServer extends DefaultTask {
}
def archive = archiveTask.archiveFile.get().asFile
Process process = new ProcessBuilder("ssh", host, "-T", "sha1sum $base/${archive.name.replace("-all", "")}").start();
byte[] bytes = MessageDigest.getInstance("sha1").digest(archive.bytes)
StringBuilder sb = new StringBuilder()
for (byte b : bytes) {
sb.append(String.format("%02X", b))
}
boolean same = false
process.inputStream.readLines().forEach {
same |= it.startsWith(sb.toString().toLowerCase())
}
if (same) {
println("Skipping $archive")
return
}
println("Uploading $archive")
new ProcessBuilder("ssh", host, "-T", "rm $base/${archive.name.replace("-all", "")}").start().waitFor()
new ProcessBuilder("scp", archive.absolutePath, "$host:~/$base/${archive.name.replace("-all", "")}").start().waitFor()
+1
View File
@@ -247,6 +247,7 @@ include("TutorialSystem")
include(
"VelocityCore",
"VelocityCore:Dependencies",
"VelocityCore:Persistent"
)
+1
View File
@@ -29,6 +29,7 @@ artifacts:
"/jars/TutorialSystem.jar": "TutorialSystem/build/libs/TutorialSystem.jar"
"/jars/PersistentVelocityCore.jar": "VelocityCore/Persistent/build/libs/Persistent.jar"
"/jars/DependenciesVelocityCore.jar": "VelocityCore/Dependencies/build/libs/Dependencies-all.jar"
"/jars/VelocityCore.jar": "VelocityCore/build/libs/VelocityCore-all.jar"
"/usr/local/bin/deployarena.py": "VelocityCore/deployarena.py"