diff --git a/locales/bsb_de_DE.yml b/locales/bsb_de_DE.yml new file mode 100644 index 000000000..f845178f6 --- /dev/null +++ b/locales/bsb_de_DE.yml @@ -0,0 +1,581 @@ +########################################################################################### +# This is a YML file. Be careful when editing. Check your edits in a YAML checker like # +# the one at http://yaml-online-parser.appspot.com # +########################################################################################### + +### Credits ### +# Tastybento: maintainer +# Poslovitch: maintainer +# markusmarkusz: translator +# +# This translation is adapted to version : [4.0] + +not-setup: + header: |- + Es werden weitere Einstellungen benötigt, bevor das Plugin genutzt werden kann... + Bearbeite die config.yml. Starte danach den Server neu. + distance: "Stelle sicher, dass du die Insel-Abstände festgelegt hast. Solltest das Plugin aktualisiert worden sein, müssen die Insel-Abstände auf ihren alten Wert gesetzt werden." + generator: |- + Der Welt-Generator für die Insel-Welt ist nicht registriert. + Mögliche Gründe sind: + 1. Überprüfe, ob du die Welt in der bukkit.yml hinzugefügt hast, falls du die Insel-Welt als einzige Server Welt festgelegt hast. + 2. Der Server wurde reloaded und nicht restartet. Starte den Server neu und versuche es nochmal. + generator-multiverse: " 3. Dein Multiverse Plugin ist veraltet. Aktualisiere es auf die neuste Version." + world-name: |- + Der Name der Welt in der config.yml unterscheidet sich vom Namen der Welt in der islands.yml. + Sollte dies gewollt ist, nehmen wir an, dass du alles zurücksetzen willst. + Falls ja, lösche die islands.yml und die vorherige Welt. + Fallls nicht, korrigiere den Namen der Welt in der config.yml und restarte den Server. Das ist möglicherweise passiert, während ein Update durchgeführt wurde. + config-outdated: |- + Die config.yml sieht veraltet aus. + Stelle sicher, dass du die Konfiguration, nach dem Update, aktualisiert hast. + Sollte diser Fehler immer noch auftreten, hast du wahrscheinlich die alte, anstatt der neuen Konfiguration bearbeitet. + Bitte entferne die aktuelle config.yml, bearbeite die config.new.yml und nenne diese dann in config.yml um, falls dies der Fall ist. + +general: + success: "Erfolg!" + errors: + no-permission: "Du hast keine Berechtigung, um diesen Befehl zu nutzen." + use-in-game: "Dieser Befehl ist nur In-Game verfügbar." + +# TODO: These are legacy strings and should be converted to a better format but will do for now +acidBottle: "Säure Flasche" +acidBucket: "Säure Eimer" +acidLore: | + Trink + das + nicht! + Wirklich! + +adminDeleteIsland: + error: "Benutze &l/[label] deleteisland confirm &r&cum die Insel auf der du bist zu löschen." + noid: "Kann Insel nicht identifizieren." + use: "Benutze &l/[label] delete [name] &r&cum stattdessen den Spieler zu löschen." +adminHelp: + add: "Fügt einen Spieler zum Team des Leiters hinzu." + addrange: "Vergrößert bzw. verkleinert den Schutzbereich der Insel." + clearreset: "Resetlimit für Spieler zurücksetzen." + clearresetall: "Setzt das Insel-Reset-Limit von allen Spielern zurück" + cobblestats: "Zeigt Statistiken des Magic Cobble Generators" + completeChallenge: "Markiert eine Herausforderung als abgeschlossen" + delete: "Löscht eine Insel (entfernt Blöcke)." + help: "Admin Befehle:" + info: "Zeigt die Team-Infos eines Spielers." + infoisland: "Infos über die nächstgelegen Insel." + kick: "Entfernt einen Spieler von jeglichen Teams." + level: "Bietet einen detaillierten Berich über das Insel-Level eines Spielers." + listChallengeResets: "Listet Challenge-Reset Pläne, wenn vorhanden." + lock: "Verschließt/entschließt eine Insel." + purge: "Löscht inaktive Inseln älter als [TimeInDays]." + purgeallowdisallow: "Erlaubt/verbietet dass die Insel gelöscht wird wenn die Purge-Kriterien zutreffen." + purgeholes: "Lösche frei Inselstellen für neue Nutzung." + purgeunowned: "Entfernt unbewohnte Inseln." + name: "Setzt Name der Insel des Spielers." + register: "Setzt die Insel eines Spielers an deinen Standpunkt." + reload: "Lädt die Konfiguration neu." + resetAllChallenges: "Setzt alle Challenges des Spielers zurück." + resetChallenge: "Markiert eine Herausforderung als nicht abgeschlossen" + resetChallengeForAll: "Setzt Challenge für alle Spieler zurück mit optionaler Wiederholung" + resetname: "Setzt Name der Insel des Spielers zurück" + resetsign: "Macht das angesehene Schild zum Warp-Schild des Inselbesitzers." + setbiome: "Setzt das Biom des Inselbesitzers." + setdeaths: "Setzt Anzahl an Toden des Spielers" + setlanguage: "Setzt die Standard-Sprache und ändert von allen Spielern die Sprache auf diese" + setrange: "Ändert den Schutzbereich einer Insel" + setspawn: "Setzt den Insel-Welt Spawn." + settingsreset: "Setzt den Schutzbereich für alle Inseln auf die Standard-Einstellungen zurück." + teamChatSpy: "Team Chats ausspionieren (on/off)" + topTen: "Aktualisiert die Top-Liste manuell" + topbreeders: "Listet die Inseln mit den meisten Mobs welche derzeit geladen sind" + tp: "Teleportiere zu der Insel eines Spielers" + tpnether: "Teleportiere zu der Nether-Insel eines Spielers" + unregister: "Lösche einen Spieler ohne die Insel zu löschen" +adminInfo: + bannedPlayers: "Gebannte Spieler" + errorNullTeamLeader: "Teamleiter sollte null sein!" + errorTeamMembersExist: "Spieler hat Teammitglieder, obwohl er keine haben sollte!" + hoppers: "Insel hat [number] Trichter" + islandLocation: "Insel Position" + isLocked: "Insel ist abgeschlossen" + isProtected: "Insel ist Purge-geschützt" + isSpawn: "Insel ist Spawn" + isUnlocked: "Insel ist nicht abgeschlossen" + isUnprotected: "Insel ist nicht Purge-geschützt" + lastLogin: "Letzter Login" + maxSize: "Insel maximale Größe (Distanz) + player: "Spieler" + teamLeader: "Teamleiter" + teamMembers: "Teammitglieder" + title: "Dies ist die Spawn Insel" + unowned: "Diese Insel gehört derzeit niemandem." +adminLock: + adminLockedIsland: "Deine Insel wurde von einem Admin abgeschlossen." + adminUnlockedIsland: "Deine Insel wurde von einem aufgeschlossen" + errorInGame: "Befehl muss in-game auf einer Insel benutzt werden!" +adminRegister: + hadIsland: "[name] hatte eine Insel an [location]" + leadsTeam: "[name] leitet ein Team. Entferne dessen Mitglieder zuerst." + noIsland: "In diesem Bereich ist keine bekannte Insel!" + notSpawn: "Du kannst die Herrschaft über den Spawn nicht übernehmen!" + taking: "Entferne die Herrschaft von [name]" +adminResetChallengeForAll: + error: "Format für die Zeit zum Wiederholen ist: [Integer Zahl][m/h/d] (Minuten, Stunden, Tage), z. B. 5h" + repeating: "Wiederholen [duration]" + reset: "Zurücksetzen [date]" +adminResetSign: + errorExists: "Dieses Warp Schild ist bereits aktiv und gehört [name]" + found: "Warp Schild gefunden!" + noSign: "Du musst ein Schild ansehen um diesen Befehl zu benutzen." + rescued: "Warp Schild gerettet und [name] zugewiesen" +adminReserve: + islandExists: "Hier ist bereits eine Insel. Registriere den Spieler einfach!" +adminSetHome: + homeSet: "Home gesetzt auf [location]" + noneFound: "Keine sichere Position gefunden!" + notOnPlayersIsland: "Du bist nicht auf der Insel des Spielers" + notSafe: "Diese Position ist nicht sicher" +adminSetRange: + invalid: "Ungültige Entfernung!" + set: "Setze neue Spannweite auf [number]" + tip: "Benutze 10 bis [max]" + updated: "Insel Range aktualisiert auf [number]" + warning: "Warnung - Entfernung ist größer als Insel Weite [max]" + warning2: "Überlappende Inseln werden wie der Spawn agieren!" +adminSetSpawn: + center: "Insel Zentrum [location]" + coords: "Schutzbereich Koordinaten von [min] bis [max]" + limits: "Insel Limit [min] bis [max]" + locked: "Spawn ist gesichert!" + move: "Bewege dich weiter weg oder entferne den Besitzer." + ownedBy: "Dieser Inselplatz gehört [name]" + range: "Schutzbereich = [number]" + set: "Setze Insel Spawn an deine Position." + setting: "Setze Insel Spawn zu [location]" +adminTeam: + addLeaderNoIsland: "Teamleiter hat keine eigene Insel und kann deswegen kein Team haben!" + addLeaderToOwn: "Kann Leiter nicht seinem eigenen Team hinzufügen." + addedLeader: "Leiter zu diesem Team hinzugefügt!" + addingPlayer: "Spieler zum Team hinzugefügt." + alreadyOnTeam: "Spieler war bereits in diesem Team!" + kickLeader: "Dieser Spieler ist ein Teamleiter. Entferne die Mitglieder zuerst. Benutze '/[label] info [name]' um diese zu finden." + nowUnowned: "[name] hatte eine Insel an [location] diese ist nun unbewohnt. Du möchtest sie eventuell manuell entfernen." + settingHome: "Setze Spielers Home an die Position des Inselleiters." +adminTopBreeders: + checking: "Prüfe [number] Inseln..." + finding: "Finde Inseln mit den meisten Kreaturen..." + nothing: "Keine Kreaturen gefunden." +adminTopTen: + finished: "Generieren der Top Ten Liste abgeschlossen" + generating: "Generiere die Top Ten Liste" +adminTp: + manualWarp: "Kein sicherer Platz gefunden. Bewege dich manuell in die nähe von [location]." +adminUnregister: + keepBlocks: "Entferne Spieler aus der Welt, aber behalte Insel bei [location]" + onTeam: "Spieler ist in einem Team - löse es zuerst auf." +ban: + alreadybanned: "[name] ist bereits von deiner Insel gebannt!" + banned: "Du wurdest von [name]s Insel gebannt!" + fail: "[name] kann nicht gebannt werden!" + helpBan: "banne einen Spieler von deiner Insel." + helpUnban: "entbanne einen Spieler von deiner Insel." + lifted: "Bann aufgehoben von [name]s Insel!" + liftedsuccess: "Bann aufgehoben für [name]!" + notbanned: "[name] ist nicht von deiner Insel gebannt!" + notteammember: "Ein Inselmitglied kannst du nicht bannen!" + notyourself: "Das ist keine Lösung!" + success: "[name] wurde von der Insel gebannt!" + notyourself: "Das kannst du dir nicht antun!" + success: "[name] ist von der Insel gebannt!" +biome: + help: "Öffnet das Biom Menü." + paneltitle: "Wähle ein Biom" + set: "Insel Biom geändert in [biome]!" + unknown: "Unbekanntes Biom!" + youbought: "Gekauft für [cost]!" +boats: + warning: "Es ist gefährlich, das Boot jetzt zu verlassen..." +challenges: + colors: "Challenges haben unterschiedliche Farben, je nachdem ob sie:" + complete: abgeschlossen + completeNotRepeatable: "Abgeschlossen (nicht wiederholbar)" + completeRepeatable: "Abgeschlossen (wiederholbar) sind" + completedtimes: "[donetimes]x von [maxtimes]x abgeschlossen" + errorIslandLevel: "Deine Insel muss auf Level [level] sein, um diese Herausforderung abzuschliessen!" + errorItemsNotThere: "Alle benötigten Items müssen bei deiner Insel sein!" + errorNotCloseEnough: "Du musst innerhalb von [number] Blöcken von den benötigten Items stehen." + errorNotEnoughItems: "Du hast nicht genug von den benötigten Items" + errorNotOnIsland: "Du musst auf deiner Insel sein!" + errorRewardProblem: "Ein Fehler ist aufgetreten. Bitte informiere einen Teamler!" + erroryouaremissing: "Du bist verloren!!!" + expReward: "Exp Belohnung" + firstTimeRewards: "Belohnung (Erstes mal)" + guititle: "BSkyBlock Herausforderungen" + help1: "Benutze /c um Infos über eine Herausforderung zu sehen." + help2: "Benutze /c complete um eine Herausforderung abzuschliessen." + incomplete: "Nicht abgeschlossen" + invalidChallengeName: "Ungültige Herausforderung! Benutze /c help für mehr Infos!" + itemTakeWarning: "Alle benötigten Items werden aus deinem Inventar genommen!" + level: "Level" + maxreached: "[donetimes]x von [maxtimes]x abgeschlossen" + moneyReward: "Geld" + name: "Herausforderung Name" + nameHasCompleted: "[name] hat die Herausforderung [challenge] erfolgreich abgeschlossen!" + navigation: "Click to see [level] challenges!" + notRepeatable: "Diese Challenge ist nicht wiederholbar!" + repeatRewards: "Belohnung" + rewards: "Belohnung(en)" + toComplete: "Bestehe [challengesToDo] weitere Herausforderungen als [thisLevel] um dieses Level frei zu schalten!" + toCompleteUse: "Um diese Herausforderung abzuschliessen, benutze" + unknownChallenge: "Unbekannte Herausforderung (Schreibweise beachten)!" + youHaveCompleted: "Du hast die Herausforderung [challenge] erfolgreich abgeschlossen!" + youHaveNotUnlocked: "Du hast diese Herausforderung noch nicht freigeschaltet!" + youRepeated: "Du hast die Herausforderung [challenge] erneut abgeschlossen!" +changingObsidiantoLava: "Verändere Obsidian zurück in Lava. Vorsicht!" +checkteam: + checkingTeam: "Prüfe Team von [name]" +completechallenge: + challangeCompleted: "Herausforderung: [challengename] wurde von [name] abgeschlossen!" + errorChallengeDoesNotExist: "Herausforderung existiert nicht oder wurde schon abgeschlossen!" +confirm: + errorTimeLimitExpired: "Zeit abgelaufen. Benutze den Befehl erneut." +coop: + cannotcoop: "Nur der Insel-Leiter kann mit Spielern kooperieren." + help: "Temporärer Zugriff für einen Spieler auf deiner Insel." + invited: "[name] ernannte [player] zum temporären Partner! Nutze /expel um ihn zu entfernen!" + listcoops: "Liste kooperierende Spieler" + madeyoucoopy: "[name] hat dich zum temporären Partner gemacht, bis du dich ausloggt oder er dich mit /expel entfernt!" + notincoop: "[name] ist nicht dein Partner!" + onyourteam: "Spieler ist bereits temporärer Partner!" + removed: "[name] entfernte deine Partnerschaft!" + removesuccess: "[name] ist kein Partner mehr!" + success: "[name] ist nun dein temporärer Partner bis er ausloggt oder du ihn mit /expel entfernst!" + uncoop: "entferne vollen Insel Zugriff von einem Spieler" + useexpel: "Nutze /expel um jemand entfernen!" +deaths: + deaths: "Tode" + died: "starb!" + leveldeaths: "&c[[number] Tode]" +delete: + removing: "Entferne [name]s Insel." +drankAcid: "trank Säure." +drankAcidAndDied: "trank Säure und starb." +error: + blockedbyapi: "Ein Plugin, welches die API benutzt, blockierte diese Aktion." + commandNotReady: "Du kannst diesen Befehl jetzt nicht benutzen." + maxIslands: "Die Welt ist voll mit Inseln! Versuche es später erneut!" + noIsland: "Du hast keine Insel!" + noIslandOther: "Dieser Spieler hat keine Insel!" + noPermission: "Du bist nicht berechtigt diesen Befehl zu benutzen." + notABlock: "Das ist kein Block." + noTeam: "Spieler gehört keinem Team an." + notOnIsland: "Du bist nicht in einem Inselraum!" + offlinePlayer: "Dieser Spieler ist offline oder existiert nicht." + tooLong: "Zu weit. Maximale Größe ist [length]." + tooShort: "Zu kurz. Minimale Größe ist [length]." + unknownCommand: "Unbekannter Befehl." + unknownPlayer: "Spieler unbekannt." + useInGame: "Dieser Befehl muss in-game benutzt werden." + wrongWorld: "Das ist die falsche Welt dafür." + minishopDisabled: "Minishop ist deaktiviert." +expel: + expelled: "Du wurdest von der Insel entfernt!" + fail: "[name] kann nicht entfernt werden!" + notonisland: "Spieler ist nicht auf deiner Insel anwesend!" + notyourself: "Du kannst dich nicht selber von deiner Insel vertreiben!" + success: "Du hast [name] entfernt!" +invite: + errorCantJoinIsland: "Du konntest der Insel nicht beitreten. Vielleicht ist sie voll." + errorCoolDown: "Du kannst diesen Spieler in [time] Minuten erneut einladen." + errorThatPlayerIsAlreadyInATeam: "Dieser Spieler ist schon in einem Team." + errorYouCannotInviteYourself: "Du kannst nicht dich selbst einladen!" + errorYouMustHaveIslandToInvite: "Du musst eine Insel haben, um andere einladen zu können!" + errorYourIslandIsFull: "Deine Insel ist voll. Du kannst niemanden mehr einladen." + hasJoinedYourIsland: "[name] ist deiner Insel beigetreten!" + help: "Benutze [/[label] invite ] um einen Spieler zu deiner Insel einzuladen." + inviteSentTo: "Einladung verschickt an [name]" + nameHasInvitedYou: "[name] hat dich eingeladen, seiner Insel beizutreten!" + onlyIslandOwnerCanInvite: "Nur der Leiter kann einladen!" + removingInvite: "Entferne deine vorherige Einladung" + toAcceptOrReject: "um die Einladung anzunehmen oder abzulehnen." + warningYouWillLoseIsland: "WARNUNG: Du wirst deine jetzige Insel verlieren, wenn du akzeptierst!" + youCanInvite: "Du kannst noch [number] weitere Spieler einladen." + youCannotInvite: "Du kannst keine weiteren Spieler einladen." + youHaveJoinedAnIsland: "Du bist einer Insel beigetreten! Benutze /[label] team um die Mitglieder zu sehen." +island: + blockValue: "[name] ist an dieser Position [value] wert." + blockWorthless: "[name] ist wertlos." + cannotTeleport: "Im Fall kannst du dich nicht teleportieren!" + donate: "BSkyBlock von tastybento." + donatecolor: "aqua" + error: + CouldNotCreateIsland: "Insel konnte nicht erstellt werden, bitte melde das einem Moderator." + InvalidPlayer: "Dieser Spieler ist ungültig oder hat keine Insel!" + LevelNotReady: "Du kannst diesen Befehl gerade nicht nutzen! Versuch es in einigen Sekunden." + YouDoNotHavePermission: "Du besitzt keine Rechte dazu!" + YouAlreadyHaveAnIsland: "Du besitzt bereits eine Insel!" + help: + AcceptReject: "Einladung annehmen oder ablehnen." + Challenges: "/challenges: &fZeigt die Herausforderungen" + Color: "&e" + ControlPanel: "Öffnet das Insel GUI." + Expel: "Beendet die Partnerschaft mit einem Spieler." + Invite: "Lade Spieler auf deine Insel ein." + Island: "Teleportiert dich zu deiner Insel, oder erstellt eine für dich." + IslandSpawn: "Teleportiert dich zum Spawn." + Kick: "Entferne einen Spieler von deiner Insel." + Leave: "Verlasse die Insel eines anderen Spielers." + Level: "Berechne dein Insel-Level" + LevelPlayer: "Siehe das Level einer anderen Insel." + Lock: "Sperre deine Insel für Besucher" + MakeLeader: "Übergebe die Insel an ." + Name: "Setze einen Namen für deine Insel." + ResetName: "Setze Name deiner Insel zurück." + Restart: "Starte Insel neu und lösche die alte." + SelectLanguage: "Wähle Sprache" + SetHome: "Setze deinen Teleport-Punkt für /[label]." + Settings: "Siehe Insel-Einstellungen" + Team: "Zeigt deine Team-Informationen." + Teleport: "Teleportiert dich auf deine Insel." + Top: "Siehe die besten Inseln." + Value: "Zeige Insel Level Wert von dem Block in deiner Hand" + Warp: "Warpe zu 's Insel." + Warps: "Liste aller verfügbaren Insel-Warps." + islandDeletedLifeboats: "Insel gelöscht! Zu den Rettungskapseln!!!" + islandLevelis: "Insel-Level: " + new: "Es wird eine neue Insel für dich erstellt..." + protected: "Island geschützt." + requiredPointsToNextLevel: "Du brauchst noch [points] Punkte, um das Insel-Level [next] zu erreichen!" + reset: + Confirm: "&4Deine Insel und alles was du besitzt wird gelöscht. Wenn du das wirklich möchtest dann gib &c/[label] confirm&4 innerhalb von [seconds] Sekunden ein!" + MustRemovePlayers: "Du musst alle Mitglieder von der Insel entfernen, um sie neu zu starten (/[label] kick ). Eine Liste aller Mitglieder zeigt dir /[label] team." + NoMore: "Du hast alle Resets aufgebraucht!" + OnlyOwner: "Nur der Teamleiter darf diese Insel neu starten. Verlasse diese Insel, um eine eigene zu starten (/[label] leave)." + PleaseWait: "Bitte warten, neue Insel wird erstellt..." + Left: "Resets übrig" + To: "Resetlimit zurückgesetzt!" + Wait: "Du musst noch [time] Sekunden warten bevor du das wieder nutzen kannst." + YouHave: "Es sind noch [number] weitere Resets möglich." + subtitle: "von tastybento" + subtitlecolor: "blue" + teleport: "Du wurdest auf deine Insel teleportiert. (/[label] help für mehr Infos)" + title: "BSkyBlock" + titlecolor: "gold" + unlimited: "Unbegrenzt" + url: "" +islandguardsettings: + TNTdamage: "TNT Schaden" + allowed: "Erlaubt" + aciddamage: "Säure Schaden" + animalspawning: "Erlaube/Verbiete Spawnen von Tieren" + anvil: "Amboss Verwendung" + armorstand: "Rüstungsständer Interaktion" + beacon: "Leuchtfeuer Interaktion" + bed: "Schlafen" + breakblocks: "Blöcke zerstören" + breeding: "Paaren" + brewingstand: "Tränke brauen" + bucket: "Eimer benutzen" + collectlava: "Lava sammeln" + collectwater: "Water sammeln" + chest: "Kisten benutzen" + chestdamage: "Kistenschaden durch TNT" + chorusfruit: "Chorus benutzen" + creeperdamage: "Creeper Schaden" + creepergriefing: "Creeper griefing" + creeperpain: "Creeper Explosionsschaden" + croptrample: "Felder zertrampeln" + disallowed: "Verboten" + door: "Türen benutzen" + eggs: "Eier werfen" + enchantingtable: "Verzaubern" + enderpearl: "Enderperlen benutzen" + fire: "Feuer" + fireextinguish: "Feuer löschen" + firespread: "Feuer verbreiten" + furnace: "Öfen benutzen" + gate: "Zauntore benutzen" + horseinventoryaccess: "Besucher Pferde-Inventar Zugriff" + horseriding: "Besucher Pferde reiten" + hurtanimals: "Tiere verletzen" + hurtmonsters: "Monster verletzen" + joinleaveislandmessages: "Entritte/Ausfahrten Beiträge anzeigen" + jukebox: "Plattenspieler benutzen" + leash: "Leinen benutzen" + lever: "Knöpfe/Hebel benutzen" + milking: "Melken" + monsterspawning: "Spawnen von Monstern umschalten" + netherpvp: "PvP im Nether" + placeblocks: "Blöcke platzieren" + portaluse: "Portale benutzen" + pressureplate: "Besucher aktivieren Druckplatten" + pvp: "PvP" + redstone: "Redstone benutzen" + settingsgeneraltitle: "Generelle Insel-Welt Einstellungen" + settingsgeneraldesc: "Generelle Insel-Welt Einstellungen" + settingsislandtitle: "Insel Einstellungen" + settingsislanddesc: "Diese Regeln greifen für Besucher auf dieser Insel" + settingsspawntitle: "Spawn Einstellungen" + settingsspawndesc: "Diese Regeln greifen am Spawn" + shears: "Scheren benutzen" + spawnegg: "Spawneier benutzen" + teleportwhenfalling: "Beim Fall teleportieren" + title: "Insel Einstellungen" + villagertrading: "Villager trading" + visitordrop: "Besucher Item-drop" + visitorkeepitems: "Items beim Tod auf fremden Inseln behalten" + visitorpickup: "Besucher Item-Aufnahme" + withergriefing: "Wither griefing" + workbench: "Werkbank Benutzung" +kick: + errorNoTeam: "Du hast kein Team!" + errorNotPartOfTeam: "Dieser Spieler ist nicht in deinem Insel-Team!" + errorOnlyLeaderCan: "Nur der Leiter kann Leute von der Insel werfen!" + errorPlayerNotInTeam: "Dieser Spieler ist nicht in deinem Team!" + nameRemoved: "[name] wurde von der Insel entfernt." + nameRemovedYou: "[name] hat dich von der Insel entfernt!" +lavaTip: "Tipp: Falls du kein Obsidian wolltest, führe einen Rechtsklick mit einem Eimer auf das Obsidian aus. Du hast danach Lava im Eimer!" +leave: + canceled: "Leave canceled" + errorLeadersCannotLeave: "Teamleiter können eine Insel nicht verlassen. Ernenne erst jemand anderen zum Teamleiter mit /[label] makeleader " + errorYouAreTheLeader: "Du bist der Teamleiter, benutze stattdessen /[label] remove ." + errorYouCannotLeaveIsland: "Du kannst deine Insel nicht verlassen, wenn du die einzige Person bist. Versuche sie neu zu starten, wenn du eine neue willst!" + errorYouMustBeInWorld: "Du musst in der Insel-Welt sein, um dein Team zu verlassen!" + nameHasLeftYourIsland: "[name] hat deine Insel verlassen!" + warning: "Bist du dir sicher, dass du das Team verlassen willst? Nutze '/[label] leave' erneut, um die Entscheidung zu bestätigen." + youHaveLeftTheIsland: "Du hast die Insel verlassen und bist zum Spawn zurückgekehrt." +level: + calculating: "Dein Insel Level wird berechnet. Das kann einen Moment dauern..." + errornotYourIsland: "Nur der Teamleiter kann das." + islandLevel: "Insel-Level" +lock: + enteringspawn: "Du betrittst den Spawn" + islandlocked: "Insel is für Besucher gesperrt" + leavingspawn: "Du verlässt den Spawn" + locking: "Insel für Besucher gesperrt" + nowentering: "Du betrittst nun die Insel von: [name]" + nowleaving: "Du verlässt nun die Insel von: [name]" + unlocking: "Insel für Besucher wieder geöffnet" +makeleader: + errorGeneralError: "Konnte Leiter nicht ändern." + errorNotYourIsland: "Das ist nicht deine Insel. Du kannst sie niemandem geben!" + errorPlayerMustBeOnline: "Der Spieler muss online sein, um die Insel zu übernehmen." + errorRemoveAllPlayersFirst: "Entferne alle Mitglieder ausser die Person, der du die Insel übergeben willst." + errorThatPlayerIsNotInTeam: "Dieser Spieler ist nicht in deinem Insel-Team!" + errorYouMustBeInTeam: "Du musst in einem Team sein, um deine Insel abzugeben." + nameIsNowTheOwner: "[name] ist jetzt der Besitzer deiner Insel!" + youAreNowTheOwner: "Du bist jetzt der Besitzer deiner Insel." +minishop: + buy: "Kaufen (Linksklick)" + buyproblem: "Es gab ein Problem beim Kauf von [description]!" + islandhelpMiniShop: "Öffnet den MiniShop" + outofstock: "Nicht genügend Items!" + sell: "Verkaufen (Rechtsklick)" + sellproblem: "Du hast nicht genügend von [description] um es zu verkaufen!" + title: MiniShop + youbought: "&aDu hast &c[number] &b[description] &afür &c[price] §aEuro gekauft!" + youcannnotafford: "Du hast nicht genügend Geld für [description]!" + yousold: "Du hast [number] [description] für [price] Euro verkauft!" +moblimits: + entity: "Island [entity] limit of [number] reached!" + error: "Insel Paarungslimit von [number] erreicht!" + hopper: "Insel Trichter limit von [number] erreicht!" + villager: "Insel Dorfbewohner Paarungslimit von [number] erreicht!" +nether: + spawnisprotected: "Der Netherspawn-Bereich ist geschützt." +news: + headline: "[BSkyblock News] Während du offline warst..." +purge: + acidFound: "Es gibt [number] unbewohnte Inseln. Tippe '/acid purge unowned confirm' zum entfernen in den nächsten 20 Sekunden." + allowPurge: "Purge-Schutz entfernt" + alreadyRunning: "Löschung läuft bereits! Bitte warten!" + calculating: "Berechne welche Inseln inaktiv waren für mehr als [time] Tage." + countingUnowned: "Zähle unbewohnte Inseln und prüfe Spielerdateien. Das kann ein wenig dauern..." + finished: "Löschen von inaktiven Inseln abgeschlossen." + maxPurge: "Max purge is [number] islands. Run purge again afterwards to purge more." + noneFound: "Keine inaktiven Inseln zu löschen." + nowWaiting: "Warte nun..." + preventPurge: "Insel ist vor dem Löschen geschützt" + purgeCancelled: "Löschen abgebrochen." + removingAt: "Entferne Inseln bei Position [location]" + removingName: "Löschung: Entferne [name]'s Insel" + skyblockFound: "Es gibt [number] unbewohnte Inseln. Tippe '/asadmin purge unowned confirm' zum entfernen in den nächsten 20 Sekunden." + stillChecking: "Prüfe weiterhin Spielerdateien..." + thisWillRemove: "Dies wird [number] inaktive Inseln löschen!" + typeConfirm: "Schreibe /[label] confirm während 10 Sekunden um fortzufahren" + usage: "Benutze: /[label] purge [TimeInDays]" + warning: "GEFAHR! Nicht benutzen, wenn Spieler auf dem Server sind! MACHE BACKUPS DER WELT!" +register: + errorBedrockNotFound: "Insel kann nicht registriert werden!" + settingIsland: "Setze [name]s Insel zu dem nächsten Grundstein." +reject: + nameHasRejectedInvite: "[name] hat deine Insel-Einladung abgelehnt!" + youHaveNotBeenInvited: "Du wurdest nicht in ein Team eingeladen." + youHaveRejectedInvitation: "Du hast die Insel-Einladung abgelehnt." +reload: + configReloaded: "Konfiguration neu geladen." +resetallchallenges: + success: "[name]s Challenges wurden alle zurückgesetzt." +resetchallenge: + challengeReset: "Herausforderung: [challengename] wurde zurückgesetzt für [name]" + errorChallengeDoesNotExist: "Herausforderung existiert nicht oder wurde noch nicht abgeschlossen!" +schematics: + title: "Wähle deine Insel..." +sethome: + errorNoIsland: "Du gehörst zu keiner Insel. Kehre zurück zum Spawn!" + errorNotOnIsland: "Du musst dich auf deiner Insel befinden!" + errorNumHomes: "Die Anzahl deiner homes kann 1 bis [max] betragen." + homeSet: "Dein Insel-Home wurde auf deine aktuelle Position gesetzt." +settingsReset: + done: "Done." + inprogress: "Schutzbereich Einstellungen werden zurückgesetzt. Bitte warte..." +sign: + line1: "&1[BSkyblock]" + line2: "[player]" + line3: "Fall nicht!" + line4: "Pass auf!" +sign-acidisland: + line1: "&1[Acid Insel]" + line2: "[player]" + line3: "Wasser ist Säure!!" + line4: "Pass auf!" +targetInPVPArea: "Ziel befindet sich in einer PvP freien Zone!" +team: + listingMembers: "Liste deiner Insel-Mitglieder" +teamchat: + helpChat: "aktiviere/deaktiviere den Team chat" + noTeam: "Du bist in keinem Team!" + noTeamAround: "Keines deiner Teammitglieder ist online!" + prefix: "[Team Chat]<{ISLAND_PLAYER}> " + spyoff: "Team Chat Spionage aktiviert" + spyon: "Team Chat Spionage deaktviert" + statusOff: "Team Chat deaktiviert" + statusOn: "Team Chat aktiviert" +topTen: + errorExcluded: "Info: Du bist von den Top 10 ausgeschlossen, da dir die Permission [perm] fehlt." + errorNotReady: "Die Top 10 Liste wurde noch nicht generiert!" + guiHeading: "&E&L Island: &6&N[name]&7 (#[rank])" + guiTitle: "Top 10 Inseln" + header: "Das sind die Top 10 Inseln:" +warps: + deactivate: "Das alte Insel-Warp-Schild wurde deaktiviert!" + error: + DoesNotExist: "Dieser Insel-Warp existiert nicht!" + Duplicate: "Sorry! Es gibt schon ein Warp-Schild in diesem Bereich!" + NoPerm: "Du darfst noch kein Insel-Warp-Schild erstellen!" + NoPlace: "Du musst auf deiner Insel sein um ein Insel-Warp-Schild zu erstellen!" + NoRemove: "Du kannst nur dein eigenes Insel-Warp-Schild entfernen!" + NoWarpsYet: "Es gibt noch keine Insel-Warps!" + NotReadyYet: "Dieser Insel-Warp ist noch nicht bereit. Versuch es später erneut." + NotSafe: "Der Insel-Warp ist nicht sicher. Versuch es später erneut." + NotEnoughLevel: "Dein Insel-Level ist zu niedrig, um ein Warp-Schild zu erstellen!" + next: "Nächste" + playerWarped: "[name] &2hat sich zu deinem Warp teleportiert!" + previous: "Vorherige" + removed: "Insel-Warp-Schild entfernt!" + signRemoved: "Dein Insel-Warp-Schild wurde entfernt!" + success: "Insel-Warp-Schild erfolgreich erstellt!" + title: "Insel Warps" + warpTip: "&aErstelle ein Warp-Schild mit &c[WELCOME] &ain der obersten Zeile." + warpToPlayersSign: "Teleportiere zu 's Insel-Warp." + warpsAvailable: "Folgende Insel-Warps sind verfügbar" + welcomeLine: "[WELCOME]" diff --git a/src/main/java/us/tastybento/bskyblock/config/Settings.java b/src/main/java/us/tastybento/bskyblock/config/Settings.java index 04e0b89f0..4108a90ee 100755 --- a/src/main/java/us/tastybento/bskyblock/config/Settings.java +++ b/src/main/java/us/tastybento/bskyblock/config/Settings.java @@ -1,18 +1,17 @@ package us.tastybento.bskyblock.config; -import java.util.HashMap; -import java.util.List; - import org.bukkit.block.Biome; import org.bukkit.entity.EntityType; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffectType; - import us.tastybento.bskyblock.database.BSBDatabase.DatabaseType; import us.tastybento.bskyblock.database.managers.OfflineHistoryMessages.HistoryMessageType; import us.tastybento.bskyblock.database.objects.Island.SettingsFlag; +import java.util.HashMap; +import java.util.List; + /** * All the plugin settings are here * @author Tastybento @@ -224,6 +223,5 @@ public class Settings { public static HashMap limitedBlocks; public static boolean allowTNTPushing; public static boolean showInActionBar; - public static boolean allowVisitorKeepInvOnDeath; } diff --git a/src/main/java/us/tastybento/bskyblock/database/objects/Island.java b/src/main/java/us/tastybento/bskyblock/database/objects/Island.java index d9a2c4c98..1821fcf58 100755 --- a/src/main/java/us/tastybento/bskyblock/database/objects/Island.java +++ b/src/main/java/us/tastybento/bskyblock/database/objects/Island.java @@ -1,23 +1,18 @@ package us.tastybento.bskyblock.database.objects; +import org.bukkit.*; +import org.bukkit.block.BlockState; +import org.bukkit.entity.Entity; +import us.tastybento.bskyblock.api.events.island.IslandLockEvent; +import us.tastybento.bskyblock.api.events.island.IslandUnlockEvent; +import us.tastybento.bskyblock.config.Settings; +import us.tastybento.bskyblock.util.Util; + import java.util.HashMap; import java.util.HashSet; import java.util.Set; import java.util.UUID; -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.block.BlockState; -import org.bukkit.entity.Entity; - -import us.tastybento.bskyblock.api.events.island.IslandLockEvent; -import us.tastybento.bskyblock.api.events.island.IslandUnlockEvent; -import us.tastybento.bskyblock.config.Settings; -import us.tastybento.bskyblock.util.Util; - /** * Stores all the info about an island * Managed by IslandsManager @@ -169,6 +164,9 @@ public class Island extends DataObject { // Can pickup items ITEM_PICKUP, + // Keep inventory on death + KEEP_INVENTORY, + // Can leash or unleash animals LEASH, diff --git a/src/main/java/us/tastybento/bskyblock/listeners/protection/InventorySave.java b/src/main/java/us/tastybento/bskyblock/listeners/protection/InventorySave.java index 84664b11a..7ab7f9c64 100644 --- a/src/main/java/us/tastybento/bskyblock/listeners/protection/InventorySave.java +++ b/src/main/java/us/tastybento/bskyblock/listeners/protection/InventorySave.java @@ -1,12 +1,11 @@ package us.tastybento.bskyblock.listeners.protection; +import org.bukkit.entity.Player; +import us.tastybento.bskyblock.BSkyBlock; + import java.util.HashMap; import java.util.UUID; -import org.bukkit.entity.Player; - -import us.tastybento.bskyblock.BSkyBlock; - /** * Stashes inventories when required for a player * @@ -63,4 +62,13 @@ public class InventorySave { return instance; } + /** + * Returns whether the player's inventory has been stored to give him back. + * + * @param uuid UUID of the player + * @return true if the inventory is stored, false otherwise + */ + public static boolean isStored(UUID uuid) { + return instance.inventories.containsKey(uuid); + } } diff --git a/src/main/java/us/tastybento/bskyblock/listeners/protection/VisitorGuard.java b/src/main/java/us/tastybento/bskyblock/listeners/protection/VisitorGuard.java index 284f8f95b..83e61f850 100644 --- a/src/main/java/us/tastybento/bskyblock/listeners/protection/VisitorGuard.java +++ b/src/main/java/us/tastybento/bskyblock/listeners/protection/VisitorGuard.java @@ -39,7 +39,7 @@ public class VisitorGuard implements Listener { * Also handles muting of death messages */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) - public void onVistorDeath(final PlayerDeathEvent e) { + public void onVisitorDeath(final PlayerDeathEvent e) { if (DEBUG) { plugin.getLogger().info(e.getEventName()); } @@ -50,29 +50,25 @@ public class VisitorGuard implements Listener { if (Settings.muteDeathMessages) { e.setDeathMessage(null); } - // If visitors will keep items and their level on death - // This will override any global settings - if (Settings.allowVisitorKeepInvOnDeath) { - // If the player is not a visitor then they die and lose everything - - // sorry :-( - Island island = plugin.getIslands().getProtectedIslandAt(e.getEntity().getLocation()); - if (island != null && !island.getMembers().contains(e.getEntity().getUniqueId())) { - // They are a visitor - InventorySave.getInstance().savePlayerInventory(e.getEntity()); - e.getDrops().clear(); - e.setKeepLevel(true); - e.setDroppedExp(0); - } + // If visitors will keep items and their level on death. This overrides any global settings. + // If the player is not a visitor then they die and lose everything - sorry :-( + Island island = plugin.getIslands().getProtectedIslandAt(e.getEntity().getLocation()); + if (island != null && !island.getMembers().contains(e.getEntity().getUniqueId()) && island.getFlag(SettingsFlag.KEEP_INVENTORY)) { + // They are a visitor + InventorySave.getInstance().savePlayerInventory(e.getEntity()); + e.getDrops().clear(); + e.setKeepLevel(true); + e.setDroppedExp(0); } } @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) - public void onVistorSpawn(final PlayerRespawnEvent e) { + public void onVisitorSpawn(final PlayerRespawnEvent e) { if (DEBUG) { plugin.getLogger().info(e.getEventName()); } - // This will override any global settings - if (Settings.allowVisitorKeepInvOnDeath) { + // If the player died on an island and his inventory has been saved, give it him back. This will override any global settings. + if (InventorySave.isStored(e.getPlayer().getUniqueId())) { InventorySave.getInstance().loadPlayerInventory(e.getPlayer()); InventorySave.getInstance().clearSavedInventory(e.getPlayer()); } @@ -147,7 +143,7 @@ public class VisitorGuard implements Listener { * @param e */ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onVisitorGetDamage(EntityDamageEvent e){ + public void onVisitorReceiveDamage(EntityDamageEvent e){ if(!Settings.invincibleVisitor) return; if(!(e.getEntity() instanceof Player)) return;