Unregister coded.

This commit is contained in:
tastybento 2024-02-19 10:55:15 -08:00
parent b43197d54f
commit af843aeb35
28 changed files with 133 additions and 44 deletions

View File

@ -2,8 +2,12 @@ package world.bentobox.bentobox.api.commands.admin;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
import org.eclipse.jdt.annotation.Nullable;
import world.bentobox.bentobox.api.commands.CompositeCommand; import world.bentobox.bentobox.api.commands.CompositeCommand;
import world.bentobox.bentobox.api.commands.ConfirmableCommand; import world.bentobox.bentobox.api.commands.ConfirmableCommand;
@ -16,6 +20,9 @@ import world.bentobox.bentobox.util.Util;
public class AdminUnregisterCommand extends ConfirmableCommand { public class AdminUnregisterCommand extends ConfirmableCommand {
private Island targetIsland;
private @Nullable UUID targetUUID;
public AdminUnregisterCommand(CompositeCommand parent) { public AdminUnregisterCommand(CompositeCommand parent) {
super(parent, "unregister"); super(parent, "unregister");
} }
@ -30,12 +37,12 @@ public class AdminUnregisterCommand extends ConfirmableCommand {
@Override @Override
public boolean canExecute(User user, String label, List<String> args) { public boolean canExecute(User user, String label, List<String> args) {
// If args are not right, show help // If args are not right, show help
if (args.size() != 1) { if (args.isEmpty()) {
showHelp(this, user); showHelp(this, user);
return false; return false;
} }
// Get target // Get target
UUID targetUUID = Util.getUUID(args.get(0)); targetUUID = Util.getUUID(args.get(0));
if (targetUUID == null) { if (targetUUID == null) {
user.sendMessage("general.errors.unknown-player", TextVariables.NAME, args.get(0)); user.sendMessage("general.errors.unknown-player", TextVariables.NAME, args.get(0));
return false; return false;
@ -44,43 +51,61 @@ public class AdminUnregisterCommand extends ConfirmableCommand {
user.sendMessage("general.errors.player-has-no-island"); user.sendMessage("general.errors.player-has-no-island");
return false; return false;
} }
// Check if the player has more than one island
Map<String, Island> islands = getIslandsXYZ(targetUUID);
if (islands.size() == 0) {
user.sendMessage("general.errors.player-has-no-island");
return false;
} else if (args.size() == 1) {
// They need to specify which island
user.sendMessage("commands.admin.unregister.errors.player-has-more-than-one-island");
user.sendMessage("commands.admin.unregister.errors.specify-island-location");
return false;
} else if (args.size() != 2) {
// Check if the name given works
user.sendMessage("commands.admin.unregister.errors.specify-island-location");
return false;
} else if (!islands.containsKey(args.get(1))) {
user.sendMessage("commands.admin.unregister.errors.unknown-island-location");
return false;
}
targetIsland = islands.get(args.get(1));
return true; return true;
} }
@Override @Override
public boolean execute(User user, String label, List<String> args) { public boolean execute(User user, String label, List<String> args) {
// Get target if (targetIsland == null || targetUUID == null) {
UUID targetUUID = getPlayers().getUUID(args.get(0)); return true;
}
// Everything's fine, we can set the island as spawn :) // Everything's fine, we can set the island as spawn :)
askConfirmation(user, () -> unregisterPlayer(user, args.get(0), targetUUID)); askConfirmation(user, () -> unregisterIsland(user));
return true; return true;
} }
void unregisterPlayer(User user, String targetName, UUID targetUUID) { void unregisterIsland(User user) {
// Unregister island // Unregister island
Island oldIsland = getIslands().getIsland(getWorld(), targetUUID);
if (oldIsland == null) return;
IslandEvent.builder() IslandEvent.builder()
.island(oldIsland) .island(targetIsland)
.location(oldIsland.getCenter()) .location(targetIsland.getCenter())
.reason(IslandEvent.Reason.UNREGISTERED) .reason(IslandEvent.Reason.UNREGISTERED)
.involvedPlayer(targetUUID) .involvedPlayer(targetUUID)
.admin(true) .admin(true)
.build(); .build();
IslandEvent.builder() IslandEvent.builder()
.island(oldIsland) .island(targetIsland)
.involvedPlayer(targetUUID) .involvedPlayer(targetUUID)
.admin(true) .admin(true)
.reason(IslandEvent.Reason.RANK_CHANGE) .reason(IslandEvent.Reason.RANK_CHANGE)
.rankChange(RanksManager.OWNER_RANK, RanksManager.VISITOR_RANK) .rankChange(RanksManager.OWNER_RANK, RanksManager.VISITOR_RANK)
.build(); .build();
// Remove all island members // Remove all island members
oldIsland.getMemberSet().forEach(m -> getIslands().removePlayer(getWorld(), m)); targetIsland.getMemberSet().forEach(m -> getIslands().removePlayer(targetIsland, m));
// Remove all island players that reference this island // Remove all island players that reference this island
oldIsland.getMembers().clear(); targetIsland.getMembers().clear();
getIslands().save(oldIsland); getIslands().save(targetIsland);
user.sendMessage("commands.admin.unregister.unregistered-island", TextVariables.XYZ, Util.xyz(oldIsland.getCenter().toVector()), user.sendMessage("commands.admin.unregister.unregistered-island", TextVariables.XYZ, Util.xyz(targetIsland.getCenter().toVector()),
TextVariables.NAME, targetName); TextVariables.NAME, getPlayers().getName(targetUUID));
} }
@Override @Override
@ -89,8 +114,22 @@ public class AdminUnregisterCommand extends ConfirmableCommand {
if (args.isEmpty()) { if (args.isEmpty()) {
// Don't show every player on the server. Require at least the first letter // Don't show every player on the server. Require at least the first letter
return Optional.empty(); return Optional.empty();
} else if (args.size() == 2) {
List<String> options = new ArrayList<>(Util.getOnlinePlayerList(user));
return Optional.of(Util.tabLimit(options, lastArg));
} else {
// Find out which user
UUID uuid = getPlayers().getUUID(args.get(1));
if (uuid != null) {
return Optional.of(Util.tabLimit(new ArrayList<>(getIslandsXYZ(uuid).keySet()), lastArg));
}
} }
List<String> options = new ArrayList<>(Util.getOnlinePlayerList(user)); return Optional.empty();
return Optional.of(Util.tabLimit(options, lastArg));
} }
private Map<String, Island> getIslandsXYZ(UUID target) {
return getIslands().getOwnedIslands(getWorld(), target).stream()
.collect(Collectors.toMap(island -> Util.xyz(island.getCenter().toVector()), island -> island));
}
} }

View File

@ -36,6 +36,9 @@ import world.bentobox.bentobox.util.Util;
*/ */
public class BlueprintPaster { public class BlueprintPaster {
/**
* This tracks the stages of pasting from loading the chunk, pasting blocks, attachments, entities and then finishing.
*/
enum PasteState { enum PasteState {
CHUNK_LOAD, CHUNK_LOAD,
CHUNK_LOADING, CHUNK_LOADING,

View File

@ -12,6 +12,7 @@ import org.bukkit.inventory.ItemStack;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
/** /**
* Represents a block to be pasted
* @author tastybento * @author tastybento
* @since 1.5.0 * @since 1.5.0
*/ */
@ -19,8 +20,14 @@ public class BlueprintBlock {
@Expose @Expose
private String blockData; private String blockData;
/**
* Front of sign
*/
@Expose @Expose
private List<String> signLines; private List<String> signLines;
/**
* Back of sign
*/
@Expose @Expose
private List<String> signLines2; private List<String> signLines2;
@Expose @Expose
@ -37,8 +44,14 @@ public class BlueprintBlock {
*/ */
@Expose @Expose
private List<Pattern> bannerPatterns; private List<Pattern> bannerPatterns;
/**
* Front of sign
*/
@Expose @Expose
private boolean glowingText; private boolean glowingText;
/**
* Back of sign
*/
@Expose @Expose
private boolean glowingText2; private boolean glowingText2;

View File

@ -326,11 +326,10 @@ public class IslandsManager {
} }
/** /**
* Gets all the islands for this player in this world. If they are in a team, * Gets all the islands for this player in this world including team islands.
* the team island is returned.
* *
* @param world world to check * @param world world to check
* @param uniqueId user's uuid * @param uniqueId user's UUID
* @return List of islands or empty list if none found for user * @return List of islands or empty list if none found for user
*/ */
@NonNull @NonNull
@ -338,6 +337,36 @@ public class IslandsManager {
return islandCache.getIslands(world, uniqueId); return islandCache.getIslands(world, uniqueId);
} }
/**
* Gets all the islands for this player in this world that this player owns.
*
* @param world world to check
* @param uniqueId user's UUID
* @return List of islands or empty list if none found for user
* @since 2.1.0
*/
@NonNull
public Set<Island> getOwnedIslands(@NonNull World world, @NonNull User user) {
if (user.getUniqueId() == null) {
return Collections.emptySet();
}
return getOwnedIslands(world, user.getUniqueId());
}
/**
* Gets all the islands for this player in this world that this player owns.
*
* @param world world to check
* @param uniqueId user's UUID
* @return List of islands or empty list if none found for user
* @since 2.1.0
*/
@NonNull
public Set<Island> getOwnedIslands(@NonNull World world, @NonNull UUID uniqueId) {
return islandCache.getIslands(world, uniqueId).stream().filter(island -> uniqueId.equals(island.getOwner()))
.collect(Collectors.toSet());
}
/** /**
* Gets the active island for this player. If they are in a team, the team * Gets the active island for this player. If they are in a team, the team
* island is returned. User may have more than one island. Returns the island * island is returned. User may have more than one island. Returns the island

View File

@ -171,6 +171,7 @@ public class PlaceholdersManager {
} }
// Counts // Counts
// Number of online members // Number of online members
// {@since 2.1.0}
registerPlaceholder(addon, "island_online_members_count", user -> { registerPlaceholder(addon, "island_online_members_count", user -> {
if (user == null) if (user == null)
return ""; return "";

View File

@ -179,7 +179,7 @@ commands:
island-is-spawn: "&6 Ostrov je spawn. Jsi si jistý? Potvrď opětovným zadáním island-is-spawn: "&6 Ostrov je spawn. Jsi si jistý? Potvrď opětovným zadáním
příkazu." příkazu."
unregister: unregister:
parameters: "<owner>" parameters: <owner> [x,y,z]
description: odregistrovat vlastníka z ostrova, ale zachovat bloky ostrova description: odregistrovat vlastníka z ostrova, ale zachovat bloky ostrova
unregistered-island: "&a Hráč odregistrován z ostrova [xyz]." unregistered-island: "&a Hráč odregistrován z ostrova [xyz]."
info: info:

View File

@ -188,7 +188,7 @@ commands:
island-is-spawn: "&6 Die Insel ist der Spawn. Bist du sicher? Gib den Befehl island-is-spawn: "&6 Die Insel ist der Spawn. Bist du sicher? Gib den Befehl
zur Bestätigung noch einmal ein." zur Bestätigung noch einmal ein."
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: Besitzer von Insel entfernen, aber Inselblöcke behalten description: Besitzer von Insel entfernen, aber Inselblöcke behalten
unregistered-island: "&a Unregistrierter Spieler von der Insel bei [xyz]." unregistered-island: "&a Unregistrierter Spieler von der Insel bei [xyz]."
info: info:

View File

@ -192,9 +192,13 @@ commands:
for possible errors.' for possible errors.'
island-is-spawn: '&6 Island is spawn. Are you sure? Enter command again to confirm.' island-is-spawn: '&6 Island is spawn. Are you sure? Enter command again to confirm.'
unregister: unregister:
parameters: <owner> parameters: <owner> [x,y,z]
description: unregister owner from island, but keep island blocks description: unregister owner from island, but keep island blocks
unregistered-island: '&a Unregistered [name] from island at [xyz].' unregistered-island: '&a Unregistered [name] from island at [xyz].'
errors:
unknown-island-location: "&c Unknown island location"
specify-island-location: "&c Specify island location in x,y,z format"
player-has-more-than-one-island: "&c Player has more than one island"
info: info:
parameters: <player> parameters: <player>
description: get info on where you are or player's island description: get info on where you are or player's island

View File

@ -190,7 +190,7 @@ commands:
island-is-spawn: "&6La isla está spawneada. ¿Estás seguro? Ingrese el comando island-is-spawn: "&6La isla está spawneada. ¿Estás seguro? Ingrese el comando
nuevamente para confirmar." nuevamente para confirmar."
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: Desregistrar propietario de isla, pero mantener bloques de islas description: Desregistrar propietario de isla, pero mantener bloques de islas
unregistered-island: "&aRemover jugador de la isla registrada en [xyz]." unregistered-island: "&aRemover jugador de la isla registrada en [xyz]."
info: info:

View File

@ -185,7 +185,7 @@ commands:
island-is-spawn: "&6 L'île est un spawn. Êtes-vous sûr? Entrez à nouveau la island-is-spawn: "&6 L'île est un spawn. Êtes-vous sûr? Entrez à nouveau la
commande pour confirmer." commande pour confirmer."
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: désenregistrer le propriétaire de l''île, mais garder les blocs description: désenregistrer le propriétaire de l''île, mais garder les blocs
de l''île de l''île
unregistered-island: "&b [name] &a a été supprimé de l'île à [xyz]." unregistered-island: "&b [name] &a a été supprimé de l'île à [xyz]."

View File

@ -182,7 +182,7 @@ commands:
island-is-spawn: "&6 Otok je mrijest. Jesi li siguran? Ponovno unesite naredbu island-is-spawn: "&6 Otok je mrijest. Jesi li siguran? Ponovno unesite naredbu
za potvrdu." za potvrdu."
unregister: unregister:
parameters: "<vlasnik>" parameters: "<vlasnik> [x,y,z]"
description: odjaviti vlasnika s otoka, ali zadržati otočne blokove description: odjaviti vlasnika s otoka, ali zadržati otočne blokove
unregistered-island: "&a Neregistrirano [name] otoka na [xyz]." unregistered-island: "&a Neregistrirano [name] otoka na [xyz]."
info: info:

View File

@ -190,7 +190,7 @@ commands:
island-is-spawn: "&6 A sziget spawn. biztos vagy ebben? A megerősítéshez írja island-is-spawn: "&6 A sziget spawn. biztos vagy ebben? A megerősítéshez írja
be újra a parancsot." be újra a parancsot."
unregister: unregister:
parameters: "<tulajdonos>" parameters: "<tulajdonos> [x,y,z]"
description: törölje a tulajdonos regisztrációját a szigetről, de tartsa meg description: törölje a tulajdonos regisztrációját a szigetről, de tartsa meg
a szigettömböket a szigettömböket
unregistered-island: "&a Nem regisztrált [name] a következő szigetről: [xyz]." unregistered-island: "&a Nem regisztrált [name] a következő szigetről: [xyz]."

View File

@ -190,7 +190,7 @@ commands:
island-is-spawn: "&6 Pulau muncul. Apa kamu yakin? Masukkan perintah lagi untuk island-is-spawn: "&6 Pulau muncul. Apa kamu yakin? Masukkan perintah lagi untuk
mengonfirmasi." mengonfirmasi."
unregister: unregister:
parameters: "<pemilik>" parameters: "<pemilik> [x,y,z]"
description: batalkan pendaftaran pemilik dari pulau, tetapi pertahankan blok description: batalkan pendaftaran pemilik dari pulau, tetapi pertahankan blok
pulau pulau
unregistered-island: "&a [name] tidak terdaftar dari pulau di [xyz]." unregistered-island: "&a [name] tidak terdaftar dari pulau di [xyz]."

View File

@ -364,7 +364,7 @@ commands:
title: "&d=========== Isole nel Cestino ===========" title: "&d=========== Isole nel Cestino ==========="
unregister: unregister:
description: dissocia un proprietario dall'isola, ma mantenendo i blocchi dell'isola description: dissocia un proprietario dall'isola, ma mantenendo i blocchi dell'isola
parameters: "<owner>" parameters: "<owner> [x,y,z]"
unregistered-island: "&aDisassociato il giocatore dall'isola a [xyz]." unregistered-island: "&aDisassociato il giocatore dall'isola a [xyz]."
version: version:
description: mostra le versioni di BentoBox e degli addons description: mostra le versioni di BentoBox e degli addons

View File

@ -170,7 +170,7 @@ commands:
cannot-make-island: "&c島はここに配置できません。申し訳ありません。考えられるエラーについては、コンソールをご覧ください。" cannot-make-island: "&c島はここに配置できません。申し訳ありません。考えられるエラーについては、コンソールをご覧ください。"
island-is-spawn: "&6島が生成されます。本気ですかもう一度コマンドを入力して確認します。" island-is-spawn: "&6島が生成されます。本気ですかもう一度コマンドを入力して確認します。"
unregister: unregister:
parameters: "<所有者>" parameters: "<所有者> [x,y,z]"
description: 島から所有者を登録解除するが、島のブロックを維持する description: 島から所有者を登録解除するが、島のブロックを維持する
unregistered-island: "[xyz]で島から未登録のプレーヤー。" unregistered-island: "[xyz]で島から未登録のプレーヤー。"
info: info:

View File

@ -164,7 +164,7 @@ commands:
cannot-make-island: "&c 섬은 이곳에 만들수 없습니다. 죄송합니다. 콘솔을 참고해주세요." cannot-make-island: "&c 섬은 이곳에 만들수 없습니다. 죄송합니다. 콘솔을 참고해주세요."
island-is-spawn: "&6 섬이 생성되었습니다. 정말로 하시겠습니까? 명령어를 한번더 입력해주세요." island-is-spawn: "&6 섬이 생성되었습니다. 정말로 하시겠습니까? 명령어를 한번더 입력해주세요."
unregister: unregister:
parameters: "<주인>" parameters: "<주인> [x,y,z]"
description: 섬을 주인없는 섬으로 만들지만 섬은 유지됩니다 description: 섬을 주인없는 섬으로 만들지만 섬은 유지됩니다
unregistered-island: "&a [xyz]에 있는 [name]의 섬을 주인 없는 섬으로 만들었습니다." unregistered-island: "&a [xyz]에 있는 [name]의 섬을 주인 없는 섬으로 만들었습니다."
info: info:

View File

@ -385,7 +385,7 @@ commands:
uz spēlētāja salu no atkritnes." uz spēlētāja salu no atkritnes."
unregister: unregister:
description: atreģistrē īpašnieku no salas paturot salas blokus description: atreģistrē īpašnieku no salas paturot salas blokus
parameters: "<īpašnieks>" parameters: "<īpašnieks> [x,y,z]"
unregistered-island: "&aSpēlētājs atreģistrēts no salas ar koordinātēm [xyz]." unregistered-island: "&aSpēlētājs atreģistrēts no salas ar koordinātēm [xyz]."
version: version:
description: attaino BentoBox un papildinājumu versijas description: attaino BentoBox un papildinājumu versijas

View File

@ -186,7 +186,7 @@ commands:
island-is-spawn: "&6 Eiland wordt uitgezet. Weet je het zeker? Voer de opdracht island-is-spawn: "&6 Eiland wordt uitgezet. Weet je het zeker? Voer de opdracht
nogmaals in om te bevestigen." nogmaals in om te bevestigen."
unregister: unregister:
parameters: "<eigenaar>" parameters: "<eigenaar> [x,y,z]"
description: de registratie van de eigenaar van het eiland ongedaan maken, maar description: de registratie van de eigenaar van het eiland ongedaan maken, maar
eilandblokken behouden eilandblokken behouden
unregistered-island: "&a niet-geregistreerde [name] van het eiland op [xyz]." unregistered-island: "&a niet-geregistreerde [name] van het eiland op [xyz]."

View File

@ -174,7 +174,7 @@ commands:
island-is-spawn: '&6 Ta wyspa jest wyspą spawnu. Jesteś pewny? Wpisz ponownie island-is-spawn: '&6 Ta wyspa jest wyspą spawnu. Jesteś pewny? Wpisz ponownie
tę komendę.' tę komendę.'
unregister: unregister:
parameters: <właściciel> parameters: "<właściciel> [x,y,z]"
description: wyrejestruj właściciela z wyspy, ale zachowaj bloki wyspy description: wyrejestruj właściciela z wyspy, ale zachowaj bloki wyspy
unregistered-island: '&aWyrejestrowano gracza z wyspy [xyz].' unregistered-island: '&aWyrejestrowano gracza z wyspy [xyz].'
info: info:

View File

@ -192,7 +192,7 @@ commands:
island-is-spawn: "&6 Ilha é spawn. Você tem certeza? Digite o comando novamente island-is-spawn: "&6 Ilha é spawn. Você tem certeza? Digite o comando novamente
para confirmar." para confirmar."
unregister: unregister:
parameters: "<proprietário>" parameters: "<proprietário> [x,y,z]"
description: Remover o registro de dono da ilha, mas manter os blocos da ilha description: Remover o registro de dono da ilha, mas manter os blocos da ilha
unregistered-island: "&a Registro removido de [name] de ilha em [xyz]." unregistered-island: "&a Registro removido de [name] de ilha em [xyz]."
info: info:

View File

@ -173,7 +173,7 @@ commands:
island-is-spawn: '&6 Essa ilha é o spawn. Você tem certeza? Digite o comando island-is-spawn: '&6 Essa ilha é o spawn. Você tem certeza? Digite o comando
novamente para confirmar.' novamente para confirmar.'
unregister: unregister:
parameters: <dono> parameters: "<dono> [x,y,z]"
description: desregistrar dono da ilha, mas manter os blocos description: desregistrar dono da ilha, mas manter os blocos
unregistered-island: '&a [name] desregistrado da ilha em [xyz].' unregistered-island: '&a [name] desregistrado da ilha em [xyz].'
info: info:

View File

@ -187,7 +187,7 @@ commands:
island-is-spawn: "&6 Insula este reprodusă. Esti sigur? Introduceți din nou island-is-spawn: "&6 Insula este reprodusă. Esti sigur? Introduceți din nou
comanda pentru a confirma." comanda pentru a confirma."
unregister: unregister:
parameters: "<proprietar>" parameters: "<proprietar> [x,y,z]"
description: anulați înregistrarea proprietarului de pe insulă, dar păstrați description: anulați înregistrarea proprietarului de pe insulă, dar păstrați
blocurile de insule blocurile de insule
unregistered-island: "&a [name] neînregistrat de pe insulă la [xyz]." unregistered-island: "&a [name] neînregistrat de pe insulă la [xyz]."

View File

@ -185,7 +185,7 @@ commands:
island-is-spawn: "&6Остров является спавном. Вы уверены? Введите команду снова island-is-spawn: "&6Остров является спавном. Вы уверены? Введите команду снова
для подтверждения." для подтверждения."
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: разрегистрирует остров, но сохраняет блоки на острове description: разрегистрирует остров, но сохраняет блоки на острове
unregistered-island: "&aИгрок [name] разрегистрирован с острова на координатах unregistered-island: "&aИгрок [name] разрегистрирован с острова на координатах
[xyz]." [xyz]."

View File

@ -186,7 +186,7 @@ commands:
island-is-spawn: "&6Başlangıç adası, buna emin misiniz ?Kabul etmek için komutu island-is-spawn: "&6Başlangıç adası, buna emin misiniz ?Kabul etmek için komutu
tekrar girin!" tekrar girin!"
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: Oyuncuyu adadan siler ama ada silinmez. description: Oyuncuyu adadan siler ama ada silinmez.
unregistered-island: "&aOyuncu başarıyla &e[xyz] &akoordinatlarındaki adadan unregistered-island: "&aOyuncu başarıyla &e[xyz] &akoordinatlarındaki adadan
silindi!" silindi!"

View File

@ -185,7 +185,7 @@ commands:
консоль для можливих помилок." консоль для можливих помилок."
island-is-spawn: "&6 Острів ікру. Ти впевнений? Введіть команду ще раз для підтвердження." island-is-spawn: "&6 Острів ікру. Ти впевнений? Введіть команду ще раз для підтвердження."
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: скасувати реєстрацію власника з острова, але зберегти блоки острова description: скасувати реєстрацію власника з острова, але зберегти блоки острова
unregistered-island: "&a Незареєстрований [name] з острова на [xyz]." unregistered-island: "&a Незареєстрований [name] з острова на [xyz]."
info: info:

View File

@ -180,7 +180,7 @@ commands:
island-is-spawn: "&6 Đảo là điểm triệu hồi. Bạn chắc chứ? Nhập lần nữa để xác island-is-spawn: "&6 Đảo là điểm triệu hồi. Bạn chắc chứ? Nhập lần nữa để xác
nhận." nhận."
unregister: unregister:
parameters: "<chủ>" parameters: "<chủ> [x,y,z]"
description: hủy đăng kí chủ đảo khỏi đảo này. nhưng giữ lại tài nguyên đảo description: hủy đăng kí chủ đảo khỏi đảo này. nhưng giữ lại tài nguyên đảo
unregistered-island: "&a Đã hủy đăng kí [name] khỏi đảo tại [xyz]." unregistered-island: "&a Đã hủy đăng kí [name] khỏi đảo tại [xyz]."
info: info:

View File

@ -176,7 +176,7 @@ commands:
&c所处位置为出生点岛屿 您确定要将玩家注册到这个岛屿上? &c所处位置为出生点岛屿 您确定要将玩家注册到这个岛屿上?
&6请再次输入命令以确认。 &6请再次输入命令以确认。
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: 注销岛主身份, 但保留岛屿资源。 description: 注销岛主身份, 但保留岛屿资源。
unregistered-island: "&a已将岛主 &b[name] &a从位于 &b[xyz] &a的岛屿注销。" unregistered-island: "&a已将岛主 &b[name] &a从位于 &b[xyz] &a的岛屿注销。"
info: info:

View File

@ -187,7 +187,7 @@ commands:
&c所處位置為出生點島嶼 您確定要將玩家注冊到這個島嶼上? &c所處位置為出生點島嶼 您確定要將玩家注冊到這個島嶼上?
&6請再次輸入命令以確認。 &6請再次輸入命令以確認。
unregister: unregister:
parameters: "<owner>" parameters: "<owner> [x,y,z]"
description: "將島主註銷但保留方塊" description: "將島主註銷但保留方塊"
unregistered-island: "&a已將位於 [xyz] 的島嶼的玩家註銷。" unregistered-island: "&a已將位於 [xyz] 的島嶼的玩家註銷。"
info: info: