diff --git a/Essentials/src/com/earth2me/essentials/Enchantments.java b/Essentials/src/com/earth2me/essentials/Enchantments.java index 060dfd2c1..c1fa33553 100644 --- a/Essentials/src/com/earth2me/essentials/Enchantments.java +++ b/Essentials/src/com/earth2me/essentials/Enchantments.java @@ -77,6 +77,8 @@ public class Enchantments ENCHANTMENTS.put("flameprotection", Enchantment.PROTECTION_FIRE); ENCHANTMENTS.put("fireprotect", Enchantment.PROTECTION_FIRE); ENCHANTMENTS.put("flameprotect", Enchantment.PROTECTION_FIRE); + ENCHANTMENTS.put("fireprot", Enchantment.PROTECTION_FIRE); + ENCHANTMENTS.put("flameprot", Enchantment.PROTECTION_FIRE); ENCHANTMENTS.put("projectileprotection", Enchantment.PROTECTION_PROJECTILE); ENCHANTMENTS.put("projprot", Enchantment.PROTECTION_PROJECTILE); diff --git a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java index ff8ba92e9..1a0820105 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java @@ -118,6 +118,7 @@ public class EssentialsEntityListener implements Listener event.setDeathMessage(""); } } + @EventHandler(priority = EventPriority.LOW) public void onPlayerDeathExpEvent(final PlayerDeathEvent event) { @@ -128,6 +129,7 @@ public class EssentialsEntityListener implements Listener event.setDroppedExp(0); } } + @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onFoodLevelChange(final FoodLevelChangeEvent event) { diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index 369eb3808..8dbde99dc 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -309,7 +309,7 @@ public class EssentialsPlayerListener implements Listener }); } } - private final static List COMMANDS = Arrays.asList("msg", "r", "mail", "m", "t", "whisper", "emsg", "tell", "er", "reply", "ereply", "email"); + private final static List COMMANDS = Arrays.asList("msg", "r", "mail", "m", "t", "whisper", "emsg", "tell", "er", "reply", "ereply", "email", "action", "describe", "eme", "eaction", "edescribe", "etell", "ewhisper", "pm"); @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java index 112477ecb..4f8f10887 100644 --- a/Essentials/src/com/earth2me/essentials/Util.java +++ b/Essentials/src/com/earth2me/essentials/Util.java @@ -215,10 +215,11 @@ public class Util { c.add(Calendar.SECOND, seconds * (future ? 1 : -1)); } - + Calendar max = new GregorianCalendar(); max.add(Calendar.YEAR, 10); - if (c.after(max)) { + if (c.after(max)) + { return max.getTimeInMillis(); } return c.getTimeInMillis(); @@ -295,12 +296,14 @@ public class Util int x = loc.getBlockX(); int y = (int)Math.round(loc.getY()); int z = loc.getBlockZ(); + final int origY = y; while (isBlockAboveAir(world, x, y, z)) { y -= 1; if (y < 0) { + y = origY; break; } } @@ -310,10 +313,36 @@ public class Util y += 1; if (y >= world.getHighestBlockYAt(x, z)) { - x += 1; + x -= 3; + z -= 3; + y = origY + 4; break; } } + + while (isBlockUnsafe(world, x, y, z)) + { + y -= 1; + if (y + 4 < origY) + { + x += 1; + if (x - 3 > loc.getBlockX()) + { + x = loc.getBlockX() - 3; + z += 1; + if (z - 3 > loc.getBlockZ()) + { + x = loc.getBlockX() + 4; + z = loc.getBlockZ(); + y = world.getHighestBlockYAt(x, z); + break; + } + } + + y = origY + 4; + } + } + while (isBlockUnsafe(world, x, y, z)) { y -= 1; @@ -321,7 +350,7 @@ public class Util { x += 1; y = world.getHighestBlockYAt(x, z); - if (x - 32 > loc.getBlockX()) + if (x - 48 > loc.getBlockX()) { throw new Exception(_("holeInFloor")); } @@ -510,15 +539,16 @@ public class Util } return buf.toString(); } - - public static String lastCode(final String input) { + + public static String lastCode(final String input) + { int pos = input.lastIndexOf("§"); - if (pos == -1 || (pos + 1) == input.length()) { + if (pos == -1 || (pos + 1) == input.length()) + { return ""; } - return input.substring(pos, pos + 2); + return input.substring(pos, pos + 2); } - private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)"); private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]"); private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])"); diff --git a/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java b/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java index c159510c7..162457baf 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignBlockListener.java @@ -75,8 +75,8 @@ public class SignBlockListener implements Listener return false; } - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void onSignChange(final SignChangeEvent event) + @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) + public void onSignChange2(final SignChangeEvent event) { if (ess.getSettings().areSignsDisabled()) { @@ -88,6 +88,15 @@ public class SignBlockListener implements Listener { event.setLine(i, Util.formatString(user, "essentials.signs", event.getLine(i))); } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onSignChange(final SignChangeEvent event) + { + if (ess.getSettings().areSignsDisabled()) + { + return; + } for (Signs signs : Signs.values()) { diff --git a/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java b/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java index d8e590300..4c875098b 100644 --- a/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java +++ b/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java @@ -40,8 +40,8 @@ public class KeywordReplacer implements IText user.setDisplayNick(); displayName = user.getDisplayName(); userName = user.getName(); - ipAddress = user.getAddress().getAddress().toString(); - address = user.getAddress().toString(); + ipAddress = user.getAddress() == null || user.getAddress().getAddress() == null ? "" : user.getAddress().getAddress().toString(); + address = user.getAddress() == null ? "" : user.getAddress().toString(); balance = Double.toString(user.getMoney()); mails = Integer.toString(user.getMails().size()); world = user.getLocation() == null || user.getLocation().getWorld() == null ? "" : user.getLocation().getWorld().getName(); diff --git a/Essentials/src/items.csv b/Essentials/src/items.csv index 458999827..2be26e09c 100644 --- a/Essentials/src/items.csv +++ b/Essentials/src/items.csv @@ -1799,6 +1799,7 @@ tdoor,96,0 doort,96,0 trapd,96,0 dtrap,96,0 +silverfish,97,0 silverstone,97,0 silverfishstone,97,0 silverfishs,97,0 diff --git a/Essentials/src/messages_se.properties b/Essentials/src/messages_se.properties new file mode 100644 index 000000000..4bdd1fd29 --- /dev/null +++ b/Essentials/src/messages_se.properties @@ -0,0 +1,436 @@ +#version: TeamCity +# Single quotes have to be doubled: '' +# Translations start here +# by: oggehej, corrected by NeonMaster. +action=* {0} {1} +addedToAccount=\u00a7a{0} har blivit tillagt på ditt konto. +addedToOthersAccount=\u00a7a{0} har blivit tillagt på {1}\u00a7a konto. Ny balans: {2} +alertBroke=gjorde sönder: +alertFormat=\u00a73[{0}] \u00a7f {1} \u00a76 {2} at: {3} +alertPlaced=placerade: +alertUsed=använde: +autoAfkKickReason=Du har blivit utsparkad för att ha varit inaktiv i mer än {0} minuter. +backAfterDeath=\u00a77Använd /back kommandot för att komma tillbaka till din dödsplats. +backUsageMsg=\u00a77Tar dig tillbaka till din föregående position. +backupDisabled=Ett externt backup-skript har inte blivit konfigurerat. +backupFinished=Backup klar +backupStarted=Backup startad +balance=\u00a77Balans: {0} +balanceTop=\u00a77Topp balans ({0}) +banExempt=\u00a7cDu kan inte banna den spelaren. +banIpAddress=\u00a77Bannade IP-adress +bannedIpsFileError=Kunde inte läsa banned-ips.txt +bannedIpsFileNotFound=banned-ips.txt hittades inte +bannedPlayersFileError=Kunde inte läsa banned-players.txt +bannedPlayersFileNotFound=banned-players.txt hittades inte +bigTreeFailure=\u00a7cEtt stort träd kunde inte genereras misslyckades. Fösök igen på gräs eller jord. +bigTreeSuccess= \u00a77Stort träd genererat. +blockList=Essentials vidarebefordrade följande kommandon till ett annat insticksprogram: +broadcast=[\u00a7cUtsändning\u00a7f]\u00a7a {0} +buildAlert=\u00a7cDu har inte tillåtelse att bygga +bukkitFormatChanged=Bukkit versionsformat bytt. Version är inte kollad. +burnMsg=\u00a77Du satte eld på {0} i {1} sekunder. +canTalkAgain=\u00a77Du kan nu prata igen! +cantFindGeoIpDB=Kunde inte hitta GeoIP-databasen! +cantReadGeoIpDB=Kunde inte läsa innehåll från GeoIP-databasen! +cantSpawnItem=\u00a7cDu har inte behörighet att spawna {0} +chatTypeLocal=[L] +chatTypeSpy=[Spy] +commandFailed=Kommando {0} misslyckades: +commandHelpFailedForPlugin=Kunde inte hitta hjälp för: {0} +commandNotLoaded=\u00a7cKommando {0} är felaktigt laddat. +compassBearing=\u00a77Bäring: {0} ({1} grader). +configFileMoveError=Kunde inte flytta config.yml till backup-platsen. +configFileRenameError=Kunde inte byta namn på temp-filen till config.yml +connectedPlayers=Anslutna spelare: +connectionFailed=Kunde inte öppna anslutning. +cooldownWithMessage=\u00a7cNedkylning: {0} +corruptNodeInConfig=\u00a74Notice: Din konfigurationsfil har en korrupt {0} nod. +couldNotFindTemplate=Kunde inte hitta mallen {0} +creatingConfigFromTemplate=Skapar konfiguration från mallen: {0} +creatingEmptyConfig=Skapar tom konfiguration: {0} +creative=kreativ +currency={0}{1} +currentWorld=Nuvarande värld: {0} +day=dag +days=dagar +defaultBanReason=Banhammaren har talat! +deleteFileError=Kunde inte radera filen: {0} +deleteHome=\u00a77Hemmet {0} har tagits bort. +deleteJail=\u00a77Fängelset {0} har tagits bort. +deleteWarp=\u00a77Warpen {0} har tagits bort. +deniedAccessCommand={0} nekades åtkomst till kommandot. +dependancyDownloaded=[Essentials] Beroende {0} laddades ner framgångsrikt. +dependancyException=[Essentials] Ett fel uppstod när ett beroende laddades ner. +dependancyNotFound=[Essentials] Ett nödvändigt beroende hittades inte, laddar ner nu. +depth=\u00a77Du är på havsnivån. +depthAboveSea=\u00a77Du är {0} block ovanför havsniån. +depthBelowSea=\u00a77Du är {0} block under havsnivån. +destinationNotSet=Ingen destination är inställd. +disableUnlimited=\u00a77Inaktiverade oändligt placerande av {0} för {1}. +disabled=inaktiverad +disabledToSpawnMob=Att spawna fram den här moben är inaktiverat i configurationsfilen. +dontMoveMessage=\u00a77Teleporteringen påbörjas om {0}. Rör dig inte. +downloadingGeoIp=Laddar ner GeoIP-databasen... det här kan ta en stund (land: 0.6 MB, stad: 20MB) +duplicatedUserdata=Dublicerad användardata: {0} och {1} +durability=\u00a77Det här verktyget har \u00a7c{0}\u00a77 användningar kvar +enableUnlimited=\u00a77Ger oändligt av {0} till {1}. +enabled=aktiverad +enchantmentApplied = \u00a77Förtrollningen {0} har blivit tillämpad på saken du har i handen. +enchantmentNotFound = \u00a7cFörtrollningen hittades inte +enchantmentPerm = \u00a7cDu har inte behörighet att {0} +enchantmentRemoved = \u00a77Förtrollningen {0} har tagits bort från saken i din hand. +enchantments = \u00a77Förtrollningar: {0} +errorCallingCommand=Kunde inte kontakta kommandot /{0} +errorWithMessage=\u00a7cFel: {0} +essentialsHelp1=Filen är trasig och Essentials kan inte öppna den. Essentials är nu inaktiverat. Om du inte kan fixa problemet själv, gå till http://tiny.cc/EssentialsChat +essentialsHelp2=Filen är trasig och Essentials kan inte öppna den. Essentials är nu inaktiverat. Om du inte kan fixa problemet själv, skriv /essentialshelp i spelet eller gå till http://tiny.cc/EssentialsChat +essentialsReload=\u00a77Essentials Omladdat {0} +exp=\u00a7c{0} \u00a77har\u00a7c {1} \u00a77exp (level\u00a7c {2}\u00a77) och behöver\u00a7c {3} \u00a77mer erfarenhet för att gå upp en nivå. +expSet=\u00a7c{0} \u00a77har nu\u00a7c {1} \u00a77erfarenhet. +extinguish=\u00a77Du släckte dig själv. +extinguishOthers=\u00a77Du släckte {0}. +failedToCloseConfig=Kunde inte stänga konfiguration {0} +failedToCreateConfig=Kunde inte skapa konfiguration {0} +failedToWriteConfig=Kunde inte skriva konfiguration {0} +false=falskt +feed=\u00a77Din hunger är mättad. +feedOther=\u00a77Matade {0}. +fileRenameError=Namnbytet av filen {0} misslyckades +flyMode=\u00a77Aktiverade flygläge {0} för {1}. +foreverAlone=\u00a7cDu har ingen att svara. +freedMemory=Befriade {0} MB. +gameMode=\u00a77Satte {0}s spelläge till {1}. +gcchunks= bitar, +gcentities= enheter +gcfree=Ledigt minne: {0} MB +gcmax=Maximalt minne: {0} MB +gctotal=Tilldelat minne: {0} MB +geoIpUrlEmpty=Nerladdningsadressen för GeoIP är tom. +geoIpUrlInvalid=Nerladdningsadressen för GeoIP är ogiltig. +geoipJoinFormat=Spelaren {0} kommer från {1} +godDisabledFor=inaktiverat för {0} +godEnabledFor=aktiverat för {0} +godMode=\u00a77Odödlighet {0}. +hatArmor=\u00a7cFel, du kan inte använda den här saken som en hatt! +hatFail=\u00a7cDu måste ha någonting att bära i din hand. +hatPlaced=\u00a7eNjut av din nya hatt! +haveBeenReleased=\u00a77Du har blivit friad +heal=\u00a77Du har blivit läkt. +healOther=\u00a77Läkte {0}. +helpConsole=För att visa hjälp från konsolen, skriv ?. +helpFrom=\u00a77Kommandon från {0}: +helpLine=\u00a76/{0}\u00a7f: {1} +helpMatching=\u00a77Kommandon matchar "{0}": +helpOp=\u00a7c[OpHjälp]\u00a7f \u00a77{0}:\u00a7f {1} +helpPages=Sida \u00a7c{0}\u00a7f av \u00a7c{1}\u00a7f: +helpPlugin=\u00a74{0}\u00a7f: Hjälp för insticksprogram: /help {1} +holeInFloor=Hål i golvet +homeSet=\u00a77Hem inställt. +homeSetToBed=\u00a77Ditt hem är nu inställt till den här sängen. +homes=Hem: {0} +hour=timme +hours=timmar +ignorePlayer=Du ignorerar spelaren {0} från och med nu. +illegalDate=Felaktigt datumformat. +infoChapter=Välj kapitel: +infoChapterPages=Kapitel {0}, sida \u00a7c{1}\u00a7f av \u00a7c{2}\u00a7f: +infoFileDoesNotExist=Filen info.txt finns inte. Skapar en för dig. +infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Sida \u00a74{0}\u00a76/\u00a74{1} \u00a7e---- +infoUnknownChapter=Okänt kapitel. +invBigger=De andra användarnas förråd är större än ditt. +invRestored=Ditt förråd har blivit återställt. +invSee=Du ser nu {0}s förråd. +invSeeHelp=Använd /invsee för att återställa ditt förråd. +invalidCharge=\u00a7cOgiltig laddning. +invalidHome=Hemmet {0} finns inte +invalidMob=Ogiltig monster-typ. +invalidServer=Ogiltig server! +invalidSignLine=Rad {0} på skylten är ogiltig. +invalidWorld=\u00a7cOgiltig värld. +inventoryCleared=\u00a77Förråd rensat. +inventoryClearedOthers=\u00a77Förrådet av \u00a7c{0}\u00a77 är rensat. +is=är +itemCannotBeSold=Det objektet kan inte säljas till servern. +itemMustBeStacked=Objektet måste köpas i staplar. En mängd av 2s kommer bli 2 staplar, etc. +itemNotEnough1=\u00a7cDu har inte tillräckligt av den saken för att sälja. +itemNotEnough2=\u00a77Om du ville sälja alla block av den typen, använd /sell blocknamn +itemNotEnough3=\u00a77/sell blocknamn -1 kommer att sälja allt av den blocktypen förutom 1 o.s.v. +itemSellAir=Försökte du att sälja luft? Sätt en sak i din hand. +itemSold=\u00a77Sålde för \u00a7c{0} \u00a77({1} {2} för {3} styck) +itemSoldConsole={0} sålde {1} för \u00a77{2} \u00a77({3} saker för {4} styck) +itemSpawn=\u00a77Ger {0} stycken {1} +itemsCsvNotLoaded=Kunde inte ladda items.csv. +jailAlreadyIncarcerated=\u00a7cPersonen är redan i fängelse: {0} +jailMessage=\u00a7cBryter du mot reglerna, får du stå ditt kast. +jailNotExist=Det fängelset finns inte. +jailReleased=\u00a77Spelaren \u00a7e{0}\u00a77 är frisläppt. +jailReleasedPlayerNotify=\u00a77Du har blivit frisläppt! +jailSentenceExtended=Fängelsestraffet förlängt till: {0) +jailSet=\u00a77Fängelset {0} har skapats +jumpError=Det skulle skadat din dators hjärna. +kickDefault=Utsparkad från server +kickExempt=\u00a7cDu kan inte sparka ut den spelaren. +kickedAll=\u00a7cSparkade ut alla spelare från servern +kill=\u00a77Dödade {0}. +kitError2=\u00a7cDet kit:et finns inte eller har blivit felaktigt definierat. +kitError=\u00a7cDet finns inga giltiga kit. +kitErrorHelp=\u00a7cKanske en sak fattar mängd i konfigurationen? +kitGive=\u00a77Ger kit {0}. +kitInvFull=\u00a7cDitt Förråd var fullt, placerar kit på golvet +kitTimed=\u00a7cDu kan inte använda det kit:et igen på {0}. +kits=\u00a77Kit: {0} +lightningSmited=\u00a77Blixten har slagit ner på dig +lightningUse=\u00a77En blixt kommer slå ner på {0} +listAfkTag = \u00a77[AFK]\u00a7f +listAmount = \u00a79Det är \u00a7c{0}\u00a79 av maximalt \u00a7c{1}\u00a79 spelare online. +listAmountHidden = \u00a79Det är \u00a7c{0}\u00a77/{1}\u00a79 Av maximalt \u00a7c{2}\u00a79 spelare online. +listGroupTag={0}\u00a7f: +listHiddenTag = \u00a77[GÖMD]\u00a7f +loadWarpError=Kunde inte ladda warp {0} +localFormat=Lokal: <{0}> {1} +mailClear=\u00a7cFör att markera dina meddelanden som lästa, skriv /mail clear +mailCleared=\u00a77Meddelanden rensade! +mailSent=\u00a77Meddelandet skickad! +markMailAsRead=\u00a7cFör att markera dina meddelanden som lästa, skriv /mail clear +markedAsAway=\u00a77Du är nu markerad som borta. +markedAsNotAway=\u00a77Du är inte längre markerad som borta. +maxHomes=Du kan inte ha fler än {0} hem. +mayNotJail=\u00a7cDu får inte sätta den personen i fängelse +me=jag +minute=minut +minutes=minuter +missingItems=Du har inte {0}x {1}. +missingPrefixSuffix=Saknar ett prefix eller suffix för {0} +mobSpawnError=Fel när mob-spawnaren försökte att ändras. +mobSpawnLimit=Mängden mobs begränsad till serverns maxgräns +mobSpawnTarget=Målblocket måste vara en mob-spawnare. +mobsAvailable=\u00a77Mobs: {0} +moneyRecievedFrom=\u00a7a{0} har tagits emot från {1} +moneySentTo=\u00a7a{0} har skickats till {1} +moneyTaken={0} är taget från ditt bankkonto. +month=månad +months=månader +moreThanZero=Mångden måste vara större än 0. +msgFormat=\u00a77[{0}\u00a77 -> {1}\u00a77] \u00a7f{2} +muteExempt=\u00a7cDu kan inte tysta den spelaren. +mutedPlayer=Spelaren {0} är tystad. +mutedPlayerFor=Spelaren {0} är tystad i {1}. +mutedUserSpeaks={0} försökte att prata, men blev tystad. +nearbyPlayers=Spelare i närheten: {0} +negativeBalanceError=Användaren är inte tillåten att ha en negativ balans. +nickChanged=Smeknamn ändrat. +nickDisplayName=\u00a77Du måste aktivera change-displayname i Essentials-konfigurationen. +nickInUse=\u00a7cDet namnet används redan. +nickNamesAlpha=\u00a7cSmeknamn måste vara alfanumeriska. +nickNoMore=\u00a77Du har inte ett smeknamn längre +nickOthersPermission=\u00a7cDu har inte tillstånd att ändra andras smeknamn +nickSet=\u00a77Ditt smeknamn är nu \u00a7c{0} +noAccessCommand=\u00a7cDu har inte tillgång till det kommandot. +noAccessPermission=\u00a7cDu har inte tillstånd till att komma åt det {0}. +noBreakBedrock=Du har inte tillåtelse att förstöra berggrund. +noDestroyPermission=\u00a7Du har inte tillåtelse att förstöra det {0}. +noDurability=\u00a7cDen saken har inte en hållbarhet. +noGodWorldWarning=\u00a7cVarning! Odödlighet i den här världen är inaktiverat. +noHelpFound=\u00a7cInga matchande kommandon. +noHomeSet=Du har inte angett ett hem. +noHomeSetPlayer=Den här spelaren har inte ett hem. +noKitPermission=\u00a7cDu behöver \u00a7c{0}\u00a7c tillstånd för att använda det kitet. +noKits=\u00a77Det finns inga kits tillgängliga än +noMail=Du har inget meddelande +noMotd=\u00a7cDet finns inget meddelande för dagen. +noNewMail=\u00a77Du har inget nytt meddelande. +noPendingRequest=Du har inga väntande förfrågan. +noPerm=\u00a7cDu har inte \u00a7f{0}\u00a7c tillåtelse. +noPermToSpawnMob=\u00a7cDu har inte tillåtelse att spawna den här moben. +noPlacePermission=\u00a7cDu har inte tillåtelse att placera ett block nära den skylten. +noPowerTools=Du har inga power-tools tilldelade. +noRules=\u00a7cDet finns inga specifierade regler än. +noWarpsDefined=Inga warpar är definerade +none=inga +notAllowedToQuestion=\u00a7cDu har inte tillstånd att använda den frågan. +notAllowedToShout=\u00a7cDu har inte tillstånd att ropa. +notEnoughExperience=Du har inte nog med erfarenhet. +notEnoughMoney=Du har inte tillräckligt med pengar. +notRecommendedBukkit= * ! * Bukkit-versionen är inte rekommenderad för den här versionen av Essentials. +notSupportedYet=Stöds inte än. +nothingInHand = \u00a7cDu har inget i din hand. +now=nu +nuke=Låt död regna över dem +numberRequired=Det ska vara ett nummer där, dumbom. +onlyDayNight=/time stöder bara day(dag) eller night(natt). +onlyPlayers=Bara spelare som är online kan använda {0}. +onlySunStorm=/weather stöder bara sun(sol) eller storm(storm). +orderBalances=Beställer balanser av {0} användare, vänligen vänta... +pTimeCurrent=\u00a7e{0}'*s\u00a7f klockan är {1}. +pTimeCurrentFixed=\u00a7e{0}''s\u00a7f tiden är fixerad till {1}. +pTimeNormal=\u00a7e{0}''s\u00a7f tiden är normal och matchar servern. +pTimeOthersPermission=\u00a7cDu har inte behörighet att ställa in andra spelares tid. +pTimePlayers=Dessa spelare har sin egen tid: +pTimeReset=Spelarens tid har blivit återställd till: \u00a7e{0} +pTimeSet=Spelarens tid är inställd till \u00a73{0}\u00a7f till: \u00a7e{1} +pTimeSetFixed=Spelarens tid är fixerad till \u00a73{0}\u00a7f för: \u00a7e{1} +parseError=Fel vid tolkning av {0} på rad {1} +pendingTeleportCancelled=\u00a7cAvvaktande teleporteringsbegäran är avbruten. +permissionsError=Saknar Permissions/GroupManager; chattens prefixer/suffixer kommer vara inaktiverade. +playerBanned=\u00a7cSpelaren {0} bannad {1} för {2} +playerInJail=\u00a7cSpelaren är redan i fängelse {0}. +playerJailed=\u00a77Spelaren {0} fängslad. +playerJailedFor= \u00a77Spelaren {0} fängslad för {1}. +playerKicked=\u00a7cSpelaren {0} har sparkat ut {1} för {2} +playerMuted=\u00a77Du har blivit tystad +playerMutedFor=\u00a77Du har blivit tystad för {0} +playerNeverOnServer=\u00a7cSpelaren {0} har aldrig varit på den här servern. +playerNotFound=\u00a7cSpelaren hittades inte. +playerUnmuted=\u00a77Du kan nu prata +pong=Pong! +possibleWorlds=\u00a77Möjliga värdar är nummer mellan 0 och {0}. +powerToolAir=Kommandot kan inte tilldelas luft. +powerToolAlreadySet=Kommandot \u00a7c{0}\u00a7f är redan tilldelat {1}. +powerToolAttach=\u00a7c{0}\u00a7f kommandot tilldelat {1}. +powerToolClearAll=Alla powertool-kommandon har blivit rensade. +powerToolList={1} har följane kommandon: \u00a7c{0}\u00a7f. +powerToolListEmpty={0} har inga kommandon tilldelade. +powerToolNoSuchCommandAssigned=Kommandot \u00a7c{0}\u00a7f har inte blivit tilldelat {1}. +powerToolRemove=Kommandot \u00a7c{0}\u00a7f är borttaget från {1}. +powerToolRemoveAll=Alla kommandon är borttagna från {0}. +powerToolsDisabled=Alla dina powertools har blivit inaktiverade. +powerToolsEnabled=Alla dina powertools har blivit aktiverade. +protectionOwner=\u00a76[EssentialsProtect] Skyddsägare: {0} +questionFormat=\u00a77[Fråga]\u00a7f {0} +readNextPage=Skriv /{0} {1} för att läsa nästa sida +reloadAllPlugins=\u00a77Laddade om alla insticksprogram. +removed=\u00a77Tog bort {0} enheter. +repair=Du har reparerat din: \u00a7e{0}. +repairAlreadyFixed=\u00a77Den här saken behöver inte repareras. +repairEnchanted=\u00a77Du har inte behörighet att reparera förtrollade saker. +repairInvalidType=\u00a7cDen här saken kan inte bli reparerad. +repairNone=Det var inga saker som behöver repareras. +requestAccepted=\u00a77Teleporterings-förfrågan accepterad. +requestAcceptedFrom=\u00a77{0} accepterade din teleportations-förfrågan. +requestDenied=\u00a77Teleportations-förfrågan nekad. +requestDeniedFrom=\u00a77{0} nekade din teleportations-förfrågan. +requestSent=\u00a77Förfrågan skickad till {0}\u00a77. +requestTimedOut=\u00a7cTeleportations-förfrågan har gått ut +requiredBukkit= * ! * Du behöver minst bygge {0} av CraftBukkit, ladda ner den från http://dl.bukkit.org/downloads/craftbukkit/ +returnPlayerToJailError=Ett fel uppstod när spelaren {0} skulle återvända till fängelset: {1} +second=sekund +seconds=sekunder +seenOffline=Spelaren {0} är offline sedan {1} +seenOnline=Spelaren {0} är online sedan {1} +serverFull=Servern är full +serverTotal=Totalt på servern: {0} +setSpawner=Bytte typen av spawnare till {0} +sheepMalformedColor=Felformulerad färg. +shoutFormat=\u00a77[Hojtning]\u00a7f {0} +signFormatFail=\u00a74[{0}] +signFormatSuccess=\u00a71[{0}] +signFormatTemplate=[{0}] +signProtectInvalidLocation=\u00a74Du har inte tillåtelse att göra skyltar här. +similarWarpExist=En warp med ett liknande namn finns redan. +slimeMalformedSize=Felformulerad storlek. +soloMob=Det här monstret gillar att vara ensam +spawnSet=\u00a77Spawnpunkten inställd för gruppen {0}. +spawned=spawnade +sudoExempt=Du kan inte göra en sudo på den här användaren +sudoRun=Tvingar {0} att springa: /{1} {2} +suicideMessage=\u00a77Adjö grymma värld... +suicideSuccess= \u00a77{0} tog sitt eget liv +survival=överlevnad +takenFromAccount=\u00a7c{0} har tagits från ditt konto. +takenFromOthersAccount=\u00a7c{0} taget från {1}\u00a7c konto. Ny balans: {2} +teleportAAll=\u00a77Teleportations-förfrågan skickad till alla spelare... +teleportAll=\u00a77Teleporterar alla spelare... +teleportAtoB=\u00a77{0}\u00a77 teleporterade dig till {1}\u00a77. +teleportDisabled={0} har teleportering inaktiverat. +teleportHereRequest=\u00a7c{0}\u00a7c har frågat dig om du vill teleportera till dem. +teleportNewPlayerError=Messlyckades med att teleportera ny spelare +teleportRequest=\u00a7c{0}\u00a7c har begärt att få teleportera sig till dig. +teleportRequestTimeoutInfo=\u00a77Den här begäran kommer att gå ut efter {0} sekunder. +teleportTop=\u00a77Teleporterar till toppen. +teleportationCommencing=\u00a77Teleporteringen påbörjas... +teleportationDisabled=\u00a77Teleportering inaktiverat. +teleportationEnabled=\u00a77Teleportering aktiverat. +teleporting=\u00a77Teleporterar... +teleportingPortal=\u00a77Teleporterar via portal. +tempBanned=Temporärt bannad från servern för {0} +tempbanExempt=\u00a77Du kan inte temporärt banna den spelaren +thunder= Du {0} åska i din värld +thunderDuration=Du {0} i din värld i {1} sekunder. +timeBeforeHeal=Tid före näste läkning: {0} +timeBeforeTeleport=Tid före nästa teleportering: {0} +timeFormat=\u00a73{0}\u00a7f eller \u00a73{1}\u00a7f eller \u00a73{2}\u00a7f +timePattern=(?:([0-9]+)\\s*y[a-z]*[,\\s]*)?(?:([0-9]+)\\s*mo[a-z]*[,\\s]*)?(?:([0-9]+)\\s*w[a-z]*[,\\s]*)?(?:([0-9]+)\\s*d[a-z]*[,\\s]*)?(?:([0-9]+)\\s*h[a-z]*[,\\s]*)?(?:([0-9]+)\\s*m[a-z]*[,\\s]*)?(?:([0-9]+)\\s*(?:s[a-z]*)?)? +timeSet=Tid inställd i alla världar. +timeSetPermission=\u00a7cDu har inte tillstånd att ställa in tiden. +timeWorldCurrent=Den nuvarande tiden i {0} är \u00a73{1} +timeWorldSet=Tiden är nu {0} i: \u00a7c{1} +tps=Nuvarande TPS = {0} +tradeCompleted=\u00a77Köp avslutat. +tradeSignEmpty=Köpskylten har inget tillgängligt för dig. +tradeSignEmptyOwner=Det finns inget att från den här köpskylten. +treeFailure=\u00a7cTrädgenereringn misslyckades. Prova igen på gräs eller jord. +treeSpawned=\u00a77Träd genererat. +true=sant +typeTpaccept=\u00a77För att teleportera, skriv \u00a7c/tpaccept\u00a77. +typeTpdeny=\u00a77För att neka denna förfrågan, skriv \u00a7c/tpdeny\u00a77. +typeWorldName=\u00a77Du kan också skriva namnet av en specifik värld. +unableToSpawnMob=Kunde inte spawna moben. +unbannedIP=Tog bort bannlysningen från IP-adress. +unbannedPlayer=Tog bort bannlysningen från spelaren. +unignorePlayer=Du ignorerar inte spelaren {0} längre. +unknownItemId=Okänt objekt-ID: {0} +unknownItemInList=Okänt objekt {0} i listan {1}. +unknownItemName=Okänt objektnamn: {0} +unlimitedItemPermission=\u00a7cInget tillstånd för obegränsad tillgång av {0}. +unlimitedItems=Obegränsade objekt: +unmutedPlayer=Spelaren {0} är inte bannlyst längre. +unvanished=\u00a7aDu är synlig igen. +unvanishedReload=\u00a7cEn omladdning har tvingat dig att bli synlig. +upgradingFilesError=Fel vid uppgradering av filerna +userDoesNotExist=Användaren {0} existerar inte. +userIsAway={0} är nu AFK +userIsNotAway={0} är inte längre AFK +userJailed=\u00a77Du har blivit fängslad +userUsedPortal={0} använde en existerande utgångsportal. +userdataMoveBackError=Kunde inte flytta userdata/{0}.tmp till userdata/{1} +userdataMoveError=Kunde inte flytta userdata/{0} till userdata/{1}.tmp +usingTempFolderForTesting=Använder temporär mapp mapp för testning: +vanished=\u00a7aDu är nu osynlig. +versionMismatch=Versionerna matchar inte! Vänligen uppgradera {0} till samma version. +versionMismatchAll=Versionerna matchar inte! Vänligen uppgradera alla Essentials jars till samma version. +voiceSilenced=\u00a77Din röst har tystats +warpDeleteError=Problem med att ta bort warp-filen. +warpListPermission=\u00a7cDu har inte tillstånd att lista warparna. +warpNotExist=Den warpen finns inte. +warpOverwrite=\u00a7cDu kan inte skriva över den warpen. +warpSet=\u00a77Warpen {0} inställd. +warpUsePermission=\u00a7cDU har inte tillstånd att använda den warpen. +warpingTo=\u00a77Warpar till {0}. +warps=Warpar: {0} +warpsCount=\u00a77Det finns {0} warpar. Visar sida {1} av {2}. +weatherStorm=\u00a77Du har ställt in vädret till storm i {0} +weatherStormFor=\u00a77Du har ställt in vädret till storm i {0} för {1} sekunder +weatherSun=\u00a77Du har ställt in vädret till sol i {0} +weatherSunFor=\u00a77Du har ställt in vädret till sol i {0} för {1} sekunder +whoisBanned=\u00a79 - Bannade spelare: {0} +whoisExp=\u00a79 - Erfarenhet: {0} (Nivå {1}) +whoisGamemode=\u00a79 - Spelläge: {0} +whoisGeoLocation=\u00a79 - Plats: {0} +whoisGod=\u00a79 - Odödlighet: {0} +whoisHealth=\u00a79 - Hälsa: {0}/20 +whoisIPAddress=\u00a79 - IP-Adress: {0} +whoisIs={0} är {1} +whoisJail=\u00a79 - Fängelse: {0} +whoisLocation=\u00a79 - Plats: ({0}, {1}, {2}, {3}) +whoisMoney=\u00a79 - Pengar: {0} +whoisOP=\u00a79 - Operatörer: {0} +whoisStatusAvailable=\u00a79 - Status: Tillgänglig +whoisStatusAway=\u00a79 - Status: \u00a7cBorta\u00a7f +worth=\u00a77Stapeln med {0} ({2} objekt) är värd \u00a7c{1}\u00a77 ({3} styck) +worthMeta=\u00a77Stapeln med {0} av typ {1} ({3} objekt) är värd \u00a7c{2}\u00a77 ({4} styck) +worthSet=Värdet inställt +year=år +years=år +youAreHealed=\u00a77Du har blivit läkt. +youHaveNewMail=\u00a7cDu har {0} meddelanden!\u00a7f Skriv \u00a77/mail read\u00a7f för att läsa dina meddelanden. \ No newline at end of file diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java index 58b094793..052479aed 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java @@ -133,10 +133,13 @@ public abstract class EssentialsChatPlayer implements Listener { abort = true; } - final double delta = playerLoc.distanceSquared(loc); - if (delta > chatStore.getRadius()) + else { - abort = true; + final double delta = playerLoc.distanceSquared(loc); + if (delta > chatStore.getRadius()) + { + abort = true; + } } if (abort) { diff --git a/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java b/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java index 0018d09b4..ab72cfa9f 100644 --- a/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java +++ b/EssentialsGeoIP/src/com/earth2me/essentials/geoip/EssentialsGeoIPPlayerListener.java @@ -45,7 +45,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IConf public void onPlayerJoin(PlayerJoinEvent event) { User u = ess.getUser(event.getPlayer()); - if (u.isAuthorized("essentials.geoip.hide")) + if (u.isAuthorized("essentials.geoip.hide") || event.getPlayer().getAddress() == null) { return; } diff --git a/EssentialsGroupManager/src/globalgroups.yml b/EssentialsGroupManager/src/globalgroups.yml index 04b670ae7..b110d2da2 100644 --- a/EssentialsGroupManager/src/globalgroups.yml +++ b/EssentialsGroupManager/src/globalgroups.yml @@ -120,7 +120,9 @@ groups: - essentials.compass - essentials.delhome - essentials.depth + - essentials.exp - essentials.getpos + - essentials.hat - essentials.home - essentials.ignore - essentials.itemdb @@ -173,6 +175,7 @@ groups: - essentials.clearinventory - essentials.delwarp - essentials.eco.loan + - essentials.exp.others - essentials.ext - essentials.fly - essentials.getpos @@ -215,6 +218,8 @@ groups: - essentials.tptoggle - essentials.unban - essentials.unbanip + - essentials.vanish + - essentials.warp.* - essentials.weather - essentials.whois - essentials.world