Dieser Commit ist enthalten in:
Chaoscaot 2023-12-05 17:36:31 +01:00
Ursprung 89e6f9cff4
Commit 0fc220ce94
25 geänderte Dateien mit 607 neuen und 342 gelöschten Zeilen

Datei anzeigen

@ -7,12 +7,7 @@ export default defineAstroI18nConfig({
trailingSlash: "never",
run: "client+server",
showPrimaryLocale: false,
translationLoadingRules: [
{
"routes": ["^/rules.*"],
"groups": ["^rules$"]
}
],
translationLoadingRules: [],
translationDirectory: {},
translations: {},
routes: {

Datei anzeigen

@ -1,28 +1,20 @@
<script lang="ts">
import {eventRepo} from "./repo/repo.ts";
import {astroI18n} from "astro-i18n";
import {window} from "./util.ts";
import {astroI18n, t} from "astro-i18n";
import type {ExtendedEvent} from "./types/event.ts";
export let event: ExtendedEvent;
export let group: string;
export let rows: number = 1;
function window<T>(arr: T[], len: number): T[][] {
let result: T[][] = [];
for (let i = 0; i < arr.length; i += len) {
result.push(arr.slice(i, i + len));
}
return result;
}
</script>
<div>
<table>
<tr class="font-bold border-b">
{#each Array(rows) as _}
<td>Time</td>
<td>Blue Team</td>
<td>Red Team</td>
<td>{t("announcements.table.time")}</td>
<td>{t("announcements.table.blue")}</td>
<td>{t("announcements.table.red")}</td>
{/each}
</tr>
{#each window(event.fights.filter(f => f.group === group), rows) as fights}

Datei anzeigen

@ -0,0 +1,56 @@
<script lang="ts">
import {window} from "./util.ts";
import {t} from "astro-i18n";
import type {ExtendedEvent} from "./types/event.ts";
export let event: ExtendedEvent;
export let group: string;
export let rows: number = 1;
$: teamPoints = event.teams.map(team => {
const fights = event.fights.filter(fight => fight.blueTeam.id === team.id || fight.redTeam.id === team.id);
const points = fights.reduce((acc, fight) => {
if (fight.ergebnis === 1 && fight.blueTeam.id === team.id) {
return acc + 3;
} else if (fight.ergebnis === 2 && fight.redTeam.id === team.id) {
return acc + 3;
} else if (fight.ergebnis === 3) {
return acc + 1;
} else {
return acc;
}
}, 0);
return {
team,
points,
};
}).sort((a, b) => b.points - a.points);
</script>
<div>
<table>
<tr class="font-bold border-b">
{#each Array(rows) as _}
<td>{t("announcements.table.team")}</td>
<td>{t("announcements.table.points")}</td>
{/each}
</tr>
{#each window(teamPoints, rows) as teams}
<tr>
{#each teams as team}
<td>{team.team.name}</td>
<td>{team.points}</td>
{/each}
</tr>
{/each}
</table>
</div>
<style lang="scss">
table {
@apply w-full;
}
div {
@apply p-3 bg-gray-200 dark:bg-gray-800 rounded-2xl w-3/4 mx-auto;
}
</style>

7
src/components/util.ts Normale Datei
Datei anzeigen

@ -0,0 +1,7 @@
export function window<T>(arr: T[], len: number): T[][] {
let result: T[][] = [];
for (let i = 0; i < arr.length; i += len) {
result.push(arr.slice(i, i + len));
}
return result;
}

Datei anzeigen

@ -9,5 +9,9 @@ tags:
# First Announcement
<fight-table data-event="7" data-group="Gruppe 1" data-rows="2" />
<fight-table data-event="7" data-group="Gruppe 1" data-rows="2" />
<fight-table data-event="7" data-group="Gruppe 1" data-rows="2"></fight-table>
<group-table data-event="7" data-group="Gruppe 1" data-rows="1"></group-table>
Text, text, text

Datei anzeigen

@ -6,6 +6,7 @@ export const pages = defineCollection({
schema: z.object({
title: z.string().min(1).max(80),
description: z.string().min(1).max(120),
german: z.boolean().optional().default(false),
image: z.string().optional()
})
})
@ -55,6 +56,7 @@ export const announcements = defineCollection({
description: z.string(),
image: image().optional(),
tags: z.array(z.string()),
german: z.boolean().optional().default(false),
created: z.date()
})
})

Datei anzeigen

@ -0,0 +1,4 @@
{
"translationKey": "qg",
"main": true
}

Datei anzeigen

@ -1,4 +1,5 @@
{
"translationKey": "ws",
"main": true
"main": true,
"ranked": true
}

Datei anzeigen

@ -1,6 +1,6 @@
---
title: Join Now!
description: How to join SteamWar.de
description: SteamWar Joinen
slug: jetzt-spielen
---

Datei anzeigen

@ -0,0 +1,28 @@
---
title: Teamserverintegration
description: Einen Teamserver für SteamWar einrichten
---
SteamWar bietet das direkte Einbinden von Teamservern in SteamWar an. Spezielle Konfigurationen sind nötig, damit dies gelingen kann. So muss `enforce-secure-profile` auf `false` gestellt sein. Dies deaktiviert den Zwang zum signierten Chat.
Dazu muss vonseiten des Teamserveradministrators SteamWar vertraut werden, dass wenn „Lixfel“ sich von SteamWar auf den Teamserver verbinden möchte, dies auch wirklich Lixfel ist und nicht z.B. YoyoNow.
Soll nicht jeder beliebige Spieler von SteamWar joinen können, muss eine zusätzliche Whitelist eingerichtet werden, sofern nicht das SteamWarTeamserver-Plugin verwendet wird und die dortige Whitelistfunktion genutzt wird.
Sollen Spieler mit einer anderen Minecraftversion als der nativen Teamserverversion joinen können, sollte auf dem Teamserver eine Versionsübersetzungssoftware wie ViaVersion installiert werden.
Es gibt mehrere Möglichkeiten, mit welchen der Teamserver konfiguriert werden kann, damit er dann mit `/team server` erfolgreich eingebunden werden kann:
## Bei Verwendung eines BungeeCord oder Waterfall-Servers (empfohlen)
Das SteamWarTeamserver-Plugin erlaubt es Spielern von SteamWar die `online-mode`-Prüfung zu umgehen (diese hat ja bereits bei der Verbindung mit SteamWar stattgefunden), während die `online-mode`-Prüfung für alle anderen Verbindungen weiterhin erhalten bleibt.
Ohne SteamWarTeamserver-Plugin ist es ansonsten aufgrund der weitergeleiteten UUID- und Skininformation nicht ohne andere Modifikationen möglich, die Teamserverintegration mit einem BungeeCord- oder Waterfallserver zu nutzen.
## Bei Verwendung eines anderen Minecraftservers
Die Teamserverintegration kann bei anderer Minecraftserver-Software nur mit online-mode=false funktionieren. Sollte die Serversoftware Bungee-Forwarding unterstützen (u.a. Spigot, Paper), kann diese Funktion aktiviert werden, um Verbindungen von nicht BungeeCord-Servern zu verhindern und UUIDs sowie Skins zu erhalten.
`online-mode=false` ermöglicht, wenn dieser (Team-)Server frei aus dem Internet zugänglich ist, dass sich jeder verbindende Client als jeder beliebige Spieler ausgeben kann.
Daher sollte beim Wählen dieser Option dafür gesorgt werden, dass eine Firewall so eingestellt ist, dass nur Verbindungen von SteamWar.de (78.31.71.136) und dem ggf. vorhandenen eigenen Proxyserver (z.B. BungeeCord, Waterfall, Velocity) zu diesem Teamserver gestattet sind.

Datei anzeigen

@ -0,0 +1,29 @@
---
title: Teamserverintegration
description: How to setup a Teamserver for SteamWar
german: true
---
SteamWar bietet das direkte Einbinden von Teamservern in SteamWar an. Spezielle Konfigurationen sind nötig, damit dies gelingen kann. So muss `enforce-secure-profile` auf `false` gestellt sein. Dies deaktiviert den Zwang zum signierten Chat.
Dazu muss vonseiten des Teamserveradministrators SteamWar vertraut werden, dass wenn „Lixfel“ sich von SteamWar auf den Teamserver verbinden möchte, dies auch wirklich Lixfel ist und nicht z.B. YoyoNow.
Soll nicht jeder beliebige Spieler von SteamWar joinen können, muss eine zusätzliche Whitelist eingerichtet werden, sofern nicht das SteamWarTeamserver-Plugin verwendet wird und die dortige Whitelistfunktion genutzt wird.
Sollen Spieler mit einer anderen Minecraftversion als der nativen Teamserverversion joinen können, sollte auf dem Teamserver eine Versionsübersetzungssoftware wie ViaVersion installiert werden.
Es gibt mehrere Möglichkeiten, mit welchen der Teamserver konfiguriert werden kann, damit er dann mit `/team server` erfolgreich eingebunden werden kann:
## Bei Verwendung eines BungeeCord oder Waterfall-Servers (empfohlen)
Das SteamWarTeamserver-Plugin erlaubt es Spielern von SteamWar die `online-mode`-Prüfung zu umgehen (diese hat ja bereits bei der Verbindung mit SteamWar stattgefunden), während die `online-mode`-Prüfung für alle anderen Verbindungen weiterhin erhalten bleibt.
Ohne SteamWarTeamserver-Plugin ist es ansonsten aufgrund der weitergeleiteten UUID- und Skininformation nicht ohne andere Modifikationen möglich, die Teamserverintegration mit einem BungeeCord- oder Waterfallserver zu nutzen.
## Bei Verwendung eines anderen Minecraftservers
Die Teamserverintegration kann bei anderer Minecraftserver-Software nur mit online-mode=false funktionieren. Sollte die Serversoftware Bungee-Forwarding unterstützen (u.a. Spigot, Paper), kann diese Funktion aktiviert werden, um Verbindungen von nicht BungeeCord-Servern zu verhindern und UUIDs sowie Skins zu erhalten.
`online-mode=false` ermöglicht, wenn dieser (Team-)Server frei aus dem Internet zugänglich ist, dass sich jeder verbindende Client als jeder beliebige Spieler ausgeben kann.
Daher sollte beim Wählen dieser Option dafür gesorgt werden, dass eine Firewall so eingestellt ist, dass nur Verbindungen von SteamWar.de (78.31.71.136) und dem ggf. vorhandenen eigenen Proxyserver (z.B. BungeeCord, Waterfall, Velocity) zu diesem Teamserver gestattet sind.

Datei anzeigen

@ -0,0 +1,27 @@
---
translationKey: qg
---
# QuickGear-Regelwerk
QuickGears werden in der 1.20 gebaut.
## Maße
Max. 20 Block tief (+ 1 Block Design pro Seite) (22)
Max. 35 Block breit (+ 1 Block Design pro Seite) (37)
Max. 26 Block hoch
Kein Block darf das QuickGear verlassen.
## Materialien
Alle Blöcke im QuickGear müssen durch TNT zerstörbar sein. Davon ausgenommen ist Wasser. Es dürfen sich keine TNT Blocke im QuickGear befinden. Inventarblöcke dürfen ausschließlich Blumen, Honigflaschen und Pferderüstungen beherbergen. In Werfern dürfen sich nur 1×64 Feuerbälle oder 1×64 Pfeile (ohne Effekte) befinden.
## Design
Ein Design ist erwünscht, muss aber nicht zwingend vorhanden sein.
## Bug-Using
Gezündetes TNT darf nur durch vom Spieler platzierte TNT-Blöcke entstehen. Das Duplizieren von TNT ist verboten.

Datei anzeigen

@ -2,203 +2,217 @@
translationKey: wg
---
# WarGear-Regelwerk
# WarGear 1.20 Regelwerk
Ein **WarGear** ist eine Redstone-Kampfmaschine in Minecraft. Es ist mit einer Vielzahl von Redstonetechniken und
TNT-Kanonen ausgestattet. Es ist gebaut, um anderen WarGears Schaden zuzufügen.
Diese unterteilen sich in Basic WarGear, WarGear und Pro WarGear. Basic WarGears sollen insbesondere Einsteigern eine
Möglichkeit geben in WarGears rein zu kommen und erste selbstgebaute Technik zu ermöglichen. WarGear, auch Competitive
WarGear genannt, ist der Modus, worin primär Events ausgetragen werden. Außerdem ist dieser für Casual Fights ausgelegt.
Pro WarGears sind für sogenannte "Schwitzer", welche sich mit starken SFA's und starker manueller Technik bekämpfen
wollen.
## Definitionen
Ein **WarGear** ist eine Redstone-Kampfmaschine in Minecraft. Es ist mit einer Vielzahl von
Redstonetechniken und TNT-Kanonen ausgestattet. Es ist gebaut, um anderen WarGears
Schaden zuzufügen und die eigene Besatzung zu schützen. Ein WarGear muss sowohl im
eingesendeten als auch im kampfbereiten Zustand Regelkonform sein.
### Clocks
Eine **TNT-Kanone** ist eine durchgehende Redstoneschaltung, in welche Projektile abschießt.
Diese sind die einzigen Orte, an denen Wasser verbaut werden darf, wenn es die Kanone nicht
verlässt und /oder im intakten Zustand Wasserschilde bildet. Wasser darf nur verbaut werden, sofern es den Zweck erfüllt, Beschädigungen des eigenen WarGears durch die Treibladungen der Kanone zu verhindern. Wasserquellen dürfen nicht verbaut werden, um den Platz anderer Wasserquellen einzunehmen oder diese zu ersetzen. TNT-Kanonen müssen am Gegner Schaden anrichten können und dürfen sich nicht gezielt selbst durch TNT-Explosionen zerstören.
Eine **Clock** ist ein Mechanismus, welcher in einem regelmäßigen oder unregelmäßigen Abstand wiederholt ein Signal
ausgibt. Diese muss sich unmittelbar nach Vollendung ihrer Aufgabe selbst abschalten.
Ein **Projektil** ist ein gezündetes TNT, welches die maximalen Ausfahrmaße eines WarGears
in Richtung Gegner verlässt.
### Autostarter
Eine **Treibladung** ist ein TNT, das durch seine Explosion Projektile beschleunigt. Die Treibladungen einer TNT-Kanone dürfen nur die Projektile und Treibladungen eines einzelnen Schusses beeinflussen.
Ein **Autostarter** ist eine Konstruktion, welche entweder durch Spielerinteraktion oder/durch das replacen des
einzelnen Bedrocks, automatische Kanonen und oder automatische Schilde aktiviert.
Alle **Clocks** müssen nach Vollendung ihrer Aufgabe sich selbst ausschalten.
### Kampfbereiten Zustand
<hr>
Der **Kampfbereite Zustand** beschreibt den Zustand in dem das WarGear nach der Freigabe vor dem Kampf verweilt.
## Maße
## Maße/Blöcke/Design
Höhe: 41
Block Tiefe: 47
Block Breite: 67 Block
Ein WarGear darf sich bis zu 16 Blöcke in jede Richtung ausfahren
Ein WarGear ist 41 Blöcke hoch, 47 Blöcke tief und 67 Blöcke breit. In jede Richtung, außer nach unten, darf sich dieses
16 Blöcke ausfahren.
<hr>
Es dürfen alle Blöcke in einem WarGear verbaut werden, die einen TNT-Widerstand von maximal 9 haben. Ausgenommen davon
sind alle Sprösslinge, jegliche Spawner, Eis (`minecraft:ice`), Nether-Portal und Lava. Wasser darf verbaut werden. Für
einen Autostarter darf im WarGear ein Bedrock verbaut werden, dieser muss in der Nähe der Kommandozentrale verbaut
werden. Zum Zeitpunkt der Kitvergabe, wird der Bedrock zu einem Slime Block replaced. Inventarblöcke dürfen
ausschließlich Blumen, Honigflaschen und Pferderüstungen beinhalten. Truhen, Fässer und Shulker Boxen dürfen TNT
beinhalten. In Werfer dürfen neben Blumen, Honigflaschen und Pferderüstungen auch noch 2\*64 Pfeile (ohne Effekt) oder
2\*64 Feuerbälle oder ein leerer Eimer sein. Der leeren Eimer darf hierbei nur für die Aufnahme und das wieder
platzieren von Pulverschnee verwendet werden. Es dürfen sich nur 2048 (32 Stacks) Pfeile und 2048 (32 Stacks) Feuerbälle
in Werfern befinden. In Lecterns dürfen Bücher enthalten sein.
## Blöcke
Ein WarGear benötigt ein Design. Die äußere Schicht des WarGears darf maximal einen TNT-Widerstand von 6 besitzen. Es
wird eine durchgängige Struktur über die gesamte Front des WarGears erwartet. Dies bedeutet, dass keine größeren Flächen
keine Variation in der Tiefe besitzen. Eine Variation in der Tiefe kann teilweise auch durch Mauern oder Treppenstufen
erreicht werden, darf aber nicht überwiegend dadurch erzeugt werden. Ein Design muss darüber hinaus aus mindestens 2
verschiedenen Blöcken bestehen. Alle Redstone-Elemente, wie zum Beispiel Werfer, Redstonelampen, Redstone Blöcke, usw.,
und auch jegliches Glas werden nicht mitgezählt.
Es dürfen alle Blöcke verbaut werden, die einen TNT-Widerstand von max. 9 haben.
Folgende Blöcke sind nicht erlaubt:
Alle Sprösslinge (6), jegliche Spawnerarten (52), Eis
(79), Nether-Portal (90) und Lava (10, 11)
Es darf ein **Bedrock (7)** in der Nähe der Kommandozentrale zum Zwecke eines Autostarters verbaut werden (Dieser wird zum Zeitpunkt der Kitvergabe zu einem **Slime Block (165)** replaced).
Inventarblöcke dürfen ausschließlich Blumen, Honigflaschen und Pferderüstungen beinhalten. Truhen und Fässer dürfen TNT beinhalten
Werfer dürfen nur mit je **264 Pfeilen (ohne Effekte) oder 264 Feuerbällen oder einem
leeren Eimer bestückt sein**. Dieser darf ausschließlich dazu verwendet werden, Pulverschnee
vor dem Werfer aufzunehmen und zu platzieren
Insgesamt dürfen sich von beiden Typen nur je 2048 Items (32 Stacks) in Werfern befinden.
Es dürfen max. **600 TNT** verbaut werden.
<hr>
Jedes WarGear benötigt mindestens 1 Ausguck. Einer davon muss mindestens eine auf den Gegner weisende Oberfläche
von mindestens 6 durchsichtige Blöcke aufweisen. Ein Ausguck zählt nicht als dieser, wenn er den Lauf einer Kanone
darstellt.
## Kanonen
**Manuelle Kanonen** sind TNT-Kanonen, welche manuell beladen werden müssen. Diese
dürfen vor dem Kampf nicht beladen sein. Manuelle Kanonen dürfen nach einem Beladen
auch mehrere Schüsse abgeben ohne neu beladen werden zu müssen.
Ein WarGear darf maximal 14 Kanonen beinhalten. Es ist verboten, eine Vielzahl von Kanonen als eine einzige Kanone
auszugeben.
**Automatische Kanonen** sind TNT-Kanonen, welche ohne nachzuladen mehrere Schüsse
abgeben können. Damit eine automatische Kanone vor dem Kampf beladen sein darf, muss
sie mindestens 8 Schüsse aufeinanderfolgend abgeben.
Alle 8 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. Zu beachten ist, dass die Projektile aller Schüsse immer von
dem / den exakt gleichen Punkt- /en aus gezündet und abgeschossen werden müssen. Vor
Fightbeginn darf diese vollständig leergeschossen werden.
### Definitionen
Ein WarGear darf insgesamt 14 Kanonen besitzen. Es ist verboten, eine Vielzahl von Kanonen als eine einzige Kanone auszugeben. Ob dies der Fall ist, entscheidet der Prüfer des Wargears oder der / die Kampfleiter.
Eine **Treibladung** ist ein gezündetes TNT, das durch seine Explosion Projektile und ggf. Step-Ladungen beschleunigt.
<hr>
Eine **Step-Ladung** ist ein gezündetes TNT, das durch seine Explosion Projektile und ggf. weitere Step-Ladungen
beschleunigt. Diese dürfen keinen Block Schaden am Gegner verursachen und nicht für das Brechen von Schilden genutzt
werden.
Ein **Projektil** ist ein gezündetes TNT, welches Schaden am Gegner anrichtet.
Ein **Schuss** ist der Vorgang, bei dem Treibladungen, Projektile und ggf. Step-Ladungen beschleunigt werden. Ein Schuss
ist dann beendet, wenn keine weiteren TNT-Explosionen auf die Projektile Einfluss nehmen. Die Explosionen, welche von
einem Schuss ausgehen, dürfen im Kampfbereiten Zustand nicht das eigene WarGear beschädigen. Das Beschleunigen von
mehreren Projektilen, von noch getrennten Schüssen, durch die **selben** Steps lässt diese Schüsse als einen gelten.
Der **Abschusspunkt**, ist der Punkt, an dem das TNT die letzte Beschleunigung erhält, die nachfolgend zu einem
Verlassen oder Durchfliegen des eignen WarGears führt.
**Wasser** darf nicht verbaut werden um den Platz anderer Wasserquellen einzunehmen oder diese zu ersetzten.
Eine **Kanone** ist eine durchgehende Redstoneschaltung, welche mindestens einen Schuss abgeben kann.
### Manuelle Kanonen
Manuelle Kanonen dürfen vor dem Kampfgeschehen kein TNT beinhalten. Diese werden manuell beladen und dürfen auch mehrere
Schüsse abgeben ohne neu beladen werden zu müssen.
### Automatische Kanonen
Automatische Kanonen sind Kanonen, welche vor dem Kampfgeschehen TNT beinhalten und ohne nachgeladen zu werden mehrere
Schüsse abgeben können. Zu beachten ist, dass die Projektile aller Schüsse immer von dem/den exakt gleichen Punkt-/en
aus abgeschossen werden müssen. Vor Fightbeginn dürfen automatische Kanonen vollständig leergeschossen werden.
Automatische Kanonen müssen von der Kommandozentrale aus aktivierbar sein. Dies kann auch durch den Verbau des
Autostarters innerhalb der Kommandozentrale erfolgen. Des weiteren muss eine Möglichkeit innerhalb der Kommandozentrale
gegeben sein die automatische Kanone vollständig vor Fightbeginn leerschießen zu können.
Das wiederverwenden des Abschusswinkels einer Automatischen Kanone zählt immer als zweite Kanone. Auch das Nachladen
der Automatischen Kanone zählt als zweite Kanone.
#### Competitive
336 TNT dürfen in Automatischen Kanonen vorverbaut werden. Eine automatische Kanone muss mindestens 6 Schüsse
aufeinanderfolgend abgeben. Alle 6 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. SFAs dürfen eine maximale Feuerrate von einem Schuss alle 1,5 Redstoneticks haben.
Das Zünden der Projektile und Steps ist überall erlaubt.
#### Pro
600 TNT dürfen in Automatischen Kanonen vorverbaut werden. Eine automatische Kanone muss mindestens 8 Schüsse
aufeinanderfolgend abgeben. Alle 8 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. SFAs dürfen eine maximale Feuerrate von einem Schuss alle 0,5 Redstoneticks haben.
Die Projektile und Steps aller Schüsse **müssen** von dem/den exakt gleichen Punkt-/en aus gezündet werden.
## Schilde
Alles außerhalb der Standardmaße zählt als Schild. Ausgenommen davon sind einzelne ausfahrende Blöcke und Abschussvorrichtungen von Kanonen. Automatisch aktivierte ausfahrende Schildtechniken müssen nicht aus der Kommandozentrale explizit ansteuerbar sein. Alle Schilde müssen vor dem austeilen der Kits ausgefahren sein. Durch das Ausfahren der Schilde müssen Blöcke in der Design-Schicht (s.u.) nicht mehr den Design-Vorschriften entsprechen. Scheinwerfer und Ausgucke dürfen durch ausfahrende Schilde verdeckt werden.
Jeder Block, welcher aus den normalen Maßen, geschoben wird, zählt als Schild. Ausgenommen hiervon sind
Abschussvorrichtungen von Kanonen und einzelne ausfahrende Blöcke. Diese müssen weder von der Kommandozentrale aktiviert
werden, noch automatisch ausfahren können.
<hr>
### Manuelle Schilde
Alle Manuelle Schilde benötigen einen aktiven Input eines Users um sich auszufahren. Der Autostarter zählt nicht als
aktiven Input. Alle manuelle Schilde müssen vollständig von der Kommandozentrale aus ansteuerbar sein. Darüber hinaus
dürfen die Schilde von weiteren Stellen aus aktivierbar sein. Wenn ein manuelles Schild mehrere Interaktionen braucht um
sich vollständig auszufahren, ist die Reihenfolge unmissverständlich in der Kommandozentrale anzugeben.
### Automatische Schilde
Alle Schilde, welche durch den Autostarter oder das Pasten aktivieren, zählen als automatische Schilde. Diese bedürfen
keiner weiteren Aktivierungsmöglichkeit in der Kommandozentrale.
## Kommandozentrale
Jedes WarGear braucht eine Kommandozentrale. Diese muss ein zentraler Ort sein, welcher nicht abriegelbar sein muss. Des Weiteren darf diese auch einfach in einem Gang sein. Die Ansteuerungslemente müssen nah beieinander sein. Die Kommandozentrale muss aus folgenden Elementen bestehen:
Jedes WarGear braucht neben der Bewaffnung eine Kommandozentrale. Diese muss vom Prüfer als solche erkennbar sein. Sie
muss nicht abriegelbar sein und darf sich auch in einem Gang befinden. Die Ansteuerungselemente der Kommandozentrale
müssen nah beieinander sein.
Die Ansteuerungselemente sind:
- Ansteuerung für **min. 8 Frontscheinwerfern**
- Die Frontscheinwerfer müssen frontal vom Gegner direkt, im angeschalteten/aufgedeckten Zustand, erkennbar sein
- Ein Ausguck muss nicht zwingen in der Kommandozentrale sein
- Ansteuerung von mindestens 8 Scheinwerfern, welche frontal vom Gegner aus, im angeschalteten/aufgedeckten Zustand,
erkennbar sein müssen
- Autostarter Block (Bedrock) oder alternative Autostarter Vorrichtung, für sowohl Automatische Schilde als auch für
Automatische Kanonen
- Manuelle Schildansteuerung
- Manuelle Ansteuerung für automatische Kanonen
Ggf. vorhandene automatisch ausfahrende Schildtechnik, muss nicht von der Kommandozentrale aus ansteuerbar sein.
## Publics
Ggf. vorhandene **manuelle Schildtechnik** muss vollständig aus der Kommandozentrale ausgefahren werden können. Bei mehreren Interaktionen, um Schilde auszufahren muss die Reihenfolge gekennzeichnet werden. Wenn dies gegeben ist, dürfen auch weitere Aktivierungspunkte verbaut werden.
WarGears, welche später öffentlich werden, nennen sich Publics und unterliegen besonderen Anforderungen. Der Fokus eines
solchen Publics sollte auf der Verständlichkeit der Kanonen und Schilde liegen. Wir erwarten ein ausgeprägtes Außen- als
auch Innen-Design. Kanonen müssen **nicht** vollständig designt sein. An die Kommandozentrale gibt es neben den normalen
Regeln noch weitere Anforderungen. Diese muss ein nach Möglichkeit abriegelbarer eigenständiger Raum sein. Außerdem muss
der Ausguck in der Kommandozentrale verbaut sein. Alle Schilde müssen sich automatisch ausfahren und ein
Bedrock-Autostarter für automatische Kanonen verwendet werden. Automatische Kanonen müssen über eine Standarteinstellung
verfügen.
Ggf. vorhandene **automatische Kanonen** müssen mindestens aus der Kommandozentrale vollständig und manuell ansteuerbar sein. Falls ein Autostarter verbaut ist, muss weiterhin eine manuelle Aktivierung in der Kommandozentrale gegeben sein.
### Basic WarGear
<hr>
#### Kanonen
## Design
- Second (oder mehr) - Step Stich Kanonen/SFAs sind nicht erlaubt (Ausnahme sind Q's, also Statics, welche im Gegner zu
einer
Seite stepen können)
- Backstich Kanonen/SFAs sind nicht erlaubt
- AKs sind erlaubt, dürfen allerdings kein Schwenkmodul und keine Höhenabprallblöcke haben (Ausnahme für Modes, die
unter der Kanonenhöhe liegen)
- SLS/SMS/STS Kanonen sind erlaubt, dürfen allerdings keine Höhenabprallblöcke haben.
- Mehr-Mann Kanonen (also Kanonen, welche von mehr als einer Person beladen werden) sind nicht erlaubt
- Automatische Kanonen sind gestattet, dürfen aber nicht schneller als 12 Tick laufen. Automatische Kanonen dürfen keine
Schilde brechen. Sie dürfen nur maximal 3 Block Dicke Schilde brechen
- Jegliche Streuschaden Kanonen (Smartie, Static, etc.) sind gestattet.
- Es darf Powderedsnow für das Erzeugen von Höhenmodi verwendet werden
Ein WarGear benötigt (neben mindestens einer Kanone) ein Design. Die äußere Schicht
des WarGears darf maximal einen TNT-Widerstand von 6 besitzen. Es wird eine
durchgängige Struktur über die gesamte Front des WarGears erwartet. Es müssen
mindestens 2 verschiedene Blöcke im Design eingebaut werden. (Werfer und
Redstonelampen werden nicht mitgezählt).
#### Schilde
Eine durchgängige Struktur bedeutet, dass keine größeren Flächen keine Variation in der
Tiefe besitzen. Eine Variation in der Tiefe kann teilweise auch durch Mauern oder
Treppenstufen erreicht werden, darf aber nicht überwiegend dadurch erzeugt werden. Ob dies
der Fall ist, liegt im Ermessen des Prüfers.
- 2 oder mehr Achsenmassivschilde sind nicht gestattet. Wurmloch oder 3D-Druck-Schilde ebenfalls nicht.
- Artischilde, Backstepschilde, Spikes, Massivschilde, Sandschilde, Vorgesetzte Sidestep- und Artischilde sind
gestattet, sollten aber nicht übermäßig verbaut werden.
Jedes WarGear benötigt mindestens 1 Ausguck. Insgesamt müssen alle Ausgucke eine auf den Gegner weisende Oberfläche von mindestens 6 durchsichtige Blöcke aufweisen. Ein Ausguck zählt nicht als dieser, wenn er den Lauf einer Kanone darstellt.
### WarGear
<hr>
Neben allen Regelungen von Basic WarGear gelten noch die folgenden.
## Bug-Using
#### Kanonen
Bis auf das direkte Zünden von TNT ist das Erzeugen von jeglicher anderen Entität in den
Ausfahrmaßen des eigenen WarGears verboten.
Das Erzeugen von Sand-, Gravel-, Concrete-Powder-, DragonEgg- und Scaffolding-Entities ist
in den
Ausfahrmaßen des eigenen WarGears erlaubt, genauso ist das Erzeugen von Items, durch
Dispenser oder Droppern erlaubt. Feuerball-Entities, sowie Pfeil-Entities dürfen auch von
Dispensern erzeugt werden.
- IDS und ISS sind erlaubt, allerdings nur in nicht brechend
- Automatische Kanonen sind gestattet, dürfen aber nicht schneller als 6 Tick laufen. Automatische Kanonen dürfen keine
Schilde brechen (Sie müssen also alle nicht brechend sein).
- Oberlader-Kanonen sind gestattet, sollten aber simpel gehalten werden
Beacons dürfen als Block in WarGears vorhanden sein, jedoch nicht im aktiven Zustand.
Diese dürfen auch während eines Fights nicht aktiviert werden.
### Rat
Versteckte Blöcke (Ersetzt durch Endstein)
Die oben genannten Punkte gelten nur als Richtwerte. Am Ende obliegt die Entscheidung, ob ein WarGear Public wird dem
WarGear-Rat. Der WG-Rat behält sich ebenfalls vor, diese Kriterien zu verändern und Ausnahmen festzulegen. Allgemein ist
eine gute Kommunikation mit dem WarGear-Rat beim Bau eines Publics von Vorteil.
Der Techhider darf nicht missbraucht werden, um dadurch jegliche Läufe, auch Fake-Läufe
unkenntlich und unersichtlich zu machen. Außerdem darf die Designschicht keine
Techhiderblöcke, welche Läufe oder ähnliches verbergen, enthalten. Das Benutzen des
Techhiders um damit Gänge unkenntlich zu machen ist ebenfalls verboten. Im Zweifelsfall
obliegt die Entscheidung, ob es sich um Ausnutzung des Techhiders handelt, dem Prüfer des WGs.
## Bug-Using/Anti-Lag
<hr>
Bis auf das direkte Zünden von TNT ist das Erzeugen von jeglicher anderen Entität in den Ausfahrmaßen des eigenen
WarGears verboten. Das Erzeugen von Sand-, Gravel-, Concrete-Powder-, DragonEgg-, Drippstone- und Scaffolding-Entities
ist in den Ausfahrmaßen des eigenen WarGears erlaubt, genauso ist das Erzeugen von Items, durch Dispenser oder Droppern
erlaubt. Feuerball-Entities, sowie Pfeil-Entities dürfen auch von Dispensern erzeugt werden.
## Versteckte Blöcke (Ersetzt durch Endstein)
Beacons dürfen im **nicht** aktiven Zustand verbaut werden und auch im Laufe eines Fights nicht aktiviert werden.
- WATER
- NOTE_BLOCK
- POWERED_RAIL
- DETECTOR_RAIL
- PISTON
- PISTON_HEAD
- STICKY_PISTON
- TNT
- CHEST
- TRAPPED_CHEST
- REDSTONE_WIRE
- STONE_PRESSURE_PLATE
- IRON_DOOR
- OAK_PRESSURE_PLATE
- SPRUCE_PRESSURE_PLATE
- BIRCH_PRESSURE_PLATE
- JUNGLE_PRESSURE_PLATE
- ACACIA_PRESSURE_PLATE
- DARK_OAK_PRESSURE_PLATE
- REDSTONE_TORCH
- REDSTONE_WALL_TORCH
- REPEATER
- BREWING_STAND
- TRIPWIRE_HOOK
- TRIPWIRE
- HEAVY_WEIGHTED_PRESSURE_PLATE
- LIGHT_WEIGHTED_PRESSURE_PLATE
- COMPARATOR
- REDSTONE_BLOCK
- HOPPER
- ACTIVATOR_RAIL
- DROPPER
- SLIME_BLOCK
- OBSERVER
- HONEY_BLOCK
- LEVER
- SCULK_SENSOR
- TARGET
- POLISHED_BLACKSTONE_PERSSURE_PLATE
- MANGROVE_PRESSURE_PLATE
- CRIMSON_PRESSURE_PLATE
- WARPED_PRESSURE_PLATE
- JUNGLE_FENCE_GATE
- ACACIA_FENCE_GATE
- BIRCH_FENCE_GATE
- DARK_OAK_FENCE_GATE
- OAK_FENCE_GATE
- SPRUCE_FENCE_GATE
- CRIMSON_FENCE_GATE
- WARPED_FENCE_GATE
- MANGROVE_FENCE_GATE
Der Techhider darf nicht missbraucht werden, um dadurch jegliche Läufe, auch Fake-Läufe unkenntlich und unersichtlich zu
machen. Außerdem darf die Designschicht keine Techhiderblöcke, welche Läufe oder ähnliches verbergen, enthalten. Das
Benutzen des Techhiders um damit Gänge unkenntlich zu machen ist ebenfalls verboten.
## Zusatzinhalte folgender Blöcke (z.B. Text, Inhalt von Inventaren) werden mit versteckt:
Übermäßiges Erzeugen von Lags (z.B. zu viele Banner, zu viele Partikel durch Campfire) kann zum Sperren der Schematic
führen.
- SIGN
- DISPENSER
- CHEST
- TRAPPED_CHEST
- FURNACE
- BREWING_STAND
- HOPPER
- DROPPER
- SHULKER_BOX
- JUKEBOX
- COMPARATOR
## Prüfer
Dem Prüfer obliegt am Ende des Prüfprozesses, die finale Entscheidung darüber, ob das WarGear insbesondere im Bereich
von Grauzonen, noch konform ist. Des weiteren darf das Serverteam auch bei schon freigegebenen Schematics diese im
nachhinein sperren.

Datei anzeigen

@ -0,0 +1,28 @@
---
translationKey: qg
german: true
---
# QuickGear-Regelwerk
QuickGears werden in der 1.20 gebaut.
## Maße
Max. 20 Block tief (+ 1 Block Design pro Seite) (22)
Max. 35 Block breit (+ 1 Block Design pro Seite) (37)
Max. 26 Block hoch
Kein Block darf das QuickGear verlassen.
## Materialien
Alle Blöcke im QuickGear müssen durch TNT zerstörbar sein. Davon ausgenommen ist Wasser. Es dürfen sich keine TNT Blocke im QuickGear befinden. Inventarblöcke dürfen ausschließlich Blumen, Honigflaschen und Pferderüstungen beherbergen. In Werfern dürfen sich nur 1×64 Feuerbälle oder 1×64 Pfeile (ohne Effekte) befinden.
## Design
Ein Design ist erwünscht, muss aber nicht zwingend vorhanden sein.
## Bug-Using
Gezündetes TNT darf nur durch vom Spieler platzierte TNT-Blöcke entstehen. Das Duplizieren von TNT ist verboten.

Datei anzeigen

@ -3,203 +3,217 @@ german: true
translationKey: wg
---
# WarGear-Regelwerk
# WarGear 1.20 Regelwerk
Ein **WarGear** ist eine Redstone-Kampfmaschine in Minecraft. Es ist mit einer Vielzahl von Redstonetechniken und
TNT-Kanonen ausgestattet. Es ist gebaut, um anderen WarGears Schaden zuzufügen.
Diese unterteilen sich in Basic WarGear, WarGear und Pro WarGear. Basic WarGears sollen insbesondere Einsteigern eine
Möglichkeit geben in WarGears rein zu kommen und erste selbstgebaute Technik zu ermöglichen. WarGear, auch Competitive
WarGear genannt, ist der Modus, worin primär Events ausgetragen werden. Außerdem ist dieser für Casual Fights ausgelegt.
Pro WarGears sind für sogenannte "Schwitzer", welche sich mit starken SFA's und starker manueller Technik bekämpfen
wollen.
## Definitionen
Ein **WarGear** ist eine Redstone-Kampfmaschine in Minecraft. Es ist mit einer Vielzahl von
Redstonetechniken und TNT-Kanonen ausgestattet. Es ist gebaut, um anderen WarGears
Schaden zuzufügen und die eigene Besatzung zu schützen. Ein WarGear muss sowohl im
eingesendeten als auch im kampfbereiten Zustand Regelkonform sein.
### Clocks
Eine **TNT-Kanone** ist eine durchgehende Redstoneschaltung, in welche Projektile abschießt.
Diese sind die einzigen Orte, an denen Wasser verbaut werden darf, wenn es die Kanone nicht
verlässt und /oder im intakten Zustand Wasserschilde bildet. Wasser darf nur verbaut werden, sofern es den Zweck erfüllt, Beschädigungen des eigenen WarGears durch die Treibladungen der Kanone zu verhindern. Wasserquellen dürfen nicht verbaut werden, um den Platz anderer Wasserquellen einzunehmen oder diese zu ersetzen. TNT-Kanonen müssen am Gegner Schaden anrichten können und dürfen sich nicht gezielt selbst durch TNT-Explosionen zerstören.
Eine **Clock** ist ein Mechanismus, welcher in einem regelmäßigen oder unregelmäßigen Abstand wiederholt ein Signal
ausgibt. Diese muss sich unmittelbar nach Vollendung ihrer Aufgabe selbst abschalten.
Ein **Projektil** ist ein gezündetes TNT, welches die maximalen Ausfahrmaße eines WarGears
in Richtung Gegner verlässt.
### Autostarter
Eine **Treibladung** ist ein TNT, das durch seine Explosion Projektile beschleunigt. Die Treibladungen einer TNT-Kanone dürfen nur die Projektile und Treibladungen eines einzelnen Schusses beeinflussen.
Ein **Autostarter** ist eine Konstruktion, welche entweder durch Spielerinteraktion oder/durch das replacen des
einzelnen Bedrocks, automatische Kanonen und oder automatische Schilde aktiviert.
Alle **Clocks** müssen nach Vollendung ihrer Aufgabe sich selbst ausschalten.
### Kampfbereiten Zustand
<hr>
Der **Kampfbereite Zustand** beschreibt den Zustand in dem das WarGear nach der Freigabe vor dem Kampf verweilt.
## Maße
## Maße/Blöcke/Design
Höhe: 41
Block Tiefe: 47
Block Breite: 67 Block
Ein WarGear darf sich bis zu 16 Blöcke in jede Richtung ausfahren
Ein WarGear ist 41 Blöcke hoch, 47 Blöcke tief und 67 Blöcke breit. In jede Richtung, außer nach unten, darf sich dieses
16 Blöcke ausfahren.
<hr>
Es dürfen alle Blöcke in einem WarGear verbaut werden, die einen TNT-Widerstand von maximal 9 haben. Ausgenommen davon
sind alle Sprösslinge, jegliche Spawner, Eis (`minecraft:ice`), Nether-Portal und Lava. Wasser darf verbaut werden. Für
einen Autostarter darf im WarGear ein Bedrock verbaut werden, dieser muss in der Nähe der Kommandozentrale verbaut
werden. Zum Zeitpunkt der Kitvergabe, wird der Bedrock zu einem Slime Block replaced. Inventarblöcke dürfen
ausschließlich Blumen, Honigflaschen und Pferderüstungen beinhalten. Truhen, Fässer und Shulker Boxen dürfen TNT
beinhalten. In Werfer dürfen neben Blumen, Honigflaschen und Pferderüstungen auch noch 2\*64 Pfeile (ohne Effekt) oder
2\*64 Feuerbälle oder ein leerer Eimer sein. Der leeren Eimer darf hierbei nur für die Aufnahme und das wieder
platzieren von Pulverschnee verwendet werden. Es dürfen sich nur 2048 (32 Stacks) Pfeile und 2048 (32 Stacks) Feuerbälle
in Werfern befinden. In Lecterns dürfen Bücher enthalten sein.
## Blöcke
Ein WarGear benötigt ein Design. Die äußere Schicht des WarGears darf maximal einen TNT-Widerstand von 6 besitzen. Es
wird eine durchgängige Struktur über die gesamte Front des WarGears erwartet. Dies bedeutet, dass keine größeren Flächen
keine Variation in der Tiefe besitzen. Eine Variation in der Tiefe kann teilweise auch durch Mauern oder Treppenstufen
erreicht werden, darf aber nicht überwiegend dadurch erzeugt werden. Ein Design muss darüber hinaus aus mindestens 2
verschiedenen Blöcken bestehen. Alle Redstone-Elemente, wie zum Beispiel Werfer, Redstonelampen, Redstone Blöcke, usw.,
und auch jegliches Glas werden nicht mitgezählt.
Es dürfen alle Blöcke verbaut werden, die einen TNT-Widerstand von max. 9 haben.
Folgende Blöcke sind nicht erlaubt:
Alle Sprösslinge (6), jegliche Spawnerarten (52), Eis
(79), Nether-Portal (90) und Lava (10, 11)
Es darf ein **Bedrock (7)** in der Nähe der Kommandozentrale zum Zwecke eines Autostarters verbaut werden (Dieser wird zum Zeitpunkt der Kitvergabe zu einem **Slime Block (165)** replaced).
Inventarblöcke dürfen ausschließlich Blumen, Honigflaschen und Pferderüstungen beinhalten. Truhen und Fässer dürfen TNT beinhalten
Werfer dürfen nur mit je **264 Pfeilen (ohne Effekte) oder 264 Feuerbällen oder einem
leeren Eimer bestückt sein**. Dieser darf ausschließlich dazu verwendet werden, Pulverschnee
vor dem Werfer aufzunehmen und zu platzieren
Insgesamt dürfen sich von beiden Typen nur je 2048 Items (32 Stacks) in Werfern befinden.
Es dürfen max. **600 TNT** verbaut werden.
<hr>
Jedes WarGear benötigt mindestens 1 Ausguck. Einer davon muss mindestens eine auf den Gegner weisende Oberfläche
von mindestens 6 durchsichtige Blöcke aufweisen. Ein Ausguck zählt nicht als dieser, wenn er den Lauf einer Kanone
darstellt.
## Kanonen
**Manuelle Kanonen** sind TNT-Kanonen, welche manuell beladen werden müssen. Diese
dürfen vor dem Kampf nicht beladen sein. Manuelle Kanonen dürfen nach einem Beladen
auch mehrere Schüsse abgeben ohne neu beladen werden zu müssen.
Ein WarGear darf maximal 14 Kanonen beinhalten. Es ist verboten, eine Vielzahl von Kanonen als eine einzige Kanone
auszugeben.
**Automatische Kanonen** sind TNT-Kanonen, welche ohne nachzuladen mehrere Schüsse
abgeben können. Damit eine automatische Kanone vor dem Kampf beladen sein darf, muss
sie mindestens 8 Schüsse aufeinanderfolgend abgeben.
Alle 8 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. Zu beachten ist, dass die Projektile aller Schüsse immer von
dem / den exakt gleichen Punkt- /en aus gezündet und abgeschossen werden müssen. Vor
Fightbeginn darf diese vollständig leergeschossen werden.
### Definitionen
Ein WarGear darf insgesamt 14 Kanonen besitzen. Es ist verboten, eine Vielzahl von Kanonen als eine einzige Kanone auszugeben. Ob dies der Fall ist, entscheidet der Prüfer des Wargears oder der / die Kampfleiter.
Eine **Treibladung** ist ein gezündetes TNT, das durch seine Explosion Projektile und ggf. Step-Ladungen beschleunigt.
<hr>
Eine **Step-Ladung** ist ein gezündetes TNT, das durch seine Explosion Projektile und ggf. weitere Step-Ladungen
beschleunigt. Diese dürfen keinen Block Schaden am Gegner verursachen und nicht für das Brechen von Schilden genutzt
werden.
Ein **Projektil** ist ein gezündetes TNT, welches Schaden am Gegner anrichtet.
Ein **Schuss** ist der Vorgang, bei dem Treibladungen, Projektile und ggf. Step-Ladungen beschleunigt werden. Ein Schuss
ist dann beendet, wenn keine weiteren TNT-Explosionen auf die Projektile Einfluss nehmen. Die Explosionen, welche von
einem Schuss ausgehen, dürfen im Kampfbereiten Zustand nicht das eigene WarGear beschädigen. Das Beschleunigen von
mehreren Projektilen, von noch getrennten Schüssen, durch die **selben** Steps lässt diese Schüsse als einen gelten.
Der **Abschusspunkt**, ist der Punkt, an dem das TNT die letzte Beschleunigung erhält, die nachfolgend zu einem
Verlassen oder Durchfliegen des eignen WarGears führt.
**Wasser** darf nicht verbaut werden um den Platz anderer Wasserquellen einzunehmen oder diese zu ersetzten.
Eine **Kanone** ist eine durchgehende Redstoneschaltung, welche mindestens einen Schuss abgeben kann.
### Manuelle Kanonen
Manuelle Kanonen dürfen vor dem Kampfgeschehen kein TNT beinhalten. Diese werden manuell beladen und dürfen auch mehrere
Schüsse abgeben ohne neu beladen werden zu müssen.
### Automatische Kanonen
Automatische Kanonen sind Kanonen, welche vor dem Kampfgeschehen TNT beinhalten und ohne nachgeladen zu werden mehrere
Schüsse abgeben können. Zu beachten ist, dass die Projektile aller Schüsse immer von dem/den exakt gleichen Punkt-/en
aus abgeschossen werden müssen. Vor Fightbeginn dürfen automatische Kanonen vollständig leergeschossen werden.
Automatische Kanonen müssen von der Kommandozentrale aus aktivierbar sein. Dies kann auch durch den Verbau des
Autostarters innerhalb der Kommandozentrale erfolgen. Des weiteren muss eine Möglichkeit innerhalb der Kommandozentrale
gegeben sein die automatische Kanone vollständig vor Fightbeginn leerschießen zu können.
Das wiederverwenden des Abschusswinkels einer Automatischen Kanone zählt immer als zweite Kanone. Auch das Nachladen
der Automatischen Kanone zählt als zweite Kanone.
#### Competitive
336 TNT dürfen in Automatischen Kanonen vorverbaut werden. Eine automatische Kanone muss mindestens 6 Schüsse
aufeinanderfolgend abgeben. Alle 6 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. SFAs dürfen eine maximale Feuerrate von einem Schuss alle 1,5 Redstoneticks haben.
Das Zünden der Projektile und Steps ist überall erlaubt.
#### Pro
600 TNT dürfen in Automatischen Kanonen vorverbaut werden. Eine automatische Kanone muss mindestens 8 Schüsse
aufeinanderfolgend abgeben. Alle 8 Schüsse müssen dieselbe Projektilanzahl verschießen. Bei jedem weiteren Schuss darf
die Projektilanzahl abnehmen. SFAs dürfen eine maximale Feuerrate von einem Schuss alle 0,5 Redstoneticks haben.
Die Projektile und Steps aller Schüsse **müssen** von dem/den exakt gleichen Punkt-/en aus gezündet werden.
## Schilde
Alles außerhalb der Standardmaße zählt als Schild. Ausgenommen davon sind einzelne ausfahrende Blöcke und Abschussvorrichtungen von Kanonen. Automatisch aktivierte ausfahrende Schildtechniken müssen nicht aus der Kommandozentrale explizit ansteuerbar sein. Alle Schilde müssen vor dem austeilen der Kits ausgefahren sein. Durch das Ausfahren der Schilde müssen Blöcke in der Design-Schicht (s.u.) nicht mehr den Design-Vorschriften entsprechen. Scheinwerfer und Ausgucke dürfen durch ausfahrende Schilde verdeckt werden.
Jeder Block, welcher aus den normalen Maßen, geschoben wird, zählt als Schild. Ausgenommen hiervon sind
Abschussvorrichtungen von Kanonen und einzelne ausfahrende Blöcke. Diese müssen weder von der Kommandozentrale aktiviert
werden, noch automatisch ausfahren können.
<hr>
### Manuelle Schilde
Alle Manuelle Schilde benötigen einen aktiven Input eines Users um sich auszufahren. Der Autostarter zählt nicht als
aktiven Input. Alle manuelle Schilde müssen vollständig von der Kommandozentrale aus ansteuerbar sein. Darüber hinaus
dürfen die Schilde von weiteren Stellen aus aktivierbar sein. Wenn ein manuelles Schild mehrere Interaktionen braucht um
sich vollständig auszufahren, ist die Reihenfolge unmissverständlich in der Kommandozentrale anzugeben.
### Automatische Schilde
Alle Schilde, welche durch den Autostarter oder das Pasten aktivieren, zählen als automatische Schilde. Diese bedürfen
keiner weiteren Aktivierungsmöglichkeit in der Kommandozentrale.
## Kommandozentrale
Jedes WarGear braucht eine Kommandozentrale. Diese muss ein zentraler Ort sein, welcher nicht abriegelbar sein muss. Des Weiteren darf diese auch einfach in einem Gang sein. Die Ansteuerungslemente müssen nah beieinander sein. Die Kommandozentrale muss aus folgenden Elementen bestehen:
Jedes WarGear braucht neben der Bewaffnung eine Kommandozentrale. Diese muss vom Prüfer als solche erkennbar sein. Sie
muss nicht abriegelbar sein und darf sich auch in einem Gang befinden. Die Ansteuerungselemente der Kommandozentrale
müssen nah beieinander sein.
Die Ansteuerungselemente sind:
- Ansteuerung für **min. 8 Frontscheinwerfern**
- Die Frontscheinwerfer müssen frontal vom Gegner direkt, im angeschalteten/aufgedeckten Zustand, erkennbar sein
- Ein Ausguck muss nicht zwingen in der Kommandozentrale sein
- Ansteuerung von mindestens 8 Scheinwerfern, welche frontal vom Gegner aus, im angeschalteten/aufgedeckten Zustand,
erkennbar sein müssen
- Autostarter Block (Bedrock) oder alternative Autostarter Vorrichtung, für sowohl Automatische Schilde als auch für
Automatische Kanonen
- Manuelle Schildansteuerung
- Manuelle Ansteuerung für automatische Kanonen
Ggf. vorhandene automatisch ausfahrende Schildtechnik, muss nicht von der Kommandozentrale aus ansteuerbar sein.
## Publics
Ggf. vorhandene **manuelle Schildtechnik** muss vollständig aus der Kommandozentrale ausgefahren werden können. Bei mehreren Interaktionen, um Schilde auszufahren muss die Reihenfolge gekennzeichnet werden. Wenn dies gegeben ist, dürfen auch weitere Aktivierungspunkte verbaut werden.
WarGears, welche später öffentlich werden, nennen sich Publics und unterliegen besonderen Anforderungen. Der Fokus eines
solchen Publics sollte auf der Verständlichkeit der Kanonen und Schilde liegen. Wir erwarten ein ausgeprägtes Außen- als
auch Innen-Design. Kanonen müssen **nicht** vollständig designt sein. An die Kommandozentrale gibt es neben den normalen
Regeln noch weitere Anforderungen. Diese muss ein nach Möglichkeit abriegelbarer eigenständiger Raum sein. Außerdem muss
der Ausguck in der Kommandozentrale verbaut sein. Alle Schilde müssen sich automatisch ausfahren und ein
Bedrock-Autostarter für automatische Kanonen verwendet werden. Automatische Kanonen müssen über eine Standarteinstellung
verfügen.
Ggf. vorhandene **automatische Kanonen** müssen mindestens aus der Kommandozentrale vollständig und manuell ansteuerbar sein. Falls ein Autostarter verbaut ist, muss weiterhin eine manuelle Aktivierung in der Kommandozentrale gegeben sein.
### Basic WarGear
<hr>
#### Kanonen
## Design
- Second (oder mehr) - Step Stich Kanonen/SFAs sind nicht erlaubt (Ausnahme sind Q's, also Statics, welche im Gegner zu
einer
Seite stepen können)
- Backstich Kanonen/SFAs sind nicht erlaubt
- AKs sind erlaubt, dürfen allerdings kein Schwenkmodul und keine Höhenabprallblöcke haben (Ausnahme für Modes, die
unter der Kanonenhöhe liegen)
- SLS/SMS/STS Kanonen sind erlaubt, dürfen allerdings keine Höhenabprallblöcke haben.
- Mehr-Mann Kanonen (also Kanonen, welche von mehr als einer Person beladen werden) sind nicht erlaubt
- Automatische Kanonen sind gestattet, dürfen aber nicht schneller als 12 Tick laufen. Automatische Kanonen dürfen keine
Schilde brechen. Sie dürfen nur maximal 3 Block Dicke Schilde brechen
- Jegliche Streuschaden Kanonen (Smartie, Static, etc.) sind gestattet.
- Es darf Powderedsnow für das Erzeugen von Höhenmodi verwendet werden
Ein WarGear benötigt (neben mindestens einer Kanone) ein Design. Die äußere Schicht
des WarGears darf maximal einen TNT-Widerstand von 6 besitzen. Es wird eine
durchgängige Struktur über die gesamte Front des WarGears erwartet. Es müssen
mindestens 2 verschiedene Blöcke im Design eingebaut werden. (Werfer und
Redstonelampen werden nicht mitgezählt).
#### Schilde
Eine durchgängige Struktur bedeutet, dass keine größeren Flächen keine Variation in der
Tiefe besitzen. Eine Variation in der Tiefe kann teilweise auch durch Mauern oder
Treppenstufen erreicht werden, darf aber nicht überwiegend dadurch erzeugt werden. Ob dies
der Fall ist, liegt im Ermessen des Prüfers.
- 2 oder mehr Achsenmassivschilde sind nicht gestattet. Wurmloch oder 3D-Druck-Schilde ebenfalls nicht.
- Artischilde, Backstepschilde, Spikes, Massivschilde, Sandschilde, Vorgesetzte Sidestep- und Artischilde sind
gestattet, sollten aber nicht übermäßig verbaut werden.
Jedes WarGear benötigt mindestens 1 Ausguck. Insgesamt müssen alle Ausgucke eine auf den Gegner weisende Oberfläche von mindestens 6 durchsichtige Blöcke aufweisen. Ein Ausguck zählt nicht als dieser, wenn er den Lauf einer Kanone darstellt.
### WarGear
<hr>
Neben allen Regelungen von Basic WarGear gelten noch die folgenden.
## Bug-Using
#### Kanonen
Bis auf das direkte Zünden von TNT ist das Erzeugen von jeglicher anderen Entität in den
Ausfahrmaßen des eigenen WarGears verboten.
Das Erzeugen von Sand-, Gravel-, Concrete-Powder-, DragonEgg- und Scaffolding-Entities ist
in den
Ausfahrmaßen des eigenen WarGears erlaubt, genauso ist das Erzeugen von Items, durch
Dispenser oder Droppern erlaubt. Feuerball-Entities, sowie Pfeil-Entities dürfen auch von
Dispensern erzeugt werden.
- IDS und ISS sind erlaubt, allerdings nur in nicht brechend
- Automatische Kanonen sind gestattet, dürfen aber nicht schneller als 6 Tick laufen. Automatische Kanonen dürfen keine
Schilde brechen (Sie müssen also alle nicht brechend sein).
- Oberlader-Kanonen sind gestattet, sollten aber simpel gehalten werden
Beacons dürfen als Block in WarGears vorhanden sein, jedoch nicht im aktiven Zustand.
Diese dürfen auch während eines Fights nicht aktiviert werden.
### Rat
Versteckte Blöcke (Ersetzt durch Endstein)
Die oben genannten Punkte gelten nur als Richtwerte. Am Ende obliegt die Entscheidung, ob ein WarGear Public wird dem
WarGear-Rat. Der WG-Rat behält sich ebenfalls vor, diese Kriterien zu verändern und Ausnahmen festzulegen. Allgemein ist
eine gute Kommunikation mit dem WarGear-Rat beim Bau eines Publics von Vorteil.
Der Techhider darf nicht missbraucht werden, um dadurch jegliche Läufe, auch Fake-Läufe
unkenntlich und unersichtlich zu machen. Außerdem darf die Designschicht keine
Techhiderblöcke, welche Läufe oder ähnliches verbergen, enthalten. Das Benutzen des
Techhiders um damit Gänge unkenntlich zu machen ist ebenfalls verboten. Im Zweifelsfall
obliegt die Entscheidung, ob es sich um Ausnutzung des Techhiders handelt, dem Prüfer des WGs.
## Bug-Using/Anti-Lag
<hr>
Bis auf das direkte Zünden von TNT ist das Erzeugen von jeglicher anderen Entität in den Ausfahrmaßen des eigenen
WarGears verboten. Das Erzeugen von Sand-, Gravel-, Concrete-Powder-, DragonEgg-, Drippstone- und Scaffolding-Entities
ist in den Ausfahrmaßen des eigenen WarGears erlaubt, genauso ist das Erzeugen von Items, durch Dispenser oder Droppern
erlaubt. Feuerball-Entities, sowie Pfeil-Entities dürfen auch von Dispensern erzeugt werden.
## Versteckte Blöcke (Ersetzt durch Endstein)
Beacons dürfen im **nicht** aktiven Zustand verbaut werden und auch im Laufe eines Fights nicht aktiviert werden.
- WATER
- NOTE_BLOCK
- POWERED_RAIL
- DETECTOR_RAIL
- PISTON
- PISTON_HEAD
- STICKY_PISTON
- TNT
- CHEST
- TRAPPED_CHEST
- REDSTONE_WIRE
- STONE_PRESSURE_PLATE
- IRON_DOOR
- OAK_PRESSURE_PLATE
- SPRUCE_PRESSURE_PLATE
- BIRCH_PRESSURE_PLATE
- JUNGLE_PRESSURE_PLATE
- ACACIA_PRESSURE_PLATE
- DARK_OAK_PRESSURE_PLATE
- REDSTONE_TORCH
- REDSTONE_WALL_TORCH
- REPEATER
- BREWING_STAND
- TRIPWIRE_HOOK
- TRIPWIRE
- HEAVY_WEIGHTED_PRESSURE_PLATE
- LIGHT_WEIGHTED_PRESSURE_PLATE
- COMPARATOR
- REDSTONE_BLOCK
- HOPPER
- ACTIVATOR_RAIL
- DROPPER
- SLIME_BLOCK
- OBSERVER
- HONEY_BLOCK
- LEVER
- SCULK_SENSOR
- TARGET
- POLISHED_BLACKSTONE_PERSSURE_PLATE
- MANGROVE_PRESSURE_PLATE
- CRIMSON_PRESSURE_PLATE
- WARPED_PRESSURE_PLATE
- JUNGLE_FENCE_GATE
- ACACIA_FENCE_GATE
- BIRCH_FENCE_GATE
- DARK_OAK_FENCE_GATE
- OAK_FENCE_GATE
- SPRUCE_FENCE_GATE
- CRIMSON_FENCE_GATE
- WARPED_FENCE_GATE
- MANGROVE_FENCE_GATE
Der Techhider darf nicht missbraucht werden, um dadurch jegliche Läufe, auch Fake-Läufe unkenntlich und unersichtlich zu
machen. Außerdem darf die Designschicht keine Techhiderblöcke, welche Läufe oder ähnliches verbergen, enthalten. Das
Benutzen des Techhiders um damit Gänge unkenntlich zu machen ist ebenfalls verboten.
## Zusatzinhalte folgender Blöcke (z.B. Text, Inhalt von Inventaren) werden mit versteckt:
Übermäßiges Erzeugen von Lags (z.B. zu viele Banner, zu viele Partikel durch Campfire) kann zum Sperren der Schematic
führen.
- SIGN
- DISPENSER
- CHEST
- TRAPPED_CHEST
- FURNACE
- BREWING_STAND
- HOPPER
- DROPPER
- SHULKER_BOX
- JUKEBOX
- COMPARATOR
## Prüfer
Dem Prüfer obliegt am Ende des Prüfprozesses, die finale Entscheidung darüber, ob das WarGear insbesondere im Bereich
von Grauzonen, noch konform ist. Des weiteren darf das Serverteam auch bei schon freigegebenen Schematics diese im
nachhinein sperren.

2
src/env.d.ts vendored
Datei anzeigen

@ -12,7 +12,7 @@ type SecondaryLocale = "de"
type Locale = PrimaryLocale | SecondaryLocale
type RouteParameters = {"/dashboard":undefined;"/downloads":undefined;"/":undefined;"/login":undefined;"/[...slug]":{"slug":unknown;};"/admin":undefined;"/announcements":undefined;"/announcements/[...slug]":{"slug":unknown;};"/announcements/tags/[tag]":{"tag":unknown;};"/help":undefined;"/help/[...slug]":{"slug":unknown;};"/ranked/[...gamemode]":{"gamemode":unknown;};"/rules":undefined;"/rules/[mode]":{"mode":unknown;};"/stats/fight":undefined;}
type Route = keyof RouteParameters
type TranslationVariables = {"dashboard.page":object|undefined;"dashboard.title":{"name"?:unknown;}|undefined;"dashboard.rank":{"rank"?:unknown;}|undefined;"dashboard.permissions":object|undefined;"dashboard.buttons.logout":object|undefined;"dashboard.buttons.admin":object|undefined;"dashboard.schematic.upload":object|undefined;"dashboard.schematic.home":object|undefined;"dashboard.schematic.dir":object|undefined;"dashboard.schematic.head.type":object|undefined;"dashboard.schematic.head.name":object|undefined;"dashboard.schematic.head.owner":object|undefined;"dashboard.schematic.head.updated":object|undefined;"dashboard.schematic.head.replaceColor":object|undefined;"dashboard.schematic.head.allowReplay":object|undefined;"dashboard.schematic.info.path":{"path"?:unknown;}|undefined;"dashboard.schematic.info.replaceColor":object|undefined;"dashboard.schematic.info.allowReplay":object|undefined;"dashboard.schematic.info.type":{"type"?:unknown;}|undefined;"dashboard.schematic.info.updated":{"updated"?:unknown;}|undefined;"dashboard.schematic.info.item":{"item"?:unknown;}|undefined;"dashboard.schematic.info.members":{"members"?:unknown;}|undefined;"dashboard.schematic.info.btn.download":object|undefined;"dashboard.schematic.info.btn.close":object|undefined;"login.page":object|undefined;"login.title":object|undefined;"login.placeholder.username":object|undefined;"login.placeholder.token":object|undefined;"login.label.username":object|undefined;"login.label.token":object|undefined;"login.generateToken":object|undefined;"login.submit":object|undefined;"login.error":object|undefined;"blog.title":object|undefined;"page":object|undefined;"wg.description":object|undefined;"as.description":object|undefined;"ws.description":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"council":object|undefined;"ranking":object|undefined;"title":{"mode"?:unknown;}|undefined;"warning.title":object|undefined;"warning.text":object|undefined;"stats.title":object|undefined;"navbar.title":object|undefined;"navbar.logo.alt":object|undefined;"navbar.links.home.title":object|undefined;"navbar.links.home.announcements":object|undefined;"navbar.links.home.about":object|undefined;"navbar.links.home.downloads":object|undefined;"navbar.links.home.faq":object|undefined;"navbar.links.rules.title":object|undefined;"navbar.links.rules.gamemode":object|undefined;"navbar.links.rules.wg":object|undefined;"navbar.links.rules.mwg":object|undefined;"navbar.links.rules.ws":object|undefined;"navbar.links.rules.as":object|undefined;"navbar.links.rules.rotating":object|undefined;"navbar.links.rules.megawg":object|undefined;"navbar.links.rules.micro":object|undefined;"navbar.links.rules.sf":object|undefined;"navbar.links.rules.general":object|undefined;"navbar.links.rules.coc":object|undefined;"navbar.links.help.title":object|undefined;"navbar.links.help.center":object|undefined;"navbar.links.help.docs":object|undefined;"navbar.links.account":object|undefined;"status.loading":object|undefined;"status.status":object|undefined;"status.online":object|undefined;"status.offline":object|undefined;"status.players":{"count"?:unknown;}|undefined;"status.version":{"version"?:unknown;}|undefined;"home.page":object|undefined;"home.title.first":object|undefined;"home.title.second":object|undefined;"home.subtitle.1":object|undefined;"home.subtitle.2":object|undefined;"home.subtitle.3":object|undefined;"home.join":object|undefined;"home.benefits.historic.title":object|undefined;"home.benefits.historic.description.1":object|undefined;"home.benefits.historic.description.2":object|undefined;"home.benefits.server.title":object|undefined;"home.benefits.server.description":object|undefined;"home.benefits.events.title":object|undefined;"home.benefits.events.description.1":object|undefined;"home.benefits.events.description.2":object|undefined;"home.prefix.Admin":object|undefined;"home.prefix.Dev":object|undefined;"home.prefix.Mod":object|undefined;"home.prefix.Sup":object|undefined;"home.prefix.Arch":object|undefined;"footer.imprint":object|undefined;"footer.privacy":object|undefined;"footer.coc":object|undefined;"footer.stats":object|undefined;"footer.gamemodes":object|undefined;"footer.announcements":object|undefined;"footer.join":object|undefined;"wg.title":object|undefined;"mwg.title":object|undefined;"ws.title":object|undefined;"as.title":object|undefined;"ranking.heading":{"mode"?:unknown;}|undefined;}
type TranslationVariables = {"dashboard.page":object|undefined;"dashboard.title":{"name"?:unknown;}|undefined;"dashboard.rank":{"rank"?:unknown;}|undefined;"dashboard.permissions":object|undefined;"dashboard.buttons.logout":object|undefined;"dashboard.buttons.admin":object|undefined;"dashboard.schematic.upload":object|undefined;"dashboard.schematic.home":object|undefined;"dashboard.schematic.dir":object|undefined;"dashboard.schematic.head.type":object|undefined;"dashboard.schematic.head.name":object|undefined;"dashboard.schematic.head.owner":object|undefined;"dashboard.schematic.head.updated":object|undefined;"dashboard.schematic.head.replaceColor":object|undefined;"dashboard.schematic.head.allowReplay":object|undefined;"dashboard.schematic.info.path":{"path"?:unknown;}|undefined;"dashboard.schematic.info.replaceColor":object|undefined;"dashboard.schematic.info.allowReplay":object|undefined;"dashboard.schematic.info.type":{"type"?:unknown;}|undefined;"dashboard.schematic.info.updated":{"updated"?:unknown;}|undefined;"dashboard.schematic.info.item":{"item"?:unknown;}|undefined;"dashboard.schematic.info.members":{"members"?:unknown;}|undefined;"dashboard.schematic.info.btn.download":object|undefined;"dashboard.schematic.info.btn.close":object|undefined;"login.page":object|undefined;"login.title":object|undefined;"login.placeholder.username":object|undefined;"login.placeholder.token":object|undefined;"login.label.username":object|undefined;"login.label.token":object|undefined;"login.generateToken":object|undefined;"login.submit":object|undefined;"login.error":object|undefined;"blog.title":object|undefined;"page":object|undefined;"wg.description":object|undefined;"as.description":object|undefined;"ws.description":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"council":object|undefined;"ranking":object|undefined;"title":{"mode"?:unknown;}|undefined;"warning.title":object|undefined;"warning.text":object|undefined;"stats.title":object|undefined;"navbar.title":object|undefined;"navbar.logo.alt":object|undefined;"navbar.links.home.title":object|undefined;"navbar.links.home.announcements":object|undefined;"navbar.links.home.about":object|undefined;"navbar.links.home.downloads":object|undefined;"navbar.links.home.faq":object|undefined;"navbar.links.rules.title":object|undefined;"navbar.links.rules.gamemode":object|undefined;"navbar.links.rules.wg":object|undefined;"navbar.links.rules.mwg":object|undefined;"navbar.links.rules.ws":object|undefined;"navbar.links.rules.as":object|undefined;"navbar.links.rules.rotating":object|undefined;"navbar.links.rules.megawg":object|undefined;"navbar.links.rules.micro":object|undefined;"navbar.links.rules.sf":object|undefined;"navbar.links.rules.general":object|undefined;"navbar.links.rules.coc":object|undefined;"navbar.links.help.title":object|undefined;"navbar.links.help.center":object|undefined;"navbar.links.help.docs":object|undefined;"navbar.links.account":object|undefined;"status.loading":object|undefined;"status.status":object|undefined;"status.online":object|undefined;"status.offline":object|undefined;"status.players":{"count"?:unknown;}|undefined;"status.version":{"version"?:unknown;}|undefined;"home.page":object|undefined;"home.title.first":object|undefined;"home.title.second":object|undefined;"home.subtitle.1":object|undefined;"home.subtitle.2":object|undefined;"home.subtitle.3":object|undefined;"home.join":object|undefined;"home.benefits.historic.title":object|undefined;"home.benefits.historic.description.1":object|undefined;"home.benefits.historic.description.2":object|undefined;"home.benefits.server.title":object|undefined;"home.benefits.server.description":object|undefined;"home.benefits.events.title":object|undefined;"home.benefits.events.description.1":object|undefined;"home.benefits.events.description.2":object|undefined;"home.prefix.Admin":object|undefined;"home.prefix.Dev":object|undefined;"home.prefix.Mod":object|undefined;"home.prefix.Sup":object|undefined;"home.prefix.Arch":object|undefined;"footer.imprint":object|undefined;"footer.privacy":object|undefined;"footer.coc":object|undefined;"footer.stats":object|undefined;"footer.gamemodes":object|undefined;"footer.announcements":object|undefined;"footer.join":object|undefined;"wg.title":object|undefined;"mwg.title":object|undefined;"ws.title":object|undefined;"as.title":object|undefined;"qg.title":object|undefined;"ranking.heading":{"mode"?:unknown;}|undefined;"announcements.table.time":object|undefined;"announcements.table.blue":object|undefined;"announcements.table.red":object|undefined;"announcements.table.team":object|undefined;"announcements.table.points":object|undefined;}
type Translation = keyof TranslationVariables
type Environment = "none"|"node"|"browser"
declare module "astro-i18n" {

Datei anzeigen

@ -19,6 +19,7 @@
"mwg": "MiniWarGear",
"ws": "WarShip",
"as": "AirShip",
"qg": "QuickGear",
"rotating": "Rotating",
"megawg": "MegaWarGear",
"micro": "MicroWarGear",
@ -103,7 +104,19 @@
"as": {
"title": "AirShip"
},
"qg": {
"title": "QuickGear"
},
"ranking": {
"heading": "{# mode #} Rankings"
},
"announcements": {
"table": {
"time": "Time",
"blue": "Blue Team",
"red": "Red Team",
"team": "Team",
"points": "Points"
}
}
}

Datei anzeigen

@ -13,6 +13,6 @@
"description": "Der Traum vom Fliegen beflügelt die Menschheit schon seit Jahrtausenden. Der Spielmodus AirShips bietet dir die nahezu unbegrenzten Möglichkeiten des Himmels. Egal, ob du mit 15 2 Projektil-Kanonen oder 2 15 Projektil-Kanonen antrittst, du hast stets eine realistische Chance auf den Sieg. Denn: Alles hat seinen Preis."
},
"rules": "Regelwerk »",
"council": "Der Rat »",
"announcements": "Ankündigungen »",
"ranking": "Rangliste »"
}

Datei anzeigen

@ -13,7 +13,7 @@
"description": "In today's urban warfare, there is no place for heavy equipment, which is why smaller machines still have their place today. With their slightly smaller cannons, MiniWarGears are the perfect choice for beginners, casual players, and those who like to experiment."
},
"rules": "Rules »",
"council": "Council »",
"announcements": "Announcements »",
"ranking": "Ranking »",
"title": "{# mode #} - Rules",
"warning": {

Datei anzeigen

@ -53,6 +53,7 @@ const { title } = Astro.props;
<a href={l("/rules/miniwargear")} class="btn btn-gray">{t("navbar.links.rules.mwg")}</a>
<a href={l("/rules/warship")} class="btn btn-gray">{t("navbar.links.rules.ws")}</a>
<a href={l("/rules/airship")} class="btn btn-gray">{t("navbar.links.rules.as")}</a>
<a href={l("/rules/quickgear")} class="btn btn-gray">{t("navbar.links.rules.qg")}</a>
<h2 class="px-2 text-gray-300">{t("navbar.links.rules.rotating")}</h2>
<a href={l("/rules/megawargear")}class="btn btn-gray">{t("navbar.links.rules.megawg")}</a>
<a href={l("/rules/microwargear")}class="btn btn-gray">{t("navbar.links.rules.micro")}</a>

Datei anzeigen

@ -1,13 +1,26 @@
---
import {getCollection} from 'astro:content'
import {astroI18n, createGetStaticPaths} from "astro-i18n";
import {astroI18n, createGetStaticPaths, t} from "astro-i18n";
import PageLayout from "../layouts/PageLayout.astro";
export const getStaticPaths = createGetStaticPaths(async () => {
let posts = await getCollection("pages");
let posts = await getCollection("pages", value => value.id.split("/")[0] === astroI18n.locale);
return posts.filter(value => value.id.split("/")[0] === astroI18n.locale).map((page) => ({
props: { page }, params: { slug: page.slug }
function fixLink(slug: string): string {
if (astroI18n.locales.includes(slug.split("/")[0])) {
return slug.split("/").slice(1).join("/");
} else {
return slug;
}
}
return posts.map((page) => ({
props: {
page
},
params: {
slug: fixLink(page.slug)
}
}) )
})
@ -18,6 +31,12 @@ const { Content } = await page.render();
<PageLayout title={page.data.title}>
<article>
{page.data.german && (
<div class="bg-yellow-100 border-l-4 border-yellow-500 text-yellow-700 p-4" role="alert">
<div class="font-bold">{t("warning.title", {}, {route: "/rules"})}</div>
<div>{t("warning.text", {}, {route: "/rules"})}</div>
</div>
)}
<h1 class="text-left">{page.data.title}</h1>
<Content />
</article>

Datei anzeigen

@ -1,5 +1,5 @@
---
import {astroI18n, createGetStaticPaths} from "astro-i18n";
import {astroI18n, createGetStaticPaths, t} from "astro-i18n";
import {getCollection, CollectionEntry} from "astro:content";
import PageLayout from "../../layouts/PageLayout.astro";
import {TagSolid, CalendarMonthSolid} from "flowbite-svelte-icons"
@ -37,6 +37,12 @@ const { Content } = await post.render();
month: 'short',
year: 'numeric'
}).format(post.data.created)} </h5>
{post.data.german && (
<div class="bg-yellow-100 border-l-4 border-yellow-500 text-yellow-700 p-4" role="alert">
<div class="font-bold">{t("warning.title", {}, {route: "/rules"})}</div>
<div>{t("warning.text", {}, {route: "/rules"})}</div>
</div>
)}
<Content />
<script>
import type {ExtendedEvent} from "../../components/types/event";
@ -44,6 +50,7 @@ const { Content } = await post.render();
// @ts-ignore
import {get} from "svelte/store";
import {eventRepo} from "../../components/repo/repo";
import GroupTable from "../../components/GroupTable.svelte";
const eventMounts: Map<string, ((ev: ExtendedEvent) => void)[]> = new Map();
class FightTableElement extends HTMLElement {
@ -65,7 +72,27 @@ const { Content } = await post.render();
}
}
class GroupTableElement extends HTMLElement {
connectedCallback(): void {
if (!eventMounts.has(this.dataset['event'])) {
eventMounts.set(this.dataset['event'], [])
}
const rows = Number.parseInt(this.dataset['rows']);
eventMounts.get(this.dataset['event']).push(ev => {
new GroupTable({
target: this,
props: {
event: ev,
group: this.dataset['group'],
rows: !isNaN(rows) ? rows : 1,
}
})
})
}
}
customElements.define('fight-table', FightTableElement);
customElements.define('group-table', GroupTableElement);
function mountEvent() {
for (const key of eventMounts.keys()) {

Datei anzeigen

@ -2,6 +2,7 @@
import PageLayout from "../layouts/PageLayout.astro";
import {getCollection} from "astro:content";
import {t} from "astro-i18n";
import {l} from "../util/util";
const downloads = await getCollection("downloads");
---
@ -15,7 +16,7 @@ const downloads = await getCollection("downloads");
<div class="flex flex-col">
{typeof e.data.url === 'object' ?
Object.entries(e.data.url).map(value => (
<a href={value[1]} class="text-blue-500 hover:underline w-fit">{t(value[0])}</a>
<a href={value[1].startsWith("/") ? l(value[1]) : value[1]} class="text-blue-500 hover:underline w-fit">{t(value[0])}</a>
))
:
<a href={e.data.url} class="text-blue-500 hover:underline w-fit">{t("Download")}</a>

Datei anzeigen

@ -4,19 +4,21 @@ import {astroI18n} from "astro-i18n";
import NavbarLayout from "../../layouts/NavbarLayout.astro";
import {l} from "../../util/util";
import PageLayout from "../../layouts/PageLayout.astro";
let posts = await getCollection("help", entry => entry.id.split("/")[0] === astroI18n.locale);
---
<NavbarLayout title="Helpcenter">
<PageLayout title="Helpcenter">
<div>
<h1>Helpcenter</h1>
<h1 class="text-red-700 text-4xl">WIP!</h1>
{posts.map(value => (
<a href={l("/help/" + value.slug)}>
<h2>{value.data.title}</h2>
</a>
))}
</div>
</NavbarLayout>
</PageLayout>
<style>
div {

Datei anzeigen

@ -14,7 +14,8 @@ const imageMap = {
"wg": wg,
"mwg": mwg,
"as": as,
"ws": ws
"ws": ws,
"qg": mwg
}
const modes = await getCollection("modes", entry => entry.data.main)
@ -30,7 +31,7 @@ const modes = await getCollection("modes", entry => entry.data.main)
<div>{t(value.data.translationKey + ".description")}</div>
<div class="mt-2 flex flex-col">
<a href={l(`/rules/${value.id}`)} class="text-yellow-300 hover:underline w-fit">{t("rules")}</a>
<a href="/public" class="text-yellow-300 hover:underline w-fit">{t("council")}</a>
<a href={l(`/announcements/tags/${value.id}`)} class="text-yellow-300 hover:underline w-fit">{t("announcements")}</a>
{value.data.ranked ? <a href={l(`/ranked/${value.id}`)} class="text-yellow-300 hover:underline w-fit">{t(`ranking`)}</a> : null}
</div>
</div>