Scheiß Line Separator

Dieser Commit ist enthalten in:
Chaoscaot 2023-11-28 12:00:06 +01:00
Ursprung 3996376381
Commit 2abe554059
16 geänderte Dateien mit 1113 neuen und 466 gelöschten Zeilen

Datei anzeigen

@ -1,15 +1,15 @@
import { defineAstroI18nConfig } from "astro-i18n"
export default defineAstroI18nConfig({
primaryLocale: "en", // default app locale
secondaryLocales: ["de"], // other supported locales
fallbackLocale: "en", // fallback locale (on missing translation)
trailingSlash: "never", // "never" or "always"
run: "client+server", //"client+server" or "server"
showPrimaryLocale: false, // "/en/about" vs "/about"
translationLoadingRules: [], // per page group loading
translationDirectory: {}, // translation directory names
translations: {}, // { [translation_group1]: { [locale1]: {}, ... } }
primaryLocale: "en",
secondaryLocales: ["de"],
fallbackLocale: "en",
trailingSlash: "never",
run: "client+server",
showPrimaryLocale: false,
translationLoadingRules: [],
translationDirectory: {},
translations: {},
routes: {
de: {
about: "ueber-uns",
@ -17,6 +17,7 @@ export default defineAstroI18nConfig({
imprint: "impressum",
"code-of-conduct": "verhaltensrichtlinien",
rules: "regeln",
ranked: "rangliste",
}
}, // { [secondary_locale1]: { about: "about-translated", ... } }
},
})

Datei anzeigen

@ -15,24 +15,25 @@
},
"devDependencies": {
"@astrojs/prefetch": "^0.4.1",
"@astrojs/svelte": "^4.0.3",
"@astrojs/svelte": "^4.0.4",
"@astrojs/tailwind": "^5.0.2",
"@astropub/icons": "^0.2.0",
"@types/color": "^3.0.5",
"@types/crypto-js": "^4.1.3",
"@types/node": "^20.8.10",
"@types/color": "^3.0.6",
"@types/crypto-js": "^4.2.1",
"@types/node": "^20.9.3",
"cssnano": "^6.0.1",
"esbuild": "^0.19.5",
"esbuild": "^0.19.7",
"postcss-nesting": "^12.0.1",
"sass": "^1.69.5",
"svelte": "^4.2.2",
"svelte": "^4.2.7",
"tailwind-merge": "^2.0.0",
"tailwindcss": "^3.3.5"
},
"dependencies": {
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-markdown": "^6.2.2",
"@ddietr/codemirror-themes": "^1.4.2",
"astro": "^3.4.3",
"astro": "^3.5.6",
"astro-i18n": "^2.1.18",
"color": "^4.2.3",
"crypto-js": "^4.2.0",

888
pnpm-lock.yaml generiert

Datei-Diff unterdrückt, da er zu groß ist Diff laden

Datei anzeigen

@ -1,12 +1,12 @@
<script lang="ts">
import {Spinner, Toolbar, ToolbarButton, ToolbarGroup, Tooltip} from "flowbite-svelte";
import {markdown} from "@codemirror/lang-markdown";
import {json} from "@codemirror/lang-json";
import CodeMirror from "svelte-codemirror-editor";
import {pageRepo} from "../../../repo/repo.ts";
import {base64ToBytes} from "../../util.ts";
import type {Page} from "../../../types/page.ts";
import {materialDark} from '@ddietr/codemirror-themes/material-dark.js'
import {EditOutline} from "flowbite-svelte-icons";
import {createEventDispatcher} from "svelte";
export let pageId: number;
@ -56,7 +56,7 @@
</ToolbarGroup>
</Toolbar>
</div>
<CodeMirror bind:value={pageContent} lang={markdown()} theme={materialDark} />
<CodeMirror bind:value={pageContent} lang={page?.name.endsWith("md") ? markdown() : json()} theme={materialDark} />
</div>
{:catch error}
<p>{error.message}</p>

Datei anzeigen

@ -4,7 +4,7 @@ import type {ListPage, PageList} from "../types/page.ts";
export const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1);
export const nameRegex = new RegExp("(?!.*\/).+(?=\\.md)");
export const nameRegex = new RegExp("(?!.*\/).+(?=\\.(md|json))");
export function mapToMap(pages: PageList): Map<string, ListPage[]> {
const map = new Map();

Datei anzeigen

@ -52,10 +52,18 @@ export const downloads = defineCollection({
})
})
export const rules = defineCollection({
type: "content",
schema: z.object({
})
})
export const collections = {
'pages': pages,
'help': help,
'event': event,
'modes': modes,
'rules': rules,
'downloads': downloads
}

Datei anzeigen

@ -0,0 +1,109 @@
# AirShip-Regelwerk
## Definitionen
Ein AirShip ist eine beidseitig bewaffnete Struktur in Minecraft 1.19 und sieht flugfähig aus.
## Maße
![Picture](../../../images/Screenshot_2023-08-30_at_21.43.56-1536x714.png)
**Technikbereich**:
- 70 lang
- 35 breit
- 24 hoch
**Designbereich**:
- 130 lang
- 51 breit
- 32 hoch
Entfernung von Mitte zu Mitte des Gegners: 100 Block
Technik darf sich 4 Blöcke über die Maße hinaus ausfahren – unabhängige Flugmaschinen ausgenommen. Kanonen, Schilde, Flugmaschinen und Panzerung dürfen nur im Technikbereich verbaut werden.
## Projektile
Ein Projektil ist ein gezündetes TNT, welches in die gegnerische Hälfte wechselt. Eine Kanone ist eine Vorrichtung zum Beschleunigen von Projektilen. Es ist verboten, mehrere Kanonen als eine Einzige auszugeben.
Jeder Seite stehen bis zu 30 Projektile zur Verfügung. Sie müssen auf der dem Gegner zugewandten Seite oder, wenn beidseitig, in der Mitte gezündet werden
## Kampfablauf
- 5 min Vorbereitungszeit
- 45 s zum Starten von Flugmaschinen
- ab 5 min Kampfzeit ist Entern erlaubt
- 10 min Kampf
## Siegesbedingung
- Ein AirShip wird zu 60% (nach prozentualer Redstonekomponenten) zerstört.
- Alle Kämpfer eines AirShips sind tot.
- Nach 10 Minuten wird ein Unentschieden eingeleitet.
- Der Kampfleiter entscheidet.
## Blöcke
Es dürfen maximal je 30 TNT/slime/honey und 32 Werfer verbaut werden. Verbaute Blöcke dürfen einen TNT-Widerstand von maximal 6 haben. Ausgenommen davon ist Wasser mit dem einzigen Zweck, die Kanone vor selbstverursachtem Schaden zu bewahren.
Inventar-Blöcke dürfen nur mit Blumen, Honigflaschen und Pferderüstungen gefüllt sein. Zusätzlich dürfen sich in Kisten und Fässern TNT sowie in Werfern 2·64 Feuerbälle, 2·64 reguläre Pfeile oder 1 Eimer zum Aufheben von powdered Snow befinden.
Zusätzlich verboten: Monster Spawner, Eis, Nether Portal, Silberfischsteine, Leuchtfeuer, unsichtbare Blöcke (Ausnahme: structure_void) Das Duplizieren von Blöcken und Entities ist verboten.
Blöcke aus dem eigenen AS dürfen nicht in großer Menge entfernt werden.
Bug-Using ist nicht erwünscht.
<hr>
# Versteckte Blöcke (Ersetzt durch Stein)
- 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
# Zusatzinhalte folgender Blöcke (z.B. Text, Inhalt von Inventaren) werden mit versteckt:
- SIGN
- DISPENSER
- CHEST
- TRAPPED_CHEST
- FURNACE
- BREWING_STAND
- HOPPER
- DROPPER
- SHULKER_BOX
- JUKEBOX
- COMPARATOR

Datei anzeigen

@ -0,0 +1,161 @@
# MiniWarGear-Regelwerk
MiniWargears werden in der 1.19 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
Ein MiniWarGear darf sich maximal 7 Blöcke in alle Richtungen ausfahren. Alle ausfahrbare Schild- Komponenten dürfen nur von der Brücke aus aktivierbar sein.
## Materialien
Alle Blöcke im MiniWarGear dürfen maximal einen TNT-Widerstand von 9 aufweisen. Es
dürfen maximal 120 TNT verbaut werden. Inventarblöcke dürfen ausschließlich Blumen,
Honigflaschen und Pferderüstungen beherbergen. In Truhen und Fässer darf TNT gelagert
werden. In Werfern dürfen sich nur 1*64 Feuerbälle oder 1*64 Pfeile (ohne Effekte) befinden.
Es dürfen maximal 16 Werfer verbaut werden.
Folgende Materialien dürfen zusätzlich nicht verbaut werden: Alle Sprösslinge (6), Eis (79),
Nether Portal (90), Waterlogged Leaves und Waterlogged Roots
Wasser darf nur und ausschließlich in Kanonen verwendet werden, um Schaden beim eigenen
Schuss zu verhindern.
## Kanonen
Eine Kanone ist eine durchgehende Redstonekonstruktion, welche in der Lage ist,
gezündetes TNT in die gegnerische Hälfte zu befördern. Eine TNT-Kanone ist der einzige Ort
in einem MWG an dem Wasser verbaut werden darf, wenn es die Kanone nicht verlässt und
/oder im intakten Zustand Wasserschilde bildet. Außerdem darf sich die Kanone nicht gezielt
selbst beschädigen. Eine TNT-Kanone darf maximal 8 Projektile pro Schuss abfeuern.
Zusätzlich ist eine Hauptkanone mit 12 Projektilen erlaubt. Die Hauptkanone darf nur eine
manuelle Kanone sein.
Ein MiniWarGear darf insgesamt 9 Kanonen besitzen. Es ist
verboten, eine Vielzahl von Kanonen als eine einzige Kanone auszugeben. Es ist ebenfalls
Verboten eine einzige Kanone als mehrere auszugeben. Ob dies der Fall ist, entscheidet der
Prüfer des MiniWarGears oder der / die Kampfleiter.
Manuelle Kanonen sind TNT-Kanonen, welche manuell beladen werden müssen. Diese
dürfen vor dem Kampf nicht beladen sein. Des Weiteren müssen manuelle Kanonen am
Gegner Schaden anrichten können. Eine manuelle Kanone darf bis zu 3 Schüsse ohne
Nachladen abschießen.
Eine manuelle Kanone, welche ohne weiteres Nachladen mehrere
Schüsse hintereinander abgeben kann, muss die Projektile der einzelnen Schüsse von
denselben Abschusspunkt(en) aus abschießen. Der Ort wird vom ersten Schuss definiert.
Automatische Kanonen sind Kanonen welche ohne manuelles beladen mindestens 5
Schüsse abgeben können und vor Fightbeginn beladen sein müssen. Damit eine automaische
Kanone vorbeladen sein darf, muss diese mindestens 5 Schüsse abgeben. Alle Schüsse
müssen von den selben Abschusspunkt/en abgeschossen werden und die ersten 5 Schüsse
müssen gleich viele Projektile verschießen. Ab dem 6. Schuss darf die Projektilanzahl
abnehmen, jedoch nicht zunehmen. Eine Automatische Kanone darf max. alle 4 Sekunden
(40 Redstoneticks) schießen. Es sind max. 2 Automatische Kanonen erlaubt.
## Brücke
Ein MiniWargear benötigt eine Brück welche als klar erkennbarer Raum vom Rest des Miniwargears durch Türen oder Kolben abtrennbar ist.
Die Brücke muss folgende Voraussetzungen erfüllen:
- Min. 25 begehbare Blöcke
- Einen periodisch akustischen (Notenblock/Glocke) und optischen Schadenssensor
- Sichtfenster auf das gegnerische MiniWarGear
- Die Ansteuerung für min. 4 vom Gegner aus Sichtbare Frontscheinwerfer
- Die Ansteuerung für ggf. vorhandene automatische Kanonen
- Die einzige Ansteuerung für ggf. vorhandene Werfer, die mit Pfeilen oder Feuerbällen den Gegner beschießen
- Die Ansteuerung für ggf. vorhandene Schildtechniken
## Design
Ein MiniWarGear benötigt (neben mindestens einer Kanone) ein Design. Die äußere Schicht
des MiniWarGears darf maximal einen TNT-Widerstand von 6 besitzen. Es wird eine
durchgängige Struktur über die gesamte Front des MiniWarGears erwartet. Es müssen
mindestens 2 verschiedene Blöcke im Design eingebaut werden. (Werfer und
Redstonelampen werden nicht mitgezählt).
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.
## Bug-Using
Das erschaffen von TNT im MWG ist verboten
Exzessives verwenden von Blöcken die vom Techhider replacet werden ist verboten
## Definitionen
### Projektil
Ein Projektil ist ein TNT, welches im gezündeten Zustand von den Treibladungen
beschleunigt wird. Ein Projektil ist auch ein TNT, welches die maximalen Maße eines
MiniWarGears in Richtung des Gegners verlässt.
### Treibladung
Eine Treibladung ist ein TNT, das im gezündeten Zustand Projektile in die gegnerische
Hälfte beschleunigt. Die Treibladungen einer Kanone (manuelle und automatische Kanonen)
dürfen nur die eigenen Projektile beeinflussen.
## Versteckte Blöcke (Ersetzt durch Endstein)
- 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
- POLISHED_BLACKSTONE_PRESSURE_PLATE
- MANGROVE_PRESSURE_PLATE
- CRIMSON_PRESSURE_PLATE
- WARPED_PRESSURE_PLATE
## Zusatzinhalte folgender Blöcke (z.B. Text, Inhalt von Inventaren) werden mit versteckt:
- SIGN
- DISPENSER
- CHEST
- TRAPPED_CHEST
- FURNACE
- BREWING_STAND
- HOPPER
- DROPPER
- SHULKER_BOX
- JUKEBOX
- COMPARATOR

Datei anzeigen

@ -0,0 +1,200 @@
# WarGear-Regelwerk
## 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.
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.
Ein **Projektil** ist ein gezündetes TNT, welches die maximalen Ausfahrmaße eines WarGears
in Richtung Gegner verlässt.
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.
Alle **Clocks** müssen nach Vollendung ihrer Aufgabe sich selbst ausschalten.
<hr>
## Maße
Höhe: 41
Block Tiefe: 47
Block Breite: 67 Block
Ein WarGear darf sich bis zu 16 Blöcke in jede Richtung ausfahren
<hr>
## Blöcke
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>
## 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.
**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.
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.
<hr>
## 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.
<hr>
## 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:
- 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
Ggf. vorhandene automatisch ausfahrende Schildtechnik, muss nicht von der Kommandozentrale aus ansteuerbar sein.
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.
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.
<hr>
## Design
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).
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.
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.
<hr>
## Bug-Using
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.
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.
Versteckte Blöcke (Ersetzt durch Endstein)
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.
<hr>
## Versteckte Blöcke (Ersetzt durch Endstein)
- 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
## Zusatzinhalte folgender Blöcke (z.B. Text, Inhalt von Inventaren) werden mit versteckt:
- SIGN
- DISPENSER
- CHEST
- TRAPPED_CHEST
- FURNACE
- BREWING_STAND
- HOPPER
- DROPPER
- SHULKER_BOX
- JUKEBOX
- COMPARATOR

Datei anzeigen

@ -0,0 +1,74 @@
# WarShip-Regelwerk
## Definitionen
### WarShip
Ein WarShip ist eine bewaffnete, schwimmende Struktur in Minecraft mit der optischen Erscheinung eines Schiffes. Der Schwimmkörper muss dabei einen Großteil des WarShips ausmachen. Ein WarShip kann optional ein Design aufweisen, das andere im Wasser schwimmende/befindliche Dinge oder Tiere repräsentiert, sofern das gewählte Design gänzlich implementiert wird. Jedes WarShip muss beidseitig gleich bewaffnet sein.
### Projektil
Ein Projektil ist ein TNT, welches im gezündeten Zustand in die gegnerische Hälfte wechselt. Projektile müssen auf der dem Gegner zugewandten Schiffsseite gezündet werden. Unter Wasser gezündete Projektile müssen innerhalb des Technikbereiches, oberhalb der Wasserlinie gezündete Projektile innerhalb des Ausfahrbereichs gezündet werden.
### Kanone
Eine Kanone ist eine Vorrichtung zum Beschleunigen von Projektilen. Eine Kanone darf maximal 2 Projektile verschießen. Eine Kanone muss manuell beladen werden. Eine Kanone darf maximal alle 2s schießen. Es dürfen maximal 32 Kanonen pro Seite verbaut werden. Kanonen sind der einzige Ort, an dem Wasser verbaut werden darf, wenn es keinen anderen Zweck hat, als diese vor selbst verursachten Schaden zu bewahren und TNT zu transportieren.
## Maße
- Länge: 230 Block
- Breite: 35 Block (+ 4 Block Design pro Seite)
- Höhe: 30 Block + 20 Block Design
- Tiefe: Bis zu 8 Block unter dem Meeresspiegel
Bei jedem WarShip müssen sich mindestens 10% der absoluten Blöcke (45.000 Blöcke) über der Wasserlinie befinden.
Im Designbereich dürfen sich keine kampfrelevanten (Kanonen, Schleim/Honigfahrzeuge, Schilde) Techniken befinden. Eine Durchpanzerung des Designbereiches ist nicht zulässig. Der Designbereich ist ausschließlich für einzelne überstehende Designobjekte wie beispielsweise Kanonenrohre, Segel, Banner oder Bullaugen da.
## Blöcke
Es dürfen nur Blöcke mit einem TNT-Widerstand von maximal 6 verbaut werden. Vor und im Kampf dürfen sich in allen Blöcken mit Inventar nur Blumen, Honigflaschen und Pferderüstungen befinden, in Kisten und Fässer darf auch TNT sein. Es dürfen maximal 32 Werfer pro Seite verbaut werden. In Werfern dürfen sich 2×64 Feuerbälle oder 2×64 Pfeile (ohne Effekte) befinden.
Das Verbauen von unsichtbaren Mauern oder anderen unsichtbaren Blöcken mit Hitbox ist verboten.
Ebenso verboten sind: Monsterspawner, Eis, Netherportalblock, Alle Silberfischsteine.
Das Missbrauchen von unverschiebbaren Blöcken als Panzerung ist verboten.
Wasser darf nicht zum Schutz des eigenen WarShips missbraucht werden.
## Design
Größere Hohlräume im Rumpf zum Ausweichen feindlicher Schüsse sind nicht gestattet, auch nicht während des Kampfes. Jedes WarShip braucht eine Flagge.
Ein WarShip benötigt einen fortbewegungsfähigen Rumpf mit entsprechendem Antrieb (z.B. Segel, Schiffsschrauben).
Der Rumpf muss mindestens einen Block tief unter Wasser sowie mindestens 5 Block über dem Meeresspiegel sein (dies gilt auch während des Kampfes relativ zur Wasseroberfläche). Der Rumpf darf max. 16 Block hoch sein.
Jedes WarShip benötigt eine Brücke, welche die folgenden Kriterien erfüllt:
- Min. 50 begehbare Blöcke
- Min. 2 Block hoch im gesamten Brückenraum
- Ansteuerung von min. zwei zum Gegner gewandten Scheinwerfer
- Optische Brückeneinrichtung
## Anti-Lag-Regeln
Clocks müssen sich mit Ende ihres Einsatzzweckes selbst abschalten.
Sämtliche Redstonetechnik zum Schutz des eigenen WarShips muss ihre Aktivität vor dem Verteilen der Kits eingestellt haben.
Raketen und Flugmaschinen
Ein WarShip darf sich maximal 12 Block vom Technikbereich an weit ausfahren, davon ausgenommen sind Raketen und Flugmaschinen. Raketen und Flugmaschinen dürfen sich im Flug nicht in mehrere Schleim/Honigfahrzeuge aufteilen.
Flugmaschinen sind Schleim/Honigfahrzeuge, welche die Ausfahrmaße des WarShips verlassen und kein TNT zum Gegner transportieren. Flugmaschinen, welche TNT von Raketen zünden oder Flugmaschinen und/oder Raketen stoppen werden bei der Bestimmung der Anzahl nicht gezählt. Es dürfen maximal 8 Flugmaschinen pro Seite verbaut werden.
Eine Rakete ist ein Schleim/Honigfahrzeug, das TNT zum Gegner transportiert. Es dürfen maximal 12 Raketen pro Seite verbaut werden. Ein Raketenmagazin ist in der Lage, mehrere Raketen auf der nahezu gleichen Flugbahn zum Gegner zu schicken. Ein Raketenmagazin wird wie 2 Raketen gewertet.
Es dürften maximal 1000 der vorverbauten Slime- + Honig- + TNT-Blöcke das WarShip in Flugmaschinen und Raketen verlassen.
## Kampfablauf
60 Sekunden vor Kampfbeginn können Flugmaschinen und Raketen das eigene WarShip verlassen. Mit Kampfbeginn dürfen Blöcke abgebaut und platziert werden; TNT-Schaden wird aktiviert. 10 Minuten nach Kampfbeginn wird das Entern des feindlichen WarShips erlaubt. Spieler mit einem Kit, welches TNT beladen kann und nicht dem Kapitän zugeordnet ist, dürfen erst 15 Minuten nach Kampfbeginn entern.
Der Kampf endet, wenn:
- Der Kampf länger als 20 Minuten dauert
- Der Anführer eines Teams tot ist
- Ein WarShip zu 7% beschädigt wurde

2
src/env.d.ts vendored
Datei anzeigen

@ -10,7 +10,7 @@
type PrimaryLocale = "en"
type SecondaryLocale = "de"
type Locale = PrimaryLocale | SecondaryLocale
type RouteParameters = {"/dashboard":undefined;"/downloads":undefined;"/":undefined;"/login":undefined;"/rules":undefined;"/[...slug]":{"slug":unknown;};"/admin":undefined;"/help":undefined;"/help/[...slug]":{"slug":unknown;};}
type RouteParameters = {"/dashboard":undefined;"/downloads":undefined;"/":undefined;"/login":undefined;"/[...slug]":{"slug":unknown;};"/admin":undefined;"/help":undefined;"/help/[...slug]":{"slug":unknown;};"/ranked/[...gamemode]":{"gamemode":unknown;};"/rules":undefined;"/rules/[...slug]":{"slug":unknown;};}
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;"page":object|undefined;"wg.title":object|undefined;"wg.description":object|undefined;"as.title":object|undefined;"as.description":object|undefined;"ws.title":object|undefined;"ws.description":object|undefined;"mwg.title":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"council":object|undefined;"ranking":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;}
type Translation = keyof TranslationVariables

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 272 KiB

Datei anzeigen

@ -1,9 +1,6 @@
---
import { getCollection } from 'astro:content'
import NavbarLayout from "../layouts/NavbarLayout.astro";
import {getCollection} from 'astro:content'
import {astroI18n, createGetStaticPaths} from "astro-i18n";
import localBau from "../images/2023-10-08_20.43.43.png";
import {Image} from "astro:assets";
import PageLayout from "../layouts/PageLayout.astro";
export const getStaticPaths = createGetStaticPaths(async () => {

Datei anzeigen

@ -0,0 +1,3 @@
---
---

Datei anzeigen

@ -0,0 +1,71 @@
---
import {getCollection} from 'astro:content'
import {astroI18n, createGetStaticPaths} from "astro-i18n";
import PageLayout from "../layouts/PageLayout.astro";
export const getStaticPaths = createGetStaticPaths(async () => {
let posts = await getCollection("rules");
return posts.filter(value => value.id.split("/")[0] === astroI18n.locale).map((page) => ({
props: { page }, params: { slug: page.slug }
}) )
})
const { page } = Astro.props;
const { Content } = await page.render();
---
<PageLayout title={page.data.title}>
<article>
<Content />
</article>
</PageLayout>
<style is:global>
article {
p {
@apply my-4 leading-7;
}
h1 {
@apply text-4xl font-bold mt-4 text-center;
}
h2 {
@apply text-3xl font-bold mt-4;
}
h3 {
@apply text-2xl font-bold mt-4;
}
h4 {
@apply text-xl font-bold mt-4;
}
a {
@apply text-blue-500 hover:text-blue-700;
}
ol>li, ul>li {
@apply ml-4;
}
ol {
@apply list-decimal;
}
ul {
@apply list-disc;
}
code {
@apply dark:text-neutral-400 text-neutral-800;
}
pre.astro-code {
@apply w-fit p-4 rounded-md border-2 border-gray-600 my-4;
}
}
</style>

Datei anzeigen

@ -1,12 +1,12 @@
---
import wg from "../images/WarGears.png"
import mwg from "../images/MiniWarGears.png"
import as from "../images/AirShips.png"
import ws from "../images/WarShips.png"
import wg from "../../images/WarGears.png"
import mwg from "../../images/MiniWarGears.png"
import as from "../../images/AirShips.png"
import ws from "../../images/WarShips.png"
import {t} from "astro-i18n";
import {getCollection} from "astro:content";
import PageLayout from "../layouts/PageLayout.astro";
import PageLayout from "../../layouts/PageLayout.astro";
import {Image} from "astro:assets";
const imageMap = {
@ -28,9 +28,9 @@ const modes = await getCollection("modes", entry => entry.data.main)
<h1 class="text-2xl font-bold">{t(value.data.translationKey + ".title")}</h1>
<div>{t(value.data.translationKey + ".description")}</div>
<div class="mt-2 flex flex-col">
<a href="/" class="text-yellow-300 hover:underline w-fit">{t("rules")}</a>
<a href="/" class="text-yellow-300 hover:underline w-fit">{t("council")}</a>
{value.data.ranked ? <a href="/" class="text-yellow-300 hover:underline w-fit">{t("ranking")}</a> : null}
<a href="/public" 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>
{value.data.ranked ? <a href="/public" class="text-yellow-300 hover:underline w-fit">{t("ranking")}</a> : null}
</div>
</div>
</div>))}