Zum Hauptinhalt springen

Protection

Veraltete Regions-Engine mit Flags und Regions-Events. Nutze für neue Projekte die offizielle Region-Erweiterung.

KostenlosVeraltetv1.3Welt & Bauen
Diese Erweiterung ist veraltet und erhält keine neuen Funktionen mehr. Verwende stattdessen Region (official TypeWriter extension).

Überblick​

Veraltet

Protection ist veraltet (deprecated). Es erhält keine neuen Funktionen, und v1.3 ist das letzte Kompatibilitäts-Release. Neue Projekte sollten die offizielle Region-Erweiterung von TypeWriter verwenden, dokumentiert unter docs.typewritermc.com. Diese Seite bleibt für Server bestehen, die Protection bereits einsetzen.

Mit Protection definierst du Regionen im TypeWriter-Web-Panel und gibst ihnen Regeln, sogenannte Flags. Eine Region ist ein Quader oder ein Polygonprisma, das in einem Artifact gespeichert ist, mit einer Priorität, Besitzern, Mitgliedern, einer optionalen übergeordneten Region und einer Liste von Flags wie build, pvp oder mob-spawning. Wenn Spieler innerhalb einer Region handeln, bricht die Erweiterung die Aktion entsprechend den Flags ab oder verändert sie.

Regionen sind außerdem TypeWriter-Objekte. Du kannst eine Sequence starten, wenn ein Spieler eine Region betritt oder verlässt, eine Audience nach Region filtern, Spieler nach Region gruppieren, einen Fact lesen, der angibt, ob ein Spieler sich darin befindet, und Regionen auf einer BlueMap-Karte anzeigen.

Funktionen​

  • Quader- und Polygonregionen — zeichne eine Region im Spiel mit einer Werkzeugleiste oder importiere eine WorldEdit-Auswahl.
  • Weltweite Regionen — ein globales Artifact deckt ganze Welten zwischen zwei Höhen ab.
  • Überlappung und Priorität — Regionen können sich überlappen; sie werden von der höchsten Priorität abwärts ausgewertet.
  • Übergeordnete Regionen — eine untergeordnete Region erbt die Flags, Besitzer und Mitglieder ihrer übergeordneten Region.
  • Viele Flags — 99 Flag-Keys für Bauen, Kampf, Explosionen, Umgebung, Bewegung und Chat.
  • Besitzer und Mitglieder — diese Spieler werden innerhalb ihrer Region nie eingeschränkt.
  • Regions-Events — Betreten- und Verlassen-Events, ein Audience-Filter, eine Gruppe und ein Fact.
  • Inspektionswerkzeuge — /typewriter protection inspect, info und flags zeigen, welche Flags dort gelten, wo du stehst.
  • BlueMap-Marker — zeige eine Region mit eigenen Farben auf BlueMap an.
  • PlaceholderAPI — lies die Regionen um einen Spieler und ihre Flag-Werte aus.

Installation​

  1. Installiere PacketEvents, das TypeWriter ohnehin voraussetzt.
  2. Optional: Installiere WorldEdit oder FastAsyncWorldEdit, um Auswahlen mit /typewriter protection import-we zu importieren.
  3. Optional: Installiere MythicMobs, damit das Flag mob-spawning auch für Mythic-Mobs gilt, und BlueMap, um Regionen auf der Karte anzuzeigen.
  4. Optional: PlaceholderAPI für die Platzhalter.
  5. Lege die Protection-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.

Erste Schritte​

So schützt du einen Spawn-Bereich vor Bauen und PvP:

  1. Öffne im TypeWriter-Web-Panel eine Manifest-Seite und füge ein Protection Region Artifact hinzu. Lass artifactId wie generiert: Es speichert die Form der Region.
  2. Füge eine Protection Region Definition hinzu und verknüpfe das Artifact in artifact. Setze eine priority (zum Beispiel 10).
  3. Füge in flags ein Flag mit dem Key build und einem booleschen Wert false hinzu. Füge pvp auf dieselbe Weise hinzu. Ein boolesches Flag mit false verbietet die Aktion.
  4. Veröffentliche (Publish) die Seite.
  5. Führe im Spiel /typewriter protection edit <definition> aus. In deiner Hotbar erscheint eine Werkzeugleiste: Der Lohenstab fügt einen Punkt an dem Block hinzu, den du ansiehst, der Redstone entfernt den letzten Punkt, der Kompass wechselt zwischen Quader- und Polygonmodus, der Limettengrüne Farbstoff wendet die Auswahl an und die Barriere bricht ab. Füge bei einem Quader zwei gegenüberliegende Ecken hinzu und wende an.
  6. Betritt den Bereich und versuche, einen Block abzubauen. Mit /typewriter protection inspect kannst du prüfen, was gilt.
Eine WorldEdit-Auswahl importieren

Erstelle eine Auswahl mit WorldEdit und führe dann /typewriter protection import-we <definition> aus. Deine Auswahl wird in Punkte umgewandelt, die du anschließend anwenden kannst.

Besitzer und Mitglieder

Besitzer und Mitglieder einer Region sowie Spieler mit typewriter.protection.bypass ignorieren jedes Flag dieser Region. Teste mit einem Spieler, der nicht aufgeführt ist und kein Operator mit der Bypass-Berechtigung.

So funktioniert es​

Eine Region existiert nur, solange ihr Definition-Entry existiert und veröffentlicht ist. Ihre Form ist im Artifact gespeichert, und die Definition enthält alles andere.

Überlappung. Mehrere Regionen können denselben Punkt enthalten. Sie werden von der höchsten priority zur niedrigsten geprüft. Bei booleschen Flags genügt ein Flag mit false, um die Aktion zu verbieten: Eine Region mit build true hebt das Verbot einer Region mit niedrigerer Priorität nicht auf. Flags, die etwas verändern (Nachrichten, Actions, Teleports), werden von der ersten Region angewendet, die sie definiert.

Vererbung. Eine Region mit einer parentRegion wertet auch die Flags ihrer Elternregionen aus. Besitzer und Mitglieder der Elternregionen werden der untergeordneten Region hinzugefügt. Die untergeordnete Region verwendet ihre eigene priority oder die der Elternregion, wenn ihre eigene 0 ist.

Regionsgrenzen. Betreten und Verlassen werden erkannt, wenn sich ein Spieler zu einem anderen Block bewegt oder teleportiert. Ein Spieler, der innerhalb einer Region beitritt, löst das Betreten-Event bei seiner ersten Bewegung um einen Block aus.

Konfiguration​

Nachrichten und Inspektion. Füge einen Protection Settings-Entry hinzu, um zu ändern, wie verweigerte Aktionen angezeigt werden: Chat, Actionbar oder Bossbar, MiniMessage-Vorlagen ({reason}, {reason_line}, {region}, {flag}), die Aktualisierungsrate des Inspektionsmodus (inspectRefreshTicks, mindestens 5 Ticks) und der Text der Befehlsnachrichten in messages. Ohne diesen Entry werden Standardwerte verwendet. Nur der erste gefundene Entry wird gelesen.

BlueMap. Aktiviere in einer Regionsdefinition bluemapSettings.enabled, um die Region auf BlueMap zu zeichnen. Du wählst das Marker-Set, die Linien- und Füllfarben, das Label ({name}, {id}, {priority}) und ob der Marker extrudiert oder flach ist. Regionen werden beim Start von BlueMap und bei jeder Änderung einer Region synchronisiert.

Besitzer und Mitglieder. owners und members enthalten Spieler-UUIDs. Die Befehle addowner und addmember akzeptieren einen Spielernamen und speichern die UUID, wenn der Spieler dem Server bekannt ist.

Flags​

Flags werden zur Liste flags einer Regionsdefinition hinzugefügt. Jedes Flag hat einen Key und einen typisierten Wert. Die meisten Flags sind boolesch: Ein Wert false verbietet die Aktion. Die untenstehenden Flag-Keys sind die, die im Web-Panel und in Befehlen verwendet werden.

Bauen und Interaktion​

FlagWas ein Wert false bewirkt
buildBricht das Abbauen und Platzieren von Blöcken ab. Wird vor block-break und block-place geprüft.
block-break, block-placeBricht das Abbauen oder Platzieren von Blöcken ab.
useBricht Rechtsklicks auf Türen, Knöpfe, Hebel, Zauntore, Falltüren, Schilder, Truhen, Fässer, Shulker-Kisten, Öfen, Ambosse, Werkbänke und andere Stationen, Redstone-Komponenten und ähnliche Blöcke ab.
interactBricht jede Spielerinteraktion ab, einschließlich Klicks in die Luft. Mit Vorsicht verwenden.
chest-accessBricht das Öffnen von Containern ab (Truhen, Fässer, Shulker-Kisten, Trichter, Werfer, Spender, Öfen, Braustände).
sleepBricht die Benutzung von Betten ab.
lighterBricht Feuerzeug (Feuerstein und Stahl) und Feuerbälle ab.
vehicle-place, vehicle-destroyBricht das Platzieren von Loren und Booten oder das Zerstören eines Fahrzeugs durch einen Spieler ab.
entity-painting-destroyBricht das Zerstören von Gemälden und Rahmen durch einen Spieler ab.
crop-tramplingBricht das Zertrampeln von Ackerland ab.
pistonsBricht ab, dass Kolben Blöcke in die Region hinein- oder aus ihr herausbewegen.
item-pickup, item-dropBricht das Aufheben oder Fallenlassen von Items ab.

Kampf und Mobs​

FlagWas ein Wert false bewirkt
pvpBricht Schaden zwischen Spielern ab.
mob-damageBricht Schaden an einem Spieler ab, der von einer Entity verursacht wird, die kein Spieler ist.
damage-animalsBricht ab, dass ein Spieler Tiere schlägt.
tnt-damage, firework-damageBricht Schaden durch TNT und TNT-Loren oder durch Feuerwerk ab.
mob-spawningBricht das Spawnen von Kreaturen ab, unabhängig vom Grund. Es gilt auch für MythicMobs, wenn MythicMobs installiert ist.
btcmob-spawning, btcmob-damageDasselbe für BTC-Mobs-Kreaturen, wenn BTC Mobs installiert ist.
exp-dropsIn der Region getötete Mobs lassen keine Erfahrung fallen.
potion-splashBricht Wurftränke ab, die in der Region landen.

Explosionen und Umgebung​

FlagWas ein Wert false bewirkt
creeper-explosion, tntBricht Creeper-Explosionen oder TNT-, TNT-Loren- und Respawn-Anker-Explosionen ab.
ghast-fireballBricht Explosionen von Feuerbällen, Wither-Schädeln, Drachenfeuerbällen und Windkugeln ab.
fire-spreadBricht Feuerausbreitung, brennende Blöcke und Entzündung ab, die nicht von Lava oder Blitz stammt.
lava-fire, lightningBricht Entzündung durch Lava sowie Blitzeinschläge und Entzündung ab.
lava-flow, water-flowBricht ab, dass Lava oder Wasser in die Region fließt.
ice-melt, snow-meltBricht das Schmelzen von Eis oder Schnee ab.
ice-form, snow-fallBricht die Bildung von Eis oder Schnee ab.
frostwalkerBricht Eis durch Frostläufer ab.
leaf-decay, grass-growth, vine-growthBricht das Verrotten von Laub, die Ausbreitung von Gras, Myzel, Pfaden und Pilzen sowie das Wachsen von Ranken ab.
enderman-grief, ravager-griefBricht ab, dass Endermen und Verwüster Blöcke verändern.
chunk-unloadEin Wert true hält die Chunks der Region dauerhaft geladen.

Bewegung​

FlagWertWirkung
entry, exitbooleanEin Wert false blockiert das Betreten oder Verlassen der Region. Blockierte Spieler erhalten die Nachricht deniedEntry.
entry-deny-action, exit-deny-actionActionsTypeWriter-Actions, die für den Spieler beim Betreten oder Verlassen ausgeführt werden und wenn ein Betreten oder Verlassen verweigert wird. Verwende für normale Logik die Entries für Betreten- und Verlassen-Events.
ender-pearlbooleanEin Wert false bricht Enderperlen-Teleports in die Region ab.
fall-damagebooleanEin Wert false bricht Fallschaden ab.
flybooleanEin Wert false schaltet den Flug für Spieler in der Region aus.
walk-speed, fly-speedZahlLegt die Geh- oder Fluggeschwindigkeit der Spieler darin fest, zwischen 0 und 1. Bukkit-Skala: 0.2 ist die normale Gehgeschwindigkeit und 0.1 die normale Fluggeschwindigkeit. Außerhalb wird der Standardwert wiederhergestellt.
glideTextdeny stoppt das Gleiten mit Elytren und das Umschalten des Flugs. allow und default bewirken nichts.
join-locationPositionSpieler, die sich innerhalb der Region anmelden oder respawnen, werden an diese Position bewegt.

Spielerzustand, Chat und Befehle​

FlagWertWirkung
hungerbooleanEin Wert false stoppt den Hungerverlust.
heal-amount, heal-min-health, heal-max-healthZahlHeilt Spieler in der Region jede Sekunde um heal-amount Lebenspunkte, zwischen minimaler und maximaler Gesundheit. Das Heilen pausiert nach jedem Schaden 5 Sekunden lang.
item-durabilitybooleanEin Wert true verhindert, dass Werkzeuge, Waffen und Rüstung an Haltbarkeit verlieren.
send-chat, receive-chatbooleanEin Wert false blockiert Nachrichten, die aus der Region gesendet oder innerhalb von ihr empfangen werden.
chat-prefix, chat-suffixTextFügt Text vor oder nach Chatnachrichten ein, die aus der Region gesendet werden.
blocked-cmds, allowed-cmdsListeBefehlsnamen (ohne Schrägstrich), die blockiert werden oder immer erlaubt sind. * blockiert jeden Befehl. allowed-cmds hat Vorrang.
worldeditbooleanEin Wert true blockiert WorldEdit-Befehle für Spieler in der Region.

Von dieser Erweiterung nicht durchgesetzt​

Die folgenden Flags können einer Region hinzugefügt werden, aber nichts in Protection wertet sie aus: passthrough, teleport, godmode, nether-portals, entry-min-level, entry-max-level, permit-completely, mobtrap-use, blocked-effects, heal-delay, biome (das Biom wird nicht verändert) und die RPG-Flags mana-regen, mana-drain, double-drop, grappling-hook, fishing, alchemy, enchanting-override, elytra-auto-switch, ground-item-glow, pistol, corruption, auction, backpack, wardrobe, profession, experience, gathering und resin.

keep-inventory, keep-exp und invincible haben auch für normale Spieler keine Wirkung: Sie wirken nur für Besitzer, Mitglieder und Spieler mit der Bypass-Berechtigung.

Befehle​

Alle Befehle sind Unterbefehle von /typewriter (Alias /tw), zum Beispiel /typewriter protection list. Sie können nur von Spielern genutzt werden und erfordern typewriter.protection. Mit „admin“ markierte Befehle erfordern typewriter.protection.admin.

BefehlBeschreibung
/typewriter protection listListet geladene Regionen auf, höchste Priorität zuerst.
/typewriter protection edit <definition>Beginnt, die Region im Spiel mit der Hotbar-Werkzeugleiste zu zeichnen. Bei einem globalen Artifact werden die Artifact-Werte sofort angewendet.
/typewriter protection applySpeichert die aktuelle Auswahl.
/typewriter protection cancelBricht die aktuelle Auswahl ab.
/typewriter protection remove <1-16>Entfernt einen Punkt der aktuellen Auswahl.
/typewriter protection import-we <definition>Importiert deine WorldEdit-Auswahl als Punkte der Region.
/typewriter protection info <region>Zeigt Form, Priorität, Besitzer, Mitglieder und Flags einer Region.
/typewriter protection flags <region>Zeigt, welche Flags wirksam, geerbt, überschrieben oder durch Vererbung blockiert sind.
/typewriter protection inspectSchaltet eine Live-Ansicht der Regionen und Flags an deiner Position um, in der Actionbar und in Bossbars.
/typewriter protection teleport <region>Teleportiert zur Mitte einer Region (oder zum Weltspawn bei einer globalen Region).
/typewriter protection wandGibt einen Stock namens Protection Wand. In diesem Release reagiert nichts darauf.
/typewriter protection setflag <region> <flag> <value> (admin)Ändert ein Flag im Speicher.
/typewriter protection clearflag <region> <flag> (admin)Löscht ein Flag im Speicher.
/typewriter protection addowner|removeowner|addmember|removemember <region> <player> (admin)Ändert Besitzer oder Mitglieder im Speicher.
/typewriter protection delete <region> (admin)Entfernt eine Region aus dem Speicher.
/typewriter protection reload (admin)Lädt Regionen aus den veröffentlichten Entries neu.
/typewriter protection migrate-from-worldguard (admin)Experimenteller Import der Quadergrenzen von WorldGuard-Regionen. Siehe die Seite zu Artifact-Identität und Migration.
Befehle nur im Speicher

setflag, clearflag, addowner, removeowner, addmember, removemember und delete schreiben nicht in deine Entries. Sie ändern die geladene Kopie, und die Änderungen gehen bei einem Reload oder Neustart verloren. Die meisten Flags werden aus dem Regionsdefinition-Entry durchgesetzt, daher ändert ein setflag nicht, wie sich build, pvp oder die meisten anderen Flags verhalten. Bearbeite Flags im Web-Panel und veröffentliche.

Berechtigungen​

BerechtigungErlaubt
typewriter.protectionDie /typewriter protection-Befehle, die nicht nur für Admins sind.
typewriter.protection.adminDie Admin-Befehle: Flags, Besitzer, Mitglieder, Löschen, Reload und WorldGuard-Migration.
typewriter.protection.bypassIgnoriert jedes Flag in jeder Region.

Platzhalter​

PlaceholderAPI-Platzhalter haben die Form %typewriter_regions:<path>%. Sie lesen die Regionen an der Spielerposition, nach Priorität sortiert; primary ist die erste.

PlatzhalterLiefert
%typewriter_regions:count%Wie viele Regionen den Spieler enthalten.
%typewriter_regions:list%, %typewriter_regions:list_names%Die IDs oder die Namen dieser Regionen, durch Kommas getrennt.
%typewriter_regions:stack%Priorität und Name jeder Region, durch | getrennt.
%typewriter_regions:has:<id1>,<id2>%true, wenn der Spieler in einer der aufgeführten Regionen ist.
%typewriter_regions:primary%Der Name der Region mit der höchsten Priorität. Hänge :id, :name, :priority, :overlap_count, :parent, :parent_name, :owner_count, :member_count, :is_global, :depth oder :path für andere Felder an.
%typewriter_regions:active:<n>%Dieselben Felder für die n-te Region des Stapels, ab 1 gezählt, zum Beispiel %typewriter_regions:active:2:id%.
%typewriter_regions:flag:<flag>%Der Wert eines Flags in der primären Region. Hänge :state, :source oder :source_name an, um zu sehen, woher er stammt.
%typewriter_regions:by_id:<region>:<field>%Ein Feld einer bestimmten Region, zum Beispiel %typewriter_regions:by_id:spawn:priority%.
%typewriter_regions:exists:<region>%true, wenn die Region existiert.
%typewriter_regions:nearest%Die Region, deren minimale Ecke dem Spieler am nächsten liegt. Dieselben Felder sind verfügbar.
%typewriter_regions:can_build%, %typewriter_regions:can_interact%false, wenn die erste Region nach Priorität, die build (oder interact) setzt, es auf false gesetzt hat, sonst true.

Migration zu Region​

Protection erhält keine neuen Funktionen, plane daher den Wechsel zur offiziellen Region-Erweiterung von TypeWriter, dokumentiert unter docs.typewritermc.com. Diese Seite beschreibt Region nicht: Folge dessen eigener Dokumentation.

Protection enthält kein Werkzeug, um seine Regionen in Region umzuwandeln. Der allgemeine Ansatz:

  1. Liste deine Regionen mit /typewriter protection list auf und notiere für jede Form, Priorität, Elternregion, Besitzer und Mitglieder sowie Flags (/typewriter protection info <region>).
  2. Erstelle jede Region in der neuen Erweiterung neu und ordne jedes Flag der entsprechenden Einstellung dort zu. Einige Protection-Flags werden nicht durchgesetzt (siehe oben), du brauchst sie also möglicherweise nicht.
  3. Teste auf einer Kopie deines Servers mit Spielern, die weder Besitzer noch Mitglieder noch Bypass-Inhaber sind.
  4. Entferne die Protection-Entries und die JAR, sobald sich die neuen Regionen wie erwartet verhalten. Sichere zuvor deine TypeWriter-Seiten und -Assets.

Entries​

9 Einträge, aus dem Quellcode der Erweiterung generiert.

Ereignisse2
Fakten1
Zielgruppen1
Gruppen1
Artefakte2
Manifeste2

Fehlerbehebung​

Ein Flag bewirkt nichts. Prüfe das Flag unter Flags: Einige Keys werden nicht durchgesetzt. Prüfe außerdem, ob die Region gespeichert und veröffentlicht ist, ob der Spieler kein Besitzer, kein Mitglied und kein Inhaber von typewriter.protection.bypass ist und ob der Wert bei verbietenden Flags ein boolescher Wert false ist.

Die Region existiert, aber Spieler sind nicht darin. Die Form stammt aus dem Artifact. Eine Definition ohne Artifact oder ein Artifact, auf das du nie eine Auswahl angewendet hast, deckt nichts ab. Führe /typewriter protection edit <definition> aus und wende eine Auswahl an, und prüfe dann mit /typewriter protection info <region>. Alle Punkte müssen in derselben Welt liegen, und ein Quader benötigt 2 Punkte, ein Polygon 3.

Die Auswahl-Werkzeugleiste erscheint nicht. edit benötigt eine veröffentlichte Regionsdefinition, die mit einem Artifact verknüpft ist. Meldet die Nachricht, dass die Definition mit keinem Artifact verknüpft ist, verknüpfe eines. Bei einem globalen Artifact gibt es keine Werkzeugleiste: Setze worlds, minY und maxY am Artifact.

/typewriter protection import-we meldet keine Auswahl oder keinen Adapter. WorldEdit oder FastAsyncWorldEdit muss installiert sein, und du musst in der Welt, in der du stehst, eine Auswahl getroffen haben.

Eine setflag-Änderung verschwindet. Der Befehl ändert nur den Speicher. Trage das Flag in die Regionsdefinition ein und veröffentliche.

Eine WorldGuard-Migration hat keine Regionen erstellt. Die Migration erstellt keine Regionsdefinitionen, Flags, Besitzer oder Mitglieder: Sie behandelt nur die Quadergrenzen jeder Region und liest die WorldGuard-Regionen über die erste geladene Welt. Erstelle die Definitionen im Web-Panel.

Spieler werden von entry nicht teleportiert oder blockiert. Die Prüfung erfolgt, wenn sich ein Spieler zu einem anderen Block bewegt oder teleportiert. Ein Betreten durch ein Plugin, das den Spieler ohne Bewegungs- oder Teleport-Event bewegt, wird nicht bemerkt.

Verwandte Erweiterungen​

  • MythicMobs — mob-spawning gilt auch für Mythic-Mobs.