From 4ad4a8359d7f98114c781d4bc1d8f7d138d287c1 Mon Sep 17 00:00:00 2001 From: tastybento Date: Thu, 30 Jan 2020 10:31:09 -0800 Subject: [PATCH 1/7] Czech translation. Credit @Polda18 --- src/main/resources/locales/cs.yml | 296 ++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 src/main/resources/locales/cs.yml diff --git a/src/main/resources/locales/cs.yml b/src/main/resources/locales/cs.yml new file mode 100644 index 0000000..db130a9 --- /dev/null +++ b/src/main/resources/locales/cs.yml @@ -0,0 +1,296 @@ +########################################################################################### +# 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 # +# # +# Translation by: CZghost # +########################################################################################### + +caveblock: + sign: + line0: "&cCaveBlock" + line1: "Vítej!" + line2: "[name]" + line3: "Začni kopat! &c<3" + + informational: + to-nether: "Taková smůla, propadnout se do netheru." + to-the-end: "Dosáhl jsi Endu." + to-normal: "Zpět do své jeskyně." + # Override BentoBox default command strings + # General strings + general: + errors: + no-island: "&cNemáš jeskyni!" + player-has-island: "&cHráč již má jeskyni!" + player-has-no-island: "&cTento hráč nemá jeskyni!" + already-have-island: "&cJiž máš svou jeskyni!" + no-safe-location-found: "&cNelze najít bezpečné místo pro teleportaci do tvé jeskyně." + not-owner: "&cNejsi vlastník této jeskyně!" + commands: + # Parameters in <> are required, parameters in [] are optional + admin: + team: + add: + name-has-island: "&c[name] má jeskyni. Nejdříve ji odregistruj nebo smaž!" + success: "&b[name]&a byl přidán do jeskyně &b[owner]&a." + kick: + success: "&b[name] &abyl vykopnut z jeskyně &b[owner]&a." + setowner: + description: "přepíše vlastnictví jeskyně na hráče" + already-owner: "&c[name] již je vlastníkem této jeskyně!" + success: "&b[name]&a je nyní vlastník této jeskyně." + range: + description: "Administrátorský příkaz vzdálenosti jeskyně" + display: + description: "ukázat/schovat indikátory vzdálenosti jeskyně" + hint: |- + &cIkony červené bariéry &fukazují nynější limit chráněné oblasti jeskyně. + &7Šedé partikly &ukazují maximální limit jeskyně. + &aZelené partikly &fuzkazují výchozí chráněnou oblast jeskyně, pokud se nynější od ní odlišuje. + set: + description: "nastavuje chráněnou oblast jeskyně" + success: "&aChráněná oblast jeskyně nastavena na &b[number]&a." + reset: + description: "obnoví chráněnou oblast jeskyně na výchozí hodnotu světa" + success: "&aChráněná oblast jeskyně obnovena na &b[number]&a." + register: + description: "registrovat hráče do nevlastněné jeskyně, ve které jsi" + registered-island: "&aHráč registrován do jeskyně na [xyz]." + already-owned: "&cJeskyně je již vlastněna jiným hráčem!" + no-island-here: "&cZde není jeskyně. Potvrď její vytvoření." + in-deletion: "&cTato jeskyně bude smazána. Opakuj později." + cannot-make-island: "&c Pardon, sem nelze umístit jeskyni. Podívej se do konzole pro přípdné chyby." + unregister: + description: "odregistrovat vlastníka z jeskyně, ale zachovat bloky jeskyně" + unregistered-island: "&aHráč odregistrován z jeskyně na [xyz]." + info: + description: "získat info, kde se nacházíš ty nebo hráčova jeskyně" + no-island: "&cPrávě nejsi v žádné jeskyni..." + title: "========== Info o jeskyni ============" + islands-in-trash: "&dHráčova jeskyně je v koši." + is-spawn: "Jeskyně je spawn" + switchto: + description: "nastavit jeskyni hráče na pořadí v koši" + out-of-range: "&cČíslo musí být mezi 1 a [number]. Použij &l[label] trash [player] &r&cpro zobrazení čísel" + trash: + no-unowned-in-trash: "&cV koši nejsou žádné nevlastněné jeskyně" + no-islands-in-trash: "&cHráč nemá žádné jeskyně v koši" + description: "ukázat nevlastněné nebo hráčské jeskyně v koši" + title: "&d=========== Jeskyně v koši ===========" + count: "&l&dJeskyně [number]:" + use-switch: "&aPoužij &l[label] switchto &r&ak nastavení pořadí v koši" + emptytrash: + description: "Vysypat koš hráče, nebo všech nevlastněných jeskyní" + setrange: + description: "nastavit oblast jeskyně hráče" + range-updated: "Oblast jeskyně nastavena na [number]" + tp: + description: "teleportovat se do jeskyně hráče" + getrank: + description: "získat hodnost hráče v jejich jeskyni" + rank-is: "&aHodnost je [rank] v jejich jeskyni." + setrank: + description: "nastavit hodnot hráče v jejich jeskyni" + setspawn: + description: "nastavit jeskyni jako spawn pro tento svět" + already-spawn: "&cTato jeskyně již je spawn!" + no-island-here: "&cZde není jeskyně." + confirmation: "&cJsi si jistý, že chceš tuto jeskyni nastavit jako spawn pro tento svět?" + resetflags: + description: "Obnov vlaječky všech jeskyní na výchozí nastavení v souboru config.yml" + delete: + description: "odstraní jeskyni hráče" + cannot-delete-owner: "&cVšichni členové jeskyně musí být vykopnuti z jeskyně, než jej bude možné smazat." + deleted-island: "&aJeskyně na &e[xyz] &a byla úspěšně smazána." + island: + go: + description: "teleportuje tě do tvé jeskyně" + teleport: "&aTeleportuji tě do tvé jeskyně." + help: + description: "Hlavní příkaz jeskyně" + create: + description: "vytvořit jeskyni, s použitím volitelné předlohy (vyžaduje oprávnění)" + too-many-islands: "&cJe zde příliš mnoho jeskyní v tomto světě: není zde dostatek místa k vytvoření té tvé." + unable-create-island: "&cTvoji jeskyni se nepovedlo vygenerovat, prosím, kontaktuj administrátora." + creating-island: "&aVytvářím tvou jeskyni, počkej, prosím, chvíli..." + pick: "&aZvol si jeskyni" + info: + description: "ukázat info o tvé jeskyni nebo jeskyni hráče" + near: + description: "ukázat jména sousedících jeskyní okolo tebe" + the-following-islands: "&aNásledující jeskyně jsou poblíž:" + no-neighbors: "&cNemáš bezprostřední sousední jeskyně!" + reset: + description: "restartuj svou jeskyni a smaž svou předchozí" + must-remove-members: "&cMusíš odebrat všechny členy ze své jeskyně, než ji budeš moci restartovat (/island team kick )." + sethome: + must-be-on-your-island: "&cMusíš být ve své jeskyni k nastavení domova!" + home-set: "&6Domov tvé jeskyně byl nastaven na tvou nynější pozici." + setname: + description: "nastavit jméno tvé jeskyně" + resetname: + description: "obnovit jméno tvé jeskyně" + team: + coop: + description: "učinit hráče pomocníkem ve tvé jeskyni" + uncoop: + you-are-no-longer-a-coop-member: "&cNadále již nejsi pomocníkem v jeskyni [name]" + all-members-logged-off: "&cVšichni členové jeskyně se odhlásili, takže již nadále nejsi pomocníkem v jeskyni [name]" + trust: + description: "dát hráči hodnost důvěryhodného ve tvé jeskyni" + invite: + description: "pozvi hráče jako člena tvé jeskyně" + name-has-invited-you: "&a[name] tě pozval jako člena jeho jeskyně." + you-will-lose-your-island: "&cVAROVÁNÍ! Ztatíš svou jeskyni, když žádost přijmeš!" + errors: + island-is-full: "&cTvá jeskyně je plná, nemůžeš pozvat nikoho dalšího." + accept: + you-joined-island: "&aPřipojil ses do jeskyně! Použij /[label] team info pro zobrazení ostatních členů." + name-joined-your-island: "&a[name] se připojil do tvé jeskyně!" + confirmation: |- + &cJsi si jistý, že chceš přijmout tuto pozvánku? + &c&l&nZTRATÍŠ&r&c&l svou dosavadní jeskyni! + reject: + you-rejected-invite: "&aOdmítnul jsi pozvánku do týmu jeskyně." + name-rejected-your-invite: "&c[name] odmítnul tvou pozvánku!" + cancel: + description: "zrušit čekající pozvánku do tvé jeskyně" + leave: + description: "opustit svou jeskyni" + left-your-island: "&c[name] &copustil tvou jeskyni" + kick: + description: "odstranit člena tvé jeskyně" + owner-kicked: "&cVlastník tě vykopnul ze své jeskyně!" + success: "&b[name] &abyl vykopnut z tvé jeskyně." + demote: + description: "degradovat hráče ve tvé jeskyni" + promote: + description: "povýšit hráče ve tvé jeskyni" + setowner: + description: "přenést vlastnictví své jeskyně na člena" + errors: + target-is-not-member: "&cTento hráč není členem týmu ve tvé jeskyni!" + name-is-the-owner: "&a[name] je nyní vlastník jeskyně!" + you-are-the-owner: "&aNyní jsi vlastníkem jeskyně!" + ban: + description: "zakázat hráči přístup do tvé jeskyně" + cannot-ban-more-players: "&cDosáhl jsi limitu zákazů, nemůžeš zakázat přístup do tvé jeskyně dalším hráčům." + player-banned: "&b[name]&c má nyní přístup do tvé jeskyně zakázán." + owner-banned-you: "&b[name]&c ti zakázal přístup do své jeskyně!" + you-are-banned: "&bPřístup do této jeskyně ti byl zakázán!" + unban: + description: povolit hráči přístup do tvé jeskyně" + player-unbanned: "&b[name]&a má nyní přístup do tvé jeskyně povolen." + you-are-unbanned: "&b[name]&a ti povolil přístup do své jeskyně!" + banlist: + noone: "&aNikdo nemá zakázaný přístup do této jeskyně." + settings: + description: "ukázat nastavení jeskyně" + expel: + description: "vykázat hráče z tvé jeskyně" + not-on-island: "&cTento hráč není ve tvé jeskyni!" + player-expelled-you: "&b[name]&c tě vykázal ze své jeskyně!" + + ranks: + owner: "Král Trpaslíků" + sub-owner: "Rytíř Trpaslíků" + member: "Trpaslík" + trusted: "Důvěryhodný" + coop: "Pomocník" + visitor: "Člověk" + banned: "Skřet" + + protection: + flags: + ENDERMAN_GRIEFING: + description: |- + &aEndermeni mohou odstraňovat + &abloky z jeskyně + name: "Griefing endermanů" + ENTER_EXIT_MESSAGES: + island: "Jeskyně [name]" + GEO_LIMIT_MOBS: + description: |- + &aOdstranit moby, které + &ase zapletou mimo chráněný + &aprostor jeskyně + name: "&eOmezit moby do jeskyně" + ISLAND_RESPAWN: + description: |- + &aHráči se respawnují + &av jejich jeskyni + name: "Respawn v jeskyni" + LIQUIDS_FLOWING_OUT: + name: "Přetékání kapalin mimo jeskyni" + description: |- + &aPřepíná, zda mohou kapaliny přetékat + &amimo chráněné prostředí jeskyně. + LOCK: + description: "Přepnout zámek" + name: "Zamknout jeskyni" + NATURAL_SPAWNING_OUTSIDE_RANGE: + name: "Přirozené spawnování tvorů mimo prostor jeskyně" + description: |- + &aPřepnout, zda se mohou tvorové (zvířata + &aa příšery) přirozeně spawnovat mimo + &achráněný prostor jeskyně. + + &cMěj na paměti, že to nezabrání spawnování + &ctvorů pomocí spawneru nebo spawnovacích + &cvajíček. + OFFLINE_GROWTH: + description: |- + &aJe-li zakázáno, rostliny + &anebudou růst v jeskyních, jejichž + &ačlenové jsou všichni offline. + &aMůže pomoci snížit lagy. + name: "Offline růst" + OFFLINE_REDSTONE: + description: |- + &a&a Je-li zakázáno, rudit + &anebude funkční v jeskyních, jejichž + &ačlenové jsou všichni offline. + &aMůže pomoci snížit lagy. + name: "Offline Rudit" + PISTON_PUSH: + description: |- + &aPovolit pístům vytlačit + &ablok mimo jeskyni + name: "Vytlačení pístem" + REMOVE_MOBS: + description: |- + &aOdstranit příšery při + &ateleportu do jeskyně + name: "Odstranit příšery" + TREES_GROWING_OUTSIDE_RANGE: + name: "Růst stromů mimo prostor jeskyně" + description: |- + &aPřepíná, zda mohou stromy růst mimo + &achráněný prostor jeskyně nebo ne. + PREVENT_TELEPORT_WHEN_FALLING: + name: "Zabránit teleportu při padání" + description: |- + &aZabránit hráčům v teleportaci zpět + &ado jejich jeskyně použitím příkazu, + &apokud padají. + hint: "&cNemůžeš se teleportovat zpět do své jeskyně, když padáš." + locked: "&cTato jeskyně je zamčená!" + protected: "&cJeskyně chráněna: [description]" + spawn-protected: "&cSpawn chráněn: [description]" + + panel: + PROTECTION: + description: |- + &aNastavení protekce + &atéto jeskyně + SETTING: + description: |- + &aObecné nastavení + &atéto jeskyně + +protection: + flags: + SKY_WALKER_FLAG: + description: "&5&oToto umožní zapnout/vypnout\n&5&omožnost chodit\n&5&opo vrchu světa jeskyní\n&5&obez extra oprávnění." + name: "Nebeský chodec" + hint: "Umožňuje chodit pozastřešení jeskyň." \ No newline at end of file From 8726fa841116dcd08736fb0b8b5f3963f2174ac9 Mon Sep 17 00:00:00 2001 From: "gitlocalize-app[bot]" <55277160+gitlocalize-app[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2020 07:21:12 +0200 Subject: [PATCH 2/7] Add zh-CN (#43) * Translate zh-CN.yml via GitLocalize * Translate zh-CN.yml via GitLocalize * Translate zh-CN.yml via GitLocalize Co-authored-by: jaciloy Co-authored-by: DuckSoft Co-authored-by: mt-gitlocalize --- src/main/resources/locales/zh-CN.yml | 286 +++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 src/main/resources/locales/zh-CN.yml diff --git a/src/main/resources/locales/zh-CN.yml b/src/main/resources/locales/zh-CN.yml new file mode 100644 index 0000000..dabc0a1 --- /dev/null +++ b/src/main/resources/locales/zh-CN.yml @@ -0,0 +1,286 @@ +--- +caveblock: + sign: + line0: "&c方块洞穴" + line1: 欢迎! + line3: 开始挖掘! &c <3 + line2: "[name]" + informational: + to-nether: 真倒霉到地狱了。 + to-the-end: 您已经到了末地。 + to-normal: 回到你的洞穴。 + general: + errors: + no-island: "&c您没有洞穴!" + player-has-island: "&c玩家已经有一个山洞了!" + player-has-no-island: "&c该玩家没有洞穴!" + already-have-island: "&c您已经有一个山洞!" + no-safe-location-found: "&c在山洞找不到传送您的安全地点。" + not-owner: "&c您不是洞穴的所有者!" + commands: + admin: + team: + add: + name-has-island: "&c [name]有一个山洞。首先注销或删除它们!" + success: "&b [name]&a已添加到&b [owner]&a的洞穴中。" + kick: + success: "&b [name]&ahas被踢出了&b [owner]&a的山洞。" + setowner: + description: 将洞穴所有权转移给玩家 + already-owner: "&c [name]已经是该洞穴的所有者!" + success: "&b [name]&a现在是这个洞穴的所有者。" + range: + description: 管理员洞穴范围命令 + display: + description: 显示/隐藏洞穴范围指示器 + hint: |- + &c红色屏障图标&f显示当前的洞穴保护范围限制。 + &7灰色粒子&f显示最大洞穴极限。 + &a绿色粒子&f如果洞穴保护范围不同于默认保护范围,则显示默认保护范围。 + set: + description: 设置洞穴保护范围 + success: "&a将洞穴保护范围设置为&b [number]&a。" + reset: + description: 将洞穴保护范围重置为世界默认值 + success: "&a将洞穴保护范围重置为&b [number]&a。" + register: + description: 注册玩家到您所在的无人洞 + registered-island: "&a注册玩家到[xyz]洞穴。" + already-owned: "&c洞穴已被另一位玩家拥有!" + no-island-here: "&c这里没有洞穴。确认做一个。" + in-deletion: "&c该洞穴空间当前正在被删除。等会再试。" + cannot-make-island: "&c抱歉,不能在此处放置洞穴。请参阅控制台以获取可能的错误。" + unregister: + description: 从山洞中注销所有者,但保留山洞块 + unregistered-island: "&a来自[xyz]洞穴的未注册玩家。" + info: + description: 获取有关您所在位置或玩家洞穴的信息 + no-island: "&c您现在不在山洞里..." + title: "==========洞穴信息============" + islands-in-trash: "&d玩家在垃圾桶中有洞穴。" + is-spawn: 岛是出生点 + switchto: + description: 将玩家的洞穴切换到垃圾桶中的第一洞 + out-of-range: "&c数字必须介于1到[number]之间。使用&l [label]垃圾[player]&r&c查看洞穴编号" + trash: + no-unowned-in-trash: "&c垃圾桶中没有无人认领的洞穴" + no-islands-in-trash: "&c玩家没有洞穴在垃圾桶中" + description: 在垃圾桶中显示无人洞穴或玩家的洞穴 + title: "&d ============垃圾洞===========" + count: "&l&d洞穴 [number]:" + use-switch: "&a使用&l [label]切换到 &r&a将玩家洞穴切换到垃圾桶" + emptytrash: + description: 清除玩家的垃圾桶,或垃圾桶中所有未拥有的洞穴 + setrange: + description: 设定玩家洞穴的范围 + range-updated: 洞穴范围更新为[数字] + tp: + description: 传送到玩家的洞穴 + getrank: + description: 在他们的洞穴中获得玩家的排名 + rank-is: "&aRank在他们的洞穴中[排名]。" + setrank: + description: 设定玩家在洞穴中的等级 + setspawn: + description: 为这个世界设置一个洞穴 + already-spawn: "&c这个洞穴已经是产卵了!" + no-island-here: "&c这里没有洞穴。" + confirmation: "&c您确定要将此洞穴设置为这个世界的生成物吗?" + resetflags: + description: 将所有洞穴重置为config.yml中的默认标志设置 + delete: + description: 删除玩家的洞穴 + cannot-delete-owner: "&c删除所有洞穴成员之前,必须将其踢出洞穴。" + deleted-island: "&e [xyz]&ahas中的&aIsland已成功删除。" + island: + go: + description: 传送你到你的洞穴 + teleport: "&a将您传送到山洞。" + help: + description: 主要洞穴命令 + create: + description: 使用可选的蓝图创建一个洞穴(需要许可) + too-many-islands: "&c这个世界上有太多的洞穴:没有足够的空间来创建您的洞穴。" + unable-create-island: "&c您的洞穴无法生成,请与管理员联系。" + creating-island: "&a创建您的洞穴,请稍等..." + pick: "&a选择一个山洞" + info: + description: 显示有关您的洞穴或玩家洞穴的信息 + near: + description: 显示您周围的洞穴名称 + the-following-islands: "&a附近有以下洞穴:" + no-neighbors: "&c您没有紧邻的洞穴!" + reset: + description: 重新启动您的洞穴并删除旧的 + must-remove-members: "&c您必须先从洞穴中删除所有成员,然后才能重新启动洞穴(/岛国队踢<player>)。" + sethome: + must-be-on-your-island: "&c您必须在洞穴里才能回家!" + home-set: "&6您的洞穴之家已设置为您当前的位置。" + setname: + description: 为你的洞穴命名 + resetname: + description: 重设您的洞穴名称 + team: + coop: + description: 让玩家在你的洞穴中进行排名 + uncoop: + you-are-no-longer-a-coop-member: "&c您不再是[name]的洞穴的鸡舍成员" + all-members-logged-off: "&c所有洞穴成员都已注销,因此您不再是[name]洞穴的合作伙伴" + trust: + description: 给玩家一个值得信赖的等级 + invite: + description: 邀请玩家加入你的洞穴 + name-has-invited-you: "&a [name]邀请您加入他们的洞穴。" + you-will-lose-your-island: "&c警告!如果您接受,您将迷路!" + errors: + island-is-full: "&c您的洞穴已满,您不能邀请其他任何人。" + accept: + you-joined-island: "&a您加入了一个山洞!使用/ [标签]小组信息来查看其他成员。" + name-joined-your-island: "&a [name]加入了您的洞穴!" + confirmation: |- + &c确定要接受此邀请吗? + &c&l您会&nLOSE&r&c&ly您当前的洞穴! + reject: + you-rejected-invite: "&a您拒绝了加入洞穴的邀请。" + name-rejected-your-invite: "&c [name]拒绝了您的洞穴邀请!" + cancel: + description: 取消待处理的邀请,加入你的洞穴 + leave: + description: 离开你的洞穴 + left-your-island: "&c [name]&cleft your cave" + kick: + description: 从您的洞穴中删除一个成员 + owner-kicked: "&c主人将您踢出山洞!" + success: "&b [name]&ahas被踢出您的山洞。" + demote: + description: 将您的玩家降级 + promote: + description: 提升您的玩家排名 + setowner: + description: 将您的洞穴所有权转让给成员 + errors: + target-is-not-member: 该球员不属于您的洞穴团队! + name-is-the-owner: "&a [name]现在是洞穴所有者!" + you-are-the-owner: "&a您现在是洞穴主人!" + ban: + description: 禁止玩家进入您的洞穴 + cannot-ban-more-players: "&c您已达到禁令限制,您不能再从您的洞穴禁赛。" + player-banned: "&b [name]&c现在被禁止进入您的洞穴。" + owner-banned-you: "&b [name]&c禁止您进入他们的洞穴!" + you-are-banned: "&b您被禁止进入这个洞穴!" + unban: + description: 禁止玩家进入您的洞穴 + player-unbanned: "&b [name]&a现在不受您的洞穴限制。" + you-are-unbanned: "&b [name]&a禁止您进入他们的洞穴!" + banlist: + noone: "&a没有人被禁止进入这个洞穴。" + settings: + description: 显示洞穴设置 + expel: + description: 将玩家驱逐出您的洞穴 + not-on-island: "&c那个玩家不在你的洞穴里!" + player-expelled-you: "&b [name]&c将您赶出了山洞!" + ranks: + owner: 矮人王 + sub-owner: 矮人骑士 + member: 侏儒 + trusted: 值得信赖 + coop: 鸡舍 + visitor: 人的 + banned: 兽人 + protection: + flags: + ENDERMAN_GRIEFING: + description: |- + &aEndermen可以删除 + &a洞穴 + name: 恩德曼悲痛 + ENTER_EXIT_MESSAGES: + island: "[名字]的洞穴" + GEO_LIMIT_MOBS: + description: |- + &a删除小怪 + &外部保护 + &占用空间 + name: "&e限制小怪进入山洞" + ISLAND_RESPAWN: + description: |- + &a玩家重生 + 和他们的洞穴 + name: 洞穴重生 + LIQUIDS_FLOWING_OUT: + name: 液体在洞穴外流动 + description: |- + &a切换液体是否可以流出 + &a洞穴的保护范围。 + LOCK: + description: 拨动锁 + name: 锁洞 + NATURAL_SPAWNING_OUTSIDE_RANGE: + name: 自然生物产生范围外 + description: |- + &a切换是否生物(动物和 + &amonsters)可以在外面自然产卵 + &aa洞穴的保护范围。 + + &c请注意,这不会阻止生物 + &cto通过暴民生成器或生成器生成 + &cegg。 + OFFLINE_GROWTH: + description: |- + &a禁用时,植物 + &a不会在洞穴中生长 + &awhen所有成员均处于离线状态。 + &a可以帮助减少延迟。 + name: 离线增长 + OFFLINE_REDSTONE: + description: |- + &a禁用时,红石 + &a不会在山洞中运作 + &a所有成员均处于离线状态。 + &a可以帮助减少延迟。 + name: 离线红石 + PISTON_PUSH: + description: |- + &a允许活塞推动 + &在洞穴外面 + name: 活塞推 + REMOVE_MOBS: + description: |- + &a移除怪物 + &前往洞穴 + name: 移除怪物 + TREES_GROWING_OUTSIDE_RANGE: + name: 树木生长范围外 + description: |- + &a切换树木是否可以在 + 是否使用&acave的保护范围。 + PREVENT_TELEPORT_WHEN_FALLING: + name: 跌倒时防止传送 + description: |- + &a防止玩家被传送 + 使用命令返回他们的洞穴 + &aif他们跌倒了。 + hint: "&c跌倒时无法传送回洞穴。" + locked: "&c这个洞穴被锁了!" + protected: "&cCave保护:[说明]" + spawn-protected: "&cSpawn受保护:[描述]" + panel: + PROTECTION: + description: |- + &a保护设置 + &a这个洞 + SETTING: + description: |- + &a常规设置 + &a这个洞 +protection: + flags: + SKY_WALKER_FLAG: + hint: 允许在洞穴顶上行走。 + name: 天空行者 + description: |- + &5&o这允许启用/禁用 + &5&o能力继续前进 + &5&otop洞穴世界 + &5&o没有额外的权限。 From 56782510fd79b3576bda83f89cc735dc1a48deca Mon Sep 17 00:00:00 2001 From: tastybento Date: Fri, 7 Feb 2020 18:47:27 -0800 Subject: [PATCH 3/7] Added caveblock.mod.bypassdelays perm. https://github.com/BentoBoxWorld/BentoBox/issues/1136 --- src/main/resources/addon.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 2a89eed..49e4f42 100644 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -71,6 +71,9 @@ permissions: caveblock.mod.bypasscooldowns: description: Allow moderator to bypass cooldowns default: op + caveblock.mod.bypassdelays: + description: Allow moderator to bypass delays + default: op caveblock.mod.bypassprotect: description: Allow moderator to bypass cave protection default: op From 2ce36de0bfa05c64ce4ac30e3a8ecadf58ac32a9 Mon Sep 17 00:00:00 2001 From: tastybento Date: Mon, 6 Apr 2020 17:04:20 -0700 Subject: [PATCH 4/7] Version 1.13.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 830ba18..ccf14cd 100644 --- a/pom.xml +++ b/pom.xml @@ -46,11 +46,11 @@ 1.8 1.15.1-R0.1-SNAPSHOT - 1.10.0 + 1.13.0-SNAPSHOT ${build.version}-SNAPSHOT - 1.10.0 + 1.13.0 -LOCAL From b52ceeb5ea9e1bcdef4e92baee60d3e62077920d Mon Sep 17 00:00:00 2001 From: tastybento Date: Mon, 6 Apr 2020 17:04:44 -0700 Subject: [PATCH 5/7] Add limits for coop and trusted to config.yml https://github.com/BentoBoxWorld/BentoBox/pull/1267 --- .../world/bentobox/caveblock/Settings.java | 40 +++++++++++++++++++ src/main/resources/config.yml | 10 +++++ 2 files changed, 50 insertions(+) diff --git a/src/main/java/world/bentobox/caveblock/Settings.java b/src/main/java/world/bentobox/caveblock/Settings.java index 6c9ba91..21f3db2 100644 --- a/src/main/java/world/bentobox/caveblock/Settings.java +++ b/src/main/java/world/bentobox/caveblock/Settings.java @@ -36,6 +36,21 @@ public class Settings implements WorldSettings // Section: Getters // --------------------------------------------------------------------- + /** + * @return the maxCoopSize + */ + @Override + public int getMaxCoopSize() { + return maxCoopSize; + } + + /** + * @return the maxTrustSize + */ + @Override + public int getMaxTrustSize() { + return maxTrustSize; + } /** * This method returns the friendlyName object. @@ -819,6 +834,19 @@ public class Settings implements WorldSettings // Section: Setters // --------------------------------------------------------------------- + /** + * @param maxCoopSize the maxCoopSize to set + */ + public void setMaxCoopSize(int maxCoopSize) { + this.maxCoopSize = maxCoopSize; + } + + /** + * @param maxTrustSize the maxTrustSize to set + */ + public void setMaxTrustSize(int maxTrustSize) { + this.maxTrustSize = maxTrustSize; + } /** * This method sets the friendlyName object value. @@ -2026,6 +2054,18 @@ public class Settings implements WorldSettings @ConfigEntry(path = "cave.max-team-size") private int maxTeamSize = 4; + @ConfigComment("Default maximum number of coop rank members per island") + @ConfigComment("Players can have the caveblock.coop.maxsize. permission to be bigger but") + @ConfigComment("permission size cannot be less than the default below. ") + @ConfigEntry(path = "island.max-coop-size", since = "1.13.0") + private int maxCoopSize = 4; + + @ConfigComment("Default maximum number of trusted rank members per island") + @ConfigComment("Players can have the caveblock.trust.maxsize. permission to be bigger but") + @ConfigComment("permission size cannot be less than the default below. ") + @ConfigEntry(path = "island.max-trusted-size", since = "1.13.0") + private int maxTrustSize = 4; + @ConfigComment("Default maximum number of homes a player can have. Min = 1") @ConfigComment("Accessed via /cave sethome or /cave go ") @ConfigEntry(path = "cave.max-homes") diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 920128c..e4e4e88 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -279,6 +279,16 @@ cave: # Default max team size # Permission size cannot be less than the default below. max-team-size: 4 + # Default maximum number of coop rank members per island + # Players can have the caveblock.coop.maxsize. permission to be bigger but + # permission size cannot be less than the default below. + # Added since 1.13.0. + max-coop-size: 4 + # Default maximum number of trusted rank members per island + # Players can have the caveblock.trust.maxsize. permission to be bigger but + # permission size cannot be less than the default below. + # Added since 1.13.0. + max-trusted-size: 4 # Default maximum number of homes a player can have. Min = 1 # Accessed via /cave sethome or /cave go max-homes: 1 From 053c181ecdb4e0e00f9820b3bf0e189a1a64c7a1 Mon Sep 17 00:00:00 2001 From: tastybento Date: Mon, 6 Apr 2020 17:05:28 -0700 Subject: [PATCH 6/7] Remove admin trash commands because they should not be needed. --- .../world/bentobox/caveblock/commands/AdminCommand.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java b/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java index 6ca6583..bac601b 100644 --- a/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java +++ b/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java @@ -5,7 +5,6 @@ import java.util.List; import world.bentobox.bentobox.api.commands.CompositeCommand; import world.bentobox.bentobox.api.commands.admin.AdminDeleteCommand; -import world.bentobox.bentobox.api.commands.admin.AdminEmptyTrashCommand; import world.bentobox.bentobox.api.commands.admin.AdminGetrankCommand; import world.bentobox.bentobox.api.commands.admin.AdminInfoCommand; import world.bentobox.bentobox.api.commands.admin.AdminRegisterCommand; @@ -15,9 +14,7 @@ import world.bentobox.bentobox.api.commands.admin.AdminSetrankCommand; import world.bentobox.bentobox.api.commands.admin.AdminSetspawnCommand; import world.bentobox.bentobox.api.commands.admin.AdminSettingsCommand; import world.bentobox.bentobox.api.commands.admin.AdminSwitchCommand; -import world.bentobox.bentobox.api.commands.admin.AdminSwitchtoCommand; import world.bentobox.bentobox.api.commands.admin.AdminTeleportCommand; -import world.bentobox.bentobox.api.commands.admin.AdminTrashCommand; import world.bentobox.bentobox.api.commands.admin.AdminUnregisterCommand; import world.bentobox.bentobox.api.commands.admin.AdminVersionCommand; import world.bentobox.bentobox.api.commands.admin.AdminWhyCommand; @@ -83,9 +80,9 @@ public class AdminCommand extends CompositeCommand { // Reset flags new AdminResetFlagsCommand(this); // Trash - new AdminTrashCommand(this); - new AdminEmptyTrashCommand(this); - new AdminSwitchtoCommand(this); + //new AdminTrashCommand(this); + //new AdminEmptyTrashCommand(this); + //new AdminSwitchtoCommand(this); // Switch new AdminSwitchCommand(this); From f2a060afee5748d7942e3b482d0762deafb96ddd Mon Sep 17 00:00:00 2001 From: BONNe Date: Fri, 1 May 2020 23:29:02 +0300 Subject: [PATCH 7/7] Update to BentoBox 1.13.0 release. Changes: - Use general player and admin command. Adding new commands will require whole addon update. - Add default-action, new-player-action, block-mobs config options. - Rename link for max-trusted-size and max-coop-size from island to cave. --- pom.xml | 4 +- .../world/bentobox/caveblock/CaveBlock.java | 19 ++- .../world/bentobox/caveblock/Settings.java | 119 ++++++++++++++---- .../caveblock/commands/AdminCommand.java | 105 ---------------- .../commands/IslandAboutCommand.java | 2 +- .../caveblock/commands/IslandCommand.java | 75 ----------- src/main/resources/addon.yml | 33 ++++- src/main/resources/config.yml | 53 +++++--- 8 files changed, 185 insertions(+), 225 deletions(-) delete mode 100644 src/main/java/world/bentobox/caveblock/commands/AdminCommand.java delete mode 100644 src/main/java/world/bentobox/caveblock/commands/IslandCommand.java diff --git a/pom.xml b/pom.xml index ccf14cd..850e134 100644 --- a/pom.xml +++ b/pom.xml @@ -45,8 +45,8 @@ UTF-8 1.8 - 1.15.1-R0.1-SNAPSHOT - 1.13.0-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT + 1.13.0 ${build.version}-SNAPSHOT diff --git a/src/main/java/world/bentobox/caveblock/CaveBlock.java b/src/main/java/world/bentobox/caveblock/CaveBlock.java index b952f9e..4c553eb 100644 --- a/src/main/java/world/bentobox/caveblock/CaveBlock.java +++ b/src/main/java/world/bentobox/caveblock/CaveBlock.java @@ -9,11 +9,12 @@ import org.bukkit.generator.ChunkGenerator; import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.api.addons.GameModeAddon; +import world.bentobox.bentobox.api.commands.admin.DefaultAdminCommand; +import world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand; import world.bentobox.bentobox.api.configuration.Config; import world.bentobox.bentobox.api.configuration.WorldSettings; import world.bentobox.bentobox.api.flags.Flag; -import world.bentobox.caveblock.commands.AdminCommand; -import world.bentobox.caveblock.commands.IslandCommand; +import world.bentobox.caveblock.commands.IslandAboutCommand; import world.bentobox.caveblock.generators.ChunkGeneratorWorld; import world.bentobox.caveblock.listeners.CustomHeightLimitations; @@ -35,9 +36,19 @@ public class CaveBlock extends GameModeAddon this.chunkGenerator = new ChunkGeneratorWorld(this); - this.playerCommand = new IslandCommand(this); - this.adminCommand = new AdminCommand(this); + // Player Command + this.playerCommand = new DefaultPlayerCommand(this) + { + @Override + public void setup() + { + super.setup(); + new IslandAboutCommand(this); + } + }; + // Admin command. + this.adminCommand = new DefaultAdminCommand(this) {}; } diff --git a/src/main/java/world/bentobox/caveblock/Settings.java b/src/main/java/world/bentobox/caveblock/Settings.java index 21f3db2..a52a1bf 100644 --- a/src/main/java/world/bentobox/caveblock/Settings.java +++ b/src/main/java/world/bentobox/caveblock/Settings.java @@ -811,22 +811,50 @@ public class Settings implements WorldSettings /** - * This method returns the islandCommand value. - * @return the value of islandCommand. + * {@inheritDoc} */ - public String getIslandCommand() + @Override + public List getMobLimitSettings() { - return islandCommand; + return mobLimitSettings; } /** - * This method returns the adminCommand value. - * @return the value of adminCommand. + * {@inheritDoc} */ - public String getAdminCommand() + public String getPlayerCommandAliases() { - return adminCommand; + return playerCommandAliases; + } + + + /** + * {@inheritDoc} + */ + public String getAdminCommandAliases() + { + return adminCommandAliases; + } + + + /** + * {@inheritDoc} + */ + @Override + public String getDefaultPlayerAction() + { + return defaultPlayerAction; + } + + + /** + * {@inheritDoc} + */ + @Override + public String getDefaultNewPlayerAction() + { + return defaultNewPlayerAction; } @@ -1601,24 +1629,24 @@ public class Settings implements WorldSettings /** - * This method sets the islandCommand value. - * @param islandCommand the islandCommand new value. + * This method sets the playerCommandAliases value. + * @param playerCommandAliases the playerCommandAliases new value. * */ - public void setIslandCommand(String islandCommand) + public void setPlayerCommandAliases(String playerCommandAliases) { - this.islandCommand = islandCommand; + this.playerCommandAliases = playerCommandAliases; } /** - * This method sets the adminCommand value. - * @param adminCommand the adminCommand new value. + * This method sets the adminCommandAliases value. + * @param adminCommandAliases the adminCommandAliases new value. * */ - public void setAdminCommand(String adminCommand) + public void setAdminCommandAliases(String adminCommandAliases) { - this.adminCommand = adminCommand; + this.adminCommandAliases = adminCommandAliases; } /** @@ -1802,6 +1830,36 @@ public class Settings implements WorldSettings } + /** + * Method Settings#setDefaultPlayerAction sets new value for the defaultPlayerAction of this object. + * @param defaultPlayerAction new value for this object. + */ + public void setDefaultPlayerAction(String defaultPlayerAction) + { + this.defaultPlayerAction = defaultPlayerAction; + } + + + /** + * Method Settings#setDefaultNewPlayerAction sets new value for the defaultNewPlayerAction of this object. + * @param defaultNewPlayerAction new value for this object. + */ + public void setDefaultNewPlayerAction(String defaultNewPlayerAction) + { + this.defaultNewPlayerAction = defaultNewPlayerAction; + } + + + /** + * Method Settings#setMobLimitSettings sets new value for the mobLimitSettings of this object. + * @param mobLimitSettings new value for this object. + */ + public void setMobLimitSettings(List mobLimitSettings) + { + this.mobLimitSettings = mobLimitSettings; + } + + // --------------------------------------------------------------------- // Section: Variables // --------------------------------------------------------------------- @@ -1810,12 +1868,24 @@ public class Settings implements WorldSettings @ConfigComment("Cave Command. What command users will run to access their cave.") @ConfigComment("To define alias, just separate commands with white space.") @ConfigEntry(path = "caveblock.command.cave") - private String islandCommand = "cave cb"; + private String playerCommandAliases = "cave cb"; @ConfigComment("The Cave admin command.") @ConfigComment("To define alias, just separate commands with white space.") @ConfigEntry(path = "caveblock.command.admin") - private String adminCommand = "cbadmin cba"; + private String adminCommandAliases = "cbadmin cba"; + + @ConfigComment("The default action for new player command call.") + @ConfigComment("Sub-command of main player command that will be run on first player command call.") + @ConfigComment("By default it is sub-command 'create'.") + @ConfigEntry(path = "caveblock.command.new-player-action", since = "1.13.0") + private String defaultNewPlayerAction = "create"; + + @ConfigComment("The default action for player command.") + @ConfigComment("Sub-command of main player command that will be run on each player command call.") + @ConfigComment("By default it is sub-command 'go'.") + @ConfigEntry(path = "caveblock.command.default-action", since = "1.13.0") + private String defaultPlayerAction = "go"; /* WORLD */ @ConfigComment("Friendly name for this world. Used in admin commands. Must be a single word") @@ -2054,16 +2124,16 @@ public class Settings implements WorldSettings @ConfigEntry(path = "cave.max-team-size") private int maxTeamSize = 4; - @ConfigComment("Default maximum number of coop rank members per island") + @ConfigComment("Default maximum number of coop rank members per cave") @ConfigComment("Players can have the caveblock.coop.maxsize. permission to be bigger but") @ConfigComment("permission size cannot be less than the default below. ") - @ConfigEntry(path = "island.max-coop-size", since = "1.13.0") + @ConfigEntry(path = "cave.max-coop-size", since = "1.13.0") private int maxCoopSize = 4; - @ConfigComment("Default maximum number of trusted rank members per island") + @ConfigComment("Default maximum number of trusted rank members per cave") @ConfigComment("Players can have the caveblock.trust.maxsize. permission to be bigger but") @ConfigComment("permission size cannot be less than the default below. ") - @ConfigEntry(path = "island.max-trusted-size", since = "1.13.0") + @ConfigEntry(path = "cave.max-trusted-size", since = "1.13.0") private int maxTrustSize = 4; @ConfigComment("Default maximum number of homes a player can have. Min = 1") @@ -2245,6 +2315,11 @@ public class Settings implements WorldSettings @ConfigEntry(path = "protection.geo-limit-settings") private List geoLimitSettings = new ArrayList<>(); + @ConfigComment("CaveBlock blocked mobs.") + @ConfigComment("List of mobs that should not spawn in the CaveBlock.") + @ConfigEntry(path = "protection.block-mobs", since = "1.13.0") + private List mobLimitSettings = new ArrayList<>(); + // Invincible visitor settings @ConfigComment("Invincible visitors. List of damages that will not affect visitors.") @ConfigComment("Make list blank if visitors should receive all damages") diff --git a/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java b/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java deleted file mode 100644 index bac601b..0000000 --- a/src/main/java/world/bentobox/caveblock/commands/AdminCommand.java +++ /dev/null @@ -1,105 +0,0 @@ -package world.bentobox.caveblock.commands; - - -import java.util.List; - -import world.bentobox.bentobox.api.commands.CompositeCommand; -import world.bentobox.bentobox.api.commands.admin.AdminDeleteCommand; -import world.bentobox.bentobox.api.commands.admin.AdminGetrankCommand; -import world.bentobox.bentobox.api.commands.admin.AdminInfoCommand; -import world.bentobox.bentobox.api.commands.admin.AdminRegisterCommand; -import world.bentobox.bentobox.api.commands.admin.AdminReloadCommand; -import world.bentobox.bentobox.api.commands.admin.AdminResetFlagsCommand; -import world.bentobox.bentobox.api.commands.admin.AdminSetrankCommand; -import world.bentobox.bentobox.api.commands.admin.AdminSetspawnCommand; -import world.bentobox.bentobox.api.commands.admin.AdminSettingsCommand; -import world.bentobox.bentobox.api.commands.admin.AdminSwitchCommand; -import world.bentobox.bentobox.api.commands.admin.AdminTeleportCommand; -import world.bentobox.bentobox.api.commands.admin.AdminUnregisterCommand; -import world.bentobox.bentobox.api.commands.admin.AdminVersionCommand; -import world.bentobox.bentobox.api.commands.admin.AdminWhyCommand; -import world.bentobox.bentobox.api.commands.admin.blueprints.AdminBlueprintCommand; -import world.bentobox.bentobox.api.commands.admin.deaths.AdminDeathsCommand; -import world.bentobox.bentobox.api.commands.admin.purge.AdminPurgeCommand; -import world.bentobox.bentobox.api.commands.admin.range.AdminRangeCommand; -import world.bentobox.bentobox.api.commands.admin.resets.AdminResetsResetCommand; -import world.bentobox.bentobox.api.commands.admin.team.AdminTeamAddCommand; -import world.bentobox.bentobox.api.commands.admin.team.AdminTeamDisbandCommand; -import world.bentobox.bentobox.api.commands.admin.team.AdminTeamKickCommand; -import world.bentobox.bentobox.api.commands.admin.team.AdminTeamSetownerCommand; -import world.bentobox.bentobox.api.localization.TextVariables; -import world.bentobox.bentobox.api.user.User; -import world.bentobox.caveblock.CaveBlock; - - -public class AdminCommand extends CompositeCommand { - - public AdminCommand(CaveBlock addon) { - super(addon, - addon.getSettings().getAdminCommand().split(" ")[0], - addon.getSettings().getAdminCommand().split(" ")); - } - - @Override - public void setup() { - setPermission("admin.*"); - setOnlyPlayer(false); - setParametersHelp("commands.admin.help.parameters"); - setDescription("commands.admin.help.description"); - new AdminVersionCommand(this); - new AdminTeleportCommand(this, "tp"); - new AdminTeleportCommand(this, "tpnether"); - new AdminTeleportCommand(this, "tpend"); - new AdminGetrankCommand(this); - new AdminSetrankCommand(this); - new AdminInfoCommand(this); - // Team commands - new AdminTeamAddCommand(this); - new AdminTeamKickCommand(this); - new AdminTeamDisbandCommand(this); - new AdminTeamSetownerCommand(this); - // Schems - new AdminBlueprintCommand(this); - // Register/unregister islands - new AdminRegisterCommand(this); - new AdminUnregisterCommand(this); - // Range - new AdminRangeCommand(this); - // Resets - new AdminResetsResetCommand(this); - // Delete - new AdminDeleteCommand(this); - // Why - new AdminWhyCommand(this); - // Deaths - new AdminDeathsCommand(this); - // Reload - new AdminReloadCommand(this); - // Spawn - new AdminSetspawnCommand(this); - // Reset flags - new AdminResetFlagsCommand(this); - // Trash - //new AdminTrashCommand(this); - //new AdminEmptyTrashCommand(this); - //new AdminSwitchtoCommand(this); - - // Switch - new AdminSwitchCommand(this); - // Purge - new AdminPurgeCommand(this); - // Settings - new AdminSettingsCommand(this); - } - - @Override - public boolean execute(User user, String label, List args) { - if (!args.isEmpty()) { - user.sendMessage("general.errors.unknown-command", TextVariables.LABEL, getTopLabel()); - return false; - } - // By default run the attached help command, if it exists (it should) - return showHelp(this, user); - } - -} diff --git a/src/main/java/world/bentobox/caveblock/commands/IslandAboutCommand.java b/src/main/java/world/bentobox/caveblock/commands/IslandAboutCommand.java index 91f7442..25f7ea9 100644 --- a/src/main/java/world/bentobox/caveblock/commands/IslandAboutCommand.java +++ b/src/main/java/world/bentobox/caveblock/commands/IslandAboutCommand.java @@ -24,7 +24,7 @@ public class IslandAboutCommand extends CompositeCommand { @Override public boolean execute(User user, String label, List args) { user.sendRawMessage("About " + getAddon().getDescription().getName() + " " + getAddon().getDescription().getVersion() + ":"); - user.sendRawMessage("Copyright (c) 2019 BONNe"); + user.sendRawMessage("Copyright (c) 2020 BONNe"); user.sendRawMessage("See https://www.eclipse.org/legal/epl-2.0/"); user.sendRawMessage("for license information."); return true; diff --git a/src/main/java/world/bentobox/caveblock/commands/IslandCommand.java b/src/main/java/world/bentobox/caveblock/commands/IslandCommand.java deleted file mode 100644 index 6e88365..0000000 --- a/src/main/java/world/bentobox/caveblock/commands/IslandCommand.java +++ /dev/null @@ -1,75 +0,0 @@ -package world.bentobox.caveblock.commands; - - -import java.util.ArrayList; -import java.util.List; - -import world.bentobox.bentobox.api.commands.CompositeCommand; -import world.bentobox.bentobox.api.commands.island.*; -import world.bentobox.bentobox.api.commands.island.team.IslandTeamCommand; -import world.bentobox.bentobox.api.localization.TextVariables; -import world.bentobox.bentobox.api.user.User; -import world.bentobox.caveblock.CaveBlock; - - -public class IslandCommand extends CompositeCommand { - - public IslandCommand(CaveBlock addon) { - super(addon, - addon.getSettings().getIslandCommand().split(" ")[0], - addon.getSettings().getIslandCommand().split(" ")); - } - - /* (non-Javadoc) - * @see us.tastybento.bskyblock.api.commands.CompositeCommand#setup() - */ - @Override - public void setup() { - setDescription("commands.island.help.description"); - setOnlyPlayer(true); - // Permission - setPermission("island"); - // Set up subcommands - new IslandAboutCommand(this); - new IslandInfoCommand(this); - new IslandCreateCommand(this); - new IslandGoCommand(this); - new IslandSpawnCommand(this); - new IslandResetCommand(this); - new IslandSetnameCommand(this); - new IslandResetnameCommand(this); - new IslandSethomeCommand(this); - new IslandSettingsCommand(this); - new IslandLanguageCommand(this); - new IslandBanCommand(this); - new IslandUnbanCommand(this); - new IslandBanlistCommand(this); - new IslandNearCommand(this); - - // Expel command - new IslandExpelCommand(this); - - // Team commands - new IslandTeamCommand(this); - } - - /* (non-Javadoc) - * @see us.tastybento.bskyblock.api.commands.CommandArgument#execute(org.bukkit.command.CommandSender, java.lang.String[]) - */ - @Override - public boolean execute(User user, String label, List args) { - if (user == null) { - return false; - } - if (args.isEmpty()) { - // If user has an island, go - if (getPlugin().getIslands().getIsland(getWorld(), user.getUniqueId()) != null) { - return getSubCommand("go").map(goCmd -> goCmd.call(user, goCmd.getLabel(), new ArrayList<>())).orElse(false); - } - // No islands currently - return getSubCommand("create").map(createCmd -> createCmd.call(user, createCmd.getLabel(), new ArrayList<>())).orElse(false); - } - user.sendMessage("general.errors.unknown-command", TextVariables.LABEL, getTopLabel()); - return false; - } -} diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 49e4f42..0efbc91 100644 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,6 +1,7 @@ name: CaveBlock main: world.bentobox.caveblock.CaveBlock version: ${version}${build.number} +api-version: 1.13.0 metrics: true repository: "BentoBoxWorld/CaveBlock" icon: "STONE_PICKAXE" @@ -17,6 +18,9 @@ permissions: caveblock.island.home: description: Allow teleporting to player cave default: true + caveblock.island.sethome: + description: Let the player use the sethome command + default: true caveblock.island.info: description: Let the player check other players info default: true @@ -48,7 +52,25 @@ permissions: description: Player can use the cave reset or restart command default: true caveblock.island.team: - description: Let a player use team commands + description: Let a player use team command + default: true + caveblock.island.team.setowner: + description: Let a player change the team owner + default: true + caveblock.island.team.invite: + description: Let a player invite others + default: true + caveblock.island.team.reject: + description: Let a player reject invites + default: true + caveblock.island.team.leave: + description: Let a player leave the team + default: true + caveblock.island.team.kick: + description: Let a player kick team members + default: true + caveblock.island.team.accept: + description: Let a player accept invitations default: true caveblock.island.team.trust: description: Let a player use team trust commands @@ -116,6 +138,9 @@ permissions: caveblock.admin.setspawn: description: Allows use of spawn tools default: op + caveblock.admin.setspawnpoint: + description: Allows to set spawn point of cave + default: op caveblock.admin.setrange: description: Allows setting of cave protection range default: op @@ -131,3 +156,9 @@ permissions: caveblock.admin.setlanguage: description: Resets all player languages and sets the default language default: op + caveblock.admin.getrank: + description: Get a player's rank + default: op + caveblock.admin.setrank: + description: Set a player's rank + default: op diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index e4e4e88..611f45f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,4 @@ -# CaveBlock Configuration ${version} +# CaveBlock Configuration 1.13.0 caveblock: command: # Cave Command. What command users will run to access their cave. @@ -7,6 +7,16 @@ caveblock: # The Cave admin command. # To define alias, just separate commands with white space. admin: cbadmin cba + # The default action for new player command call. + # Sub-command of main player command that will be run on first player command call. + # By default it is sub-command 'create'. + # Added since 1.13.0. + new-player-action: create + # The default action for player command. + # Sub-command of main player command that will be run on each player command call. + # By default it is sub-command 'go'. + # Added since 1.13.0. + default-action: go world: # Friendly name for this world. Used in admin commands. Must be a single word friendly-name: CaveBlock @@ -57,7 +67,7 @@ world: # -1 = unlimited ban-limit: -1 # - # This is cave... no height... only depth. Max 256. + # This is cave.. no height... only depth. Max 256. # Should not be less then cave height. # /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds. world-depth: 256 @@ -176,10 +186,10 @@ world: - MATERIAL:CHORUS_PLANT:1:3 # Mob white list - these mobs will NOT be removed when logging in or doing /cave remove-mobs-whitelist: - - ZOMBIE_VILLAGER - WITHER - ENDERMAN - PIG_ZOMBIE + - ZOMBIE_VILLAGER # World flags. These are boolean settings for various flags for this world flags: CREEPER_DAMAGE: true @@ -191,6 +201,7 @@ world: CLEAN_SUPER_FLAT: false CHEST_DAMAGE: false PREVENT_TELEPORT_WHEN_FALLING: false + NATURAL_SPAWNING_OUTSIDE_RANGE: true ENTER_EXIT_MESSAGES: true ENDERMAN_DEATH_DROP: true OFFLINE_REDSTONE: true @@ -198,8 +209,14 @@ world: ENDER_CHEST: false ITEM_FRAME_DAMAGE: false # These are the default protection settings for new caves. - # The value is the minimum cave rank required allowed to do the action - # Ranks are: Visitor = 0, Member = 900, Owner = 1000 + # The value is the minimum cave rank required allowed to do the action. + # Ranks are the following: + # VISITOR = 0 + # COOP = 200 + # TRUSTED = 400 + # MEMBER = 500 + # SUB-OWNER = 900 + # OWNER = 1000 default-cave-flags: HURT_ANIMALS: 500 REDSTONE: 500 @@ -213,21 +230,21 @@ world: END_PORTAL: 500 BREEDING: 500 HURT_VILLAGERS: 500 - FROST_WALKER: 500 TURTLE_EGGS: 500 + FROST_WALKER: 500 COLLECT_LAVA: 500 LEVER: 500 RIDING: 500 HURT_MONSTERS: 0 - NAME_TAG: 500 ARMOR_STAND: 500 + NAME_TAG: 500 TRADING: 0 EGGS: 500 ITEM_DROP: 0 NOTE_BLOCK: 0 NETHER_PORTAL: 500 - ITEM_PICKUP: 0 CROP_TRAMPLE: 500 + ITEM_PICKUP: 0 DROPPER: 500 BREWING: 500 COLLECT_WATER: 500 @@ -239,10 +256,10 @@ world: PLACE_BLOCKS: 500 ITEM_FRAME: 500 CRAFTING: 0 - ENCHANTING: 0 SHEARING: 500 - SPAWN_EGGS: 500 + ENCHANTING: 0 BED: 500 + SPAWN_EGGS: 500 MILKING: 0 DISPENSER: 500 GATE: 0 @@ -279,12 +296,12 @@ cave: # Default max team size # Permission size cannot be less than the default below. max-team-size: 4 - # Default maximum number of coop rank members per island + # Default maximum number of coop rank members per cave # Players can have the caveblock.coop.maxsize. permission to be bigger but # permission size cannot be less than the default below. # Added since 1.13.0. max-coop-size: 4 - # Default maximum number of trusted rank members per island + # Default maximum number of trusted rank members per cave # Players can have the caveblock.trust.maxsize. permission to be bigger but # permission size cannot be less than the default below. # Added since 1.13.0. @@ -307,7 +324,7 @@ cave: # Overrides the on-leave inventory reset for kicked players. kicked-keep-inventory: false on-join: - # What the addon should reset when the player joins or creates a cave + # What the plugin should reset when the player joins or creates a cave # Reset Money - if this is true, will reset the player's money to the starting money # Recommendation is that this is set to true, but if you run multi-worlds # make sure your economy handles multi-worlds too. @@ -345,7 +362,7 @@ cave: create-cave-on-first-login: # Toggles the automatic cave creation upon the player's first login on your server. # If set to true, - # * Upon connecting to your server for the first time, the player will be told that + # * Upon connecting to your server for the first time, the player will be told that # a cave will be created for him. # * Make sure you have a Blueprint Bundle called "default": this is the one that will # be used to create the cave. @@ -376,16 +393,18 @@ cave: abort-on-logout: true # Toggles whether the player should be teleported automatically to his cave when it is created. # If set to false, the player will be told his cave is ready but will have to teleport to his cave using the command. + # Added since 1.10.0. teleport-player-to-cave-when-created: true # Create Nether or End cave if they are missing when a player goes through a portal. # Nether and End cave are usually pasted when a player makes their cave, but if they are # missing for some reason, you can switch this on. # Note that bedrock removal glitches can exploit this option. + # Added since 1.10.0. create-missing-nether-end-caves: false commands: # List of commands to run when a player joins. on-join: [] - # List of commands to run when a player leaves. + # list of commands to run when a player leaves. on-leave: [] sethome: nether: @@ -410,6 +429,10 @@ protection: - GHAST - BAT - BLAZE + # CaveBlock blocked mobs. + # List of mobs that should not spawn in the CaveBlock. + # Added since 1.13.0. + block-mobs: [] # Invincible visitors. List of damages that will not affect visitors. # Make list blank if visitors should receive all damages invincible-visitors: