updated language authors + Spanish and Czech Languages | 2.14.4 release

This commit is contained in:
SuperRonanCraft 2020-11-05 14:11:41 -05:00
parent 9ef95e5d78
commit 54982cd850
24 changed files with 205 additions and 29 deletions

View File

@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTP.player; package me.SuperRonanCraft.BetterRTP.player;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS; import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -9,10 +10,11 @@ import java.util.HashMap;
public class PlayerInfo { public class PlayerInfo {
private HashMap<Player, Inventory> invs = new HashMap<>(); private final HashMap<Player, Inventory> invs = new HashMap<>();
private HashMap<Player, RTP_INV_SETTINGS> invType = new HashMap<>(); private final HashMap<Player, RTP_INV_SETTINGS> invType = new HashMap<>();
private HashMap<Player, World> invWorld = new HashMap<>(); private final HashMap<Player, World> invWorld = new HashMap<>();
private HashMap<Player, RTP_INV_SETTINGS> invNextInv = new HashMap<>(); private final HashMap<Player, RTP_INV_SETTINGS> invNextInv = new HashMap<>();
private final HashMap<Player, RTP_TYPE> rtpType = new HashMap<>();
public Inventory getInv(Player p) { public Inventory getInv(Player p) {
return invs.get(p); return invs.get(p);
@ -30,6 +32,10 @@ public class PlayerInfo {
return invNextInv.get(p); return invNextInv.get(p);
} }
public RTP_TYPE getRTPType(Player p) {
return rtpType.getOrDefault(p, RTP_TYPE.COMMAND);
}
public void setInv(Player p, Inventory inv) { public void setInv(Player p, Inventory inv) {
invs.put(p, inv); invs.put(p, inv);
} }
@ -46,16 +52,28 @@ public class PlayerInfo {
invNextInv.put(p, type); invNextInv.put(p, type);
} }
public void setRTPType(Player p, RTP_TYPE rtpType) {
this.rtpType.put(p, rtpType);
}
//--Logic-- //--Logic--
public Boolean playerExists(Player p) { public Boolean playerExists(Player p) {
return invs.containsKey(p); return invs.containsKey(p);
} }
public void clear() {
invs.clear();
invType.clear();
invWorld.clear();
invNextInv.clear();
}
public void clear(Player p) { public void clear(Player p) {
invs.remove(p); invs.remove(p);
invType.remove(p); invType.remove(p);
//invWorld.remove(p); invWorld.remove(p);
invNextInv.remove(p);
} }
} }

View File

@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.commands;
import me.SuperRonanCraft.BetterRTP.Main; import me.SuperRonanCraft.BetterRTP.Main;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown; import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -90,7 +91,7 @@ public class Commands {
public void rtp(CommandSender sendi, String cmd, String world, List<String> biomes) { public void rtp(CommandSender sendi, String cmd, String world, List<String> biomes) {
if (sendi instanceof Player) if (sendi instanceof Player)
tp((Player) sendi, sendi, world, biomes); tp((Player) sendi, sendi, world, biomes, RTP_TYPE.COMMAND);
else else
msgNotPlayer(sendi, cmd); msgNotPlayer(sendi, cmd);
} }
@ -126,14 +127,14 @@ public class Commands {
pl.getText().getNoPermission(sendi); pl.getText().getNoPermission(sendi);
} }
public void tp(Player player, CommandSender sendi, String world, List<String> biomes) { public void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType) {
if (checkDelay(sendi, player)) { //Cooling down or rtp'ing if (checkDelay(sendi, player)) { //Cooling down or rtp'ing
boolean delay = false; boolean delay = false;
if (sendi == player) //Forced? if (sendi == player) //Forced?
if (pl.getSettings().delayEnabled && delayTimer > 0) //Delay enabled? if (pl.getSettings().delayEnabled && delayTimer > 0) //Delay enabled?
if (!pl.getPerms().getBypassDelay(player)) //Can bypass? if (!pl.getPerms().getBypassDelay(player)) //Can bypass?
delay = true; delay = true;
pl.getRTP().start(player, sendi, world, biomes, delay); pl.getRTP().start(player, sendi, world, biomes, delay, rtpType);
} }
} }

View File

@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.CommandTypes;
import me.SuperRonanCraft.BetterRTP.player.commands.Commands; import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand; import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable; import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -19,14 +20,14 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
public void execute(CommandSender sendi, String label, String[] args) { public void execute(CommandSender sendi, String label, String[] args) {
if (args.length == 2) if (args.length == 2)
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline())
getCmd().tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getPlayer(args[1]).getWorld().getName(), null); getCmd().tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getPlayer(args[1]).getWorld().getName(), null, RTP_TYPE.FORCED);
else if (Bukkit.getPlayer(args[1]) != null) else if (Bukkit.getPlayer(args[1]) != null)
getCmd().playerNotOnline(sendi, args[1]); getCmd().playerNotOnline(sendi, args[1]);
else else
usage(sendi, label); usage(sendi, label);
else if (args.length >= 3) else if (args.length >= 3)
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline())
getCmd().tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getWorld(args[2]).getName(), getCmd().getBiomes(args, 3, sendi)); getCmd().tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getWorld(args[2]).getName(), getCmd().getBiomes(args, 3, sendi), RTP_TYPE.FORCED);
else if (Bukkit.getPlayer(args[1]) != null) else if (Bukkit.getPlayer(args[1]) != null)
getCmd().playerNotOnline(sendi, args[1]); getCmd().playerNotOnline(sendi, args[1]);
else else

View File

@ -18,7 +18,7 @@ public class CmdVersion implements RTPCommand, RTPCommandHelpable {
} }
public boolean permission(CommandSender sendi) { public boolean permission(CommandSender sendi) {
return true; return Main.getInstance().getPerms().getVersion(sendi);
} }
@Override @Override

View File

@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTP.player.events; package me.SuperRonanCraft.BetterRTP.player.events;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.Updater; import me.SuperRonanCraft.BetterRTP.references.Updater;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.Main; import me.SuperRonanCraft.BetterRTP.Main;
@ -25,8 +26,8 @@ public class Join {
//RTP on first join //RTP on first join
private void rtpOnFirstJoin(Player p) { private void rtpOnFirstJoin(Player p) {
if (getPl().getSettings().rtpOnFirstJoin && !p.hasPlayedBefore()) if (getPl().getSettings().rtpOnFirstJoin_Enabled && !p.hasPlayedBefore())
getPl().getCmd().tp(p, Bukkit.getConsoleSender(), getPl().getSettings().rtpOnFirstJoinWorld, null); //Console is sender to override delays getPl().getCmd().tp(p, Bukkit.getConsoleSender(), getPl().getSettings().rtpOnFirstJoin_World, null, RTP_TYPE.JOIN); //Console is sender to override delays
} }
private Main getPl() { private Main getPl() {

View File

@ -136,7 +136,7 @@ public class RTP {
return Main.getInstance(); return Main.getInstance();
} }
public void start(Player p, CommandSender sendi, String world_name, List<String> biomes, boolean delay) { public void start(Player p, CommandSender sendi, String world_name, List<String> biomes, boolean delay, RTP_TYPE rtpType) {
// Check overrides // Check overrides
if (world_name == null) { if (world_name == null) {
world_name = p.getWorld().getName(); world_name = p.getWorld().getName();
@ -165,9 +165,9 @@ public class RTP {
} }
WorldPlayer pWorld = getPlayerWorld(p, world_name, biomes, true); WorldPlayer pWorld = getPlayerWorld(p, world_name, biomes, true);
// Economy // Economy
if (!getPl().getEco().hasBalance(sendi, pWorld)) { if (!getPl().getEco().hasBalance(sendi, pWorld))
return; return;
} Main.getInstance().getpInfo().setRTPType(p, rtpType);
rtp(sendi, pWorld, delay); rtp(sendi, pWorld, delay);
} }

View File

@ -30,7 +30,7 @@ public class RTPPlayer {
} }
void randomlyTeleport(CommandSender sendi) { void randomlyTeleport(CommandSender sendi) {
if (pWorld.getAttempts() >= settings.maxAttempts) //Cancel out, too many tried if (pWorld.getAttempts() >= settings.maxAttempts) //Cancel out, too many tries
metMax(sendi, p); metMax(sendi, p);
else { //Try again to find a safe location else { //Try again to find a safe location
Location loc = pWorld.generateRandomXZ(settings.defaultWorld); //randomLoc(pWorld); Location loc = pWorld.generateRandomXZ(settings.defaultWorld); //randomLoc(pWorld);
@ -60,11 +60,11 @@ public class RTPPlayer {
// Compressed code for MaxAttempts being met // Compressed code for MaxAttempts being met
private void metMax(CommandSender sendi, Player p) { private void metMax(CommandSender sendi, Player p) {
settings.teleport.failed(p); settings.teleport.failedTeleport(p, sendi);
if (p == sendi) /*if (p == sendi)
getPl().getText().getFailedNotSafe(sendi, settings.maxAttempts); getPl().getText().getFailedNotSafe(sendi, settings.maxAttempts);
else else
getPl().getText().getOtherNotSafe(sendi, settings.maxAttempts, p.getName()); getPl().getText().getOtherNotSafe(sendi, settings.maxAttempts, p.getName());*/
getPl().getCmd().cooldowns.remove(p.getUniqueId()); getPl().getCmd().cooldowns.remove(p.getUniqueId());
//getPl().getEco().unCharge(p, pWorld); //getPl().getEco().unCharge(p, pWorld);
getPl().getCmd().rtping.put(p.getUniqueId(), false); getPl().getCmd().rtping.put(p.getUniqueId(), false);

View File

@ -57,6 +57,10 @@ public class RTPTeleport {
if (sendi != p) //Tell player who requested that the player rtp'd if (sendi != p) //Tell player who requested that the player rtp'd
sendSuccessMsg(sendi, p.getName(), loc, price, false, attempts); sendSuccessMsg(sendi, p.getName(), loc, price, false, attempts);
getPl().getCmd().rtping.remove(p.getUniqueId()); //No longer rtp'ing getPl().getCmd().rtping.remove(p.getUniqueId()); //No longer rtp'ing
//Save respawn location if first join
if (Main.getInstance().getpInfo().getRTPType(p) == RTP_TYPE.JOIN) //RTP Type was Join
if (Main.getInstance().getSettings().rtpOnFirstJoin_SetAsRespawn) //Save as respawn is enabled
p.setBedSpawnLocation(loc, true); //True means to force a respawn even without a valid bed
} }
}); });
} catch (Exception e) { } catch (Exception e) {
@ -68,6 +72,8 @@ public class RTPTeleport {
}); });
} }
//Effects
public void afterTeleport(Player p, Location loc, int price, int attempts) { //Only a successful rtp should run this OR '/rtp test' public void afterTeleport(Player p, Location loc, int price, int attempts) { //Only a successful rtp should run this OR '/rtp test'
eSounds.playTeleport(p); eSounds.playTeleport(p);
eParticles.display(p); eParticles.display(p);
@ -103,6 +109,17 @@ public class RTPTeleport {
getPl().getText().getSuccessLoading(sendi); getPl().getText().getSuccessLoading(sendi);
} }
public void failedTeleport(Player p, CommandSender sendi) {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.FAILED, p, p.getLocation(), 0, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.FAILED))
if (p == sendi)
getPl().getText().getFailedNotSafe(sendi, Main.getInstance().getRTP().maxAttempts);
else
getPl().getText().getOtherNotSafe(sendi, Main.getInstance().getRTP().maxAttempts, p.getName());
}
//Processing
private List<CompletableFuture<Chunk>> getChunks(Location loc) { //List all chunks in range to load private List<CompletableFuture<Chunk>> getChunks(Location loc) { //List all chunks in range to load
List<CompletableFuture<Chunk>> asyncChunks = new ArrayList<>(); List<CompletableFuture<Chunk>> asyncChunks = new ArrayList<>();
int range = Math.round(Math.max(0, Math.min(16, getPl().getSettings().preloadRadius))); int range = Math.round(Math.max(0, Math.min(16, getPl().getSettings().preloadRadius)));
@ -134,8 +151,4 @@ public class RTPTeleport {
private Main getPl() { private Main getPl() {
return Main.getInstance(); return Main.getInstance();
} }
public void failed(Player p) {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.FAILED, p, p.getLocation(), 0, 0);
}
} }

View File

@ -0,0 +1,7 @@
package me.SuperRonanCraft.BetterRTP.player.rtp;
public enum RTP_TYPE {
COMMAND, //Player executed command
FORCED, //Player was forced to rtp (/rtp player <player>)
JOIN //Player joined and was rtp'd automatically
}

View File

@ -71,6 +71,10 @@ public class Permissions {
return perm(pre + "test", sendi); return perm(pre + "test", sendi);
} }
public boolean getVersion(CommandSender sendi) {
return perm(pre + "version", sendi);
}
public boolean getAWorld(CommandSender sendi, String world) { public boolean getAWorld(CommandSender sendi, String world) {
if (perm(pre + "world.*", sendi)) if (perm(pre + "world.*", sendi))
return true; return true;

View File

@ -54,7 +54,7 @@ public class LangFile {
} }
} }
private final String[] defaultLangs = {"en.yml", "fr.yml", "ja.yml", "ru.yml", "chs.yml", "cht.yml", "du.yml"}; private final String[] defaultLangs = {"en.yml", "fr.yml", "ja.yml", "ru.yml", "chs.yml", "cht.yml", "du.yml", "es.yml", "cs.yml"};
private void generateDefaults() { private void generateDefaults() {
//Generate all language files //Generate all language files

View File

@ -7,8 +7,9 @@ public class Settings {
public boolean debug; public boolean debug;
public boolean delayEnabled; public boolean delayEnabled;
public boolean rtpOnFirstJoin; public boolean rtpOnFirstJoin_Enabled;
public String rtpOnFirstJoinWorld; public String rtpOnFirstJoin_World;
public boolean rtpOnFirstJoin_SetAsRespawn;
public int preloadRadius; //Amount of chunks to load around a safe rtp location (clamped (0 - 16)) public int preloadRadius; //Amount of chunks to load around a safe rtp location (clamped (0 - 16))
//Dependencies //Dependencies
private final SoftDepends depends = new SoftDepends(); private final SoftDepends depends = new SoftDepends();
@ -17,8 +18,9 @@ public class Settings {
FileBasics.FILETYPE config = getPl().getFiles().getType(FileBasics.FILETYPE.CONFIG); FileBasics.FILETYPE config = getPl().getFiles().getType(FileBasics.FILETYPE.CONFIG);
debug = config.getBoolean("Settings.Debugger"); debug = config.getBoolean("Settings.Debugger");
delayEnabled = config.getBoolean("Settings.Delay.Enabled"); delayEnabled = config.getBoolean("Settings.Delay.Enabled");
rtpOnFirstJoin = config.getBoolean("Settings.RtpOnFirstJoin.Enabled"); rtpOnFirstJoin_Enabled = config.getBoolean("Settings.RtpOnFirstJoin.Enabled");
rtpOnFirstJoinWorld = config.getString("Settings.RtpOnFirstJoin.World"); rtpOnFirstJoin_World = config.getString("Settings.RtpOnFirstJoin.World");
rtpOnFirstJoin_SetAsRespawn = config.getBoolean("Settings.RtpOnFirstJoin.SetAsRespawn");
preloadRadius = config.getInt("Settings.PreloadRadius"); preloadRadius = config.getInt("Settings.PreloadRadius");
depends.load(); depends.load();
} }

View File

@ -28,6 +28,7 @@ Settings:
RtpOnFirstJoin: # Will execute as console to override delays RtpOnFirstJoin: # Will execute as console to override delays
Enabled: false # Make the player rtp when joining the server for the first time Enabled: false # Make the player rtp when joining the server for the first time
World: 'world' # World to first rtp in World: 'world' # World to first rtp in
SetAsRespawn: false # Save this first rtp as players new spawn point
Cooldown: Cooldown:
Enabled: true # Enabled or disabled cooldown timer Enabled: true # Enabled or disabled cooldown timer
LockAfter: 0 # Lock the player in an infinite cooldown after # rtp's (0 to disable) LockAfter: 0 # Lock the player in an infinite cooldown after # rtp's (0 to disable)

View File

@ -26,6 +26,10 @@ Titles:
Title: '' Title: ''
Subtitle: '&7loading chunks... please wait' Subtitle: '&7loading chunks... please wait'
SendMessage: true # Allow the loading message in chat SendMessage: true # Allow the loading message in chat
Failed:
Title: ''
Subtitle: '&cFailed! No safe spots located'
SendMessage: true
Particles: #Use `rtp info particles` for a list of particles Particles: #Use `rtp info particles` for a list of particles
Enabled: true Enabled: true
Type: 'EXPLOSION_NORMAL' #list of particle types at https://github.com/ByteZ1337/ParticleLib/blob/master/src/main/java/xyz/xenondevs/particle/ParticleEffect.java Type: 'EXPLOSION_NORMAL' #list of particle types at https://github.com/ByteZ1337/ParticleLib/blob/master/src/main/java/xyz/xenondevs/particle/ParticleEffect.java

View File

@ -1,3 +1,4 @@
# Translation author: OasisAkari (GitHub)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! # Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! #

View File

@ -1,3 +1,4 @@
# Translation author: OasisAkari (GitHub)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: ## Placeholders! %x% %y% 和 %z% 是玩家要被傳送到的對應 x y z 座標! # Success: ## Placeholders! %x% %y% 和 %z% 是玩家要被傳送到的對應 x y z 座標! #

View File

@ -0,0 +1,57 @@
# Translation author: Lewisparkle (Discord)
Messages:
Prefix: '&7[&6BetterRTP&7] '
Success:
Paid: '&aByl/a jsi teleportován/a na&7 x=%x% y=%y% z=%z% za &c$%price%&7 po &f%attempts% &7pokusech!'
Bypass: '&aByl/a jsi teleportován/a na&7 x=%x% y=%y% z=%z% po &f%attempts% &7pokusech!'
Loading: '&aNalezeno bezpečné místo! &7Načítám chunky...'
Teleport: '&aTeleportuji... &fProsím, počkejte, než nalezneme bezpečné místo!'
Failed:
Price: '&cNebyl/a jsi teleportován, protože nemáš dostatek peněz! &7Musíš mít alespoň $%price% &7pro teleport!'
NotSafe: '&cNepodařilo se najít bezpečné místo po %attempts% pokusech! &7Nebyl/a jsi teleportován/a!'
Hunger: '&cNebyl/a jsi teleportován, protože jsi... &7příliš hladový/á.&c Sněz něco, kámo!'
Other:
Success: '&a%player% byl/a teleportován/a na&7 x=%x% y=%y% z=%z% po &f%attempts% &7pokusech!'
NotSafe: '&cNepodařilo se najít bezpečné místo po %attempts% pokusech! &7%player% nebyl/a teleportován/a!'
Biome: '&cVypadá to, že biom&7 %biome%&c neexistuje! &7Zkus použít tabulátor!'
Reload: '&eConfig úspěšně načten!'
NoPermission:
Basic: '&cPozor! &7Na tento příkaz nemáš práva!'
World: '&cPozor! &7Ve světě %world% se nelze teleportovat!'
DisabledWorld: '&cSvět %world% je uzamčen! &7Teleport nebyl možný!'
Cooldown: '&cPozor! &7Nemůžeš se teleportovat ještě &c%time% &7sekund!'
Locked: '&cPozor! &7Využil/a jsi všechny své teleporty!'
Invalid: '&cNeplatný příkaz. Zkus ''/%command% help''.'
NotOnline: '&cHráč &7%player% &cnení online!'
Delay: '&aTeleportuji za &f%time% &asekund! Nehýbej se!'
Moved: '&cPohl/a jsi se! &7Teleport byl zrušen!'
NotExist: '&cVypadá to, že svět &7%world% &cneexistuje!'
Already: '&cUps! &7Vypadá to, že se už teleportuješ! Měj trochu strpení!'
Sign: '&7Cedulka s příkazem vytvořena! &7Příkaz je... ''&f/rtp %command%&7''.'
Edit:
Error: '&cError! &7Zadána neplatná hodnota!'
Set: '&bÚspěch! &7%type% nastaveno na %value%'
Remove: '&cOdstraněno! &7Vymazal jsi vlastní svět %world%'
Help:
Prefix: '&e&m-----&6&l BetterRTP &8| Pomoc &e&m-----'
Main: ' &7- &e/%command% &7- Náhodně tě teleportuje!'
Biome: ' &7- &e/%command% biome <biom1, biom2...> &7- Náhodně tě teleportuje do zadaných biomů'
Edit: ' &7- &e/%command% edit <default/svět> [hodnoty...] &7- Úprava některých nastavení'
Help: ' &7- &e/%command% help &7- Zobrazí pomoc'
Info: ' &7- &e/%command% info [svět/částice/tvary/efekty_lektvarů] &7- Zobrazí konkrétní informace o nastavení pluginu'
Player: ' &7- &e/%command% player <hráč> [svět] [biom1, biom2...] &7- Náhodně teleportuje jiného hráče'
Reload: ' &7- &e/%command% reload &7- Znovu načte plugin'
Settings: ' &7- &e/%command% settings &7- Zobrazí GUI s nastavením'
Test: ' &7- &e/%command% test &7- Vyzkoušet efekty po teleportu bez pohybu'
Version: ' &7- &e/%command% version &7- Zobrazí verzi pluginu'
World: ' &7- &e/%command% world <svět> [biom1, biom2...] &7- Náhodně tě teleportuje do jiného světa'
Usage:
Player: '&cPoužití&7: /%command% player <hráč> [svět] [biom1, biom2]'
World: '&cPoužití&7: /%command% world <svět> [biom1, biom2...]'
Biome: '&cPoužití&7: /%command% biome <biom1, biom2...>'
Edit:
Base: '&cPoužití&7: /%command% edit <default/svět> [hodnoty...]'
Default: '&cPoužití&7: /%command% edit default <max/min/useworldborder/center> <hodnota>'
World: '&cPoužití&7: /%command% edit world <svět> <max/min/useworldborder/center> <hodnota>'

View File

@ -1,3 +1,4 @@
# Translation author: QuestalNetwork (Spigot)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! # Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! #

View File

@ -1,3 +1,4 @@
# Help translate this file into more languages!
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! # Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! #

View File

@ -0,0 +1,57 @@
# Translation author: emgv (Discord)
Messages:
Prefix: '&7[&6BetterRTP&7] '
Success:
Paid: '&aFuiste teletransportado a las coordenadas &7 x=%x% y=%y% z=%z%!'
Bypass: '&aFuiste teletransportado a las coordenadas &7 x=%x% y=%y% z=%z%!'
Loading: '&aLugar seguro para el TP localizado! &7Cargando chunks...'
Teleport: '&aTeletransportandote... &fpor favor, espera mientras encontramos una ubicación segura!'
Failed:
Price: '&cCould not rtp because of insufficent funds! &7You must have atleast $%price% &7to rtp!'
NotSafe: '&cNo pudimos encontrar un lugar seguro :( ! &7No fuiste teletransportado!'
Hunger: '&cNo te pudimos teletransportar porque estas hambriento&c, come algo!'
Other:
Success: '&a%player% fue teletransportado a &7 x=%x% y=%y% z=%z%'
NotSafe: '&cNo se puedo encontrar un lugar seguro en %attempts% intentos! &7%player% no fue teletransportado!'
Biome: '&cParece que el bioma &7 %biome%&c no existe! &7Trata de usar la funcion de autcompletado con TAB!'
Reload: '&eConfiguración recargada exitosamente!'
NoPermission:
Basic: '&7No tienes permiso para ejecutar este comando!'
World: '&7No estas autorizado a hacer RTP en %world%!'
DisabledWorld: '&cEl mundo %world% esta desactivado! &7No se pudo hacer RTP!'
Cooldown: '&7Por favor, espera &c 1 hora &7 antes de volver a usar tu RTP!'
Locked: '&7Ya usaste todos tus RTP!'
Invalid: '&cSintaxis o argumento invalido. Prueba ''/%command% help'''
NotOnline: '&cThe player &7%player% &cis not online!'
Delay: '&aTeletransportandote en &f%time% &asegundos! No te muevas!'
Moved: '&cTe moviste! &7El RTP fue cancelado!'
NotExist: '&cParece que el mundo &7%world% &c no existe!'
Already: '&7Ya tienes una teletransportación en curso, por favor, espera.'
Sign: '&7El letrero con comandos ha sido creado! &7El comando es... ''&f/rtp %command%&7'''
Edit:
Error: '&cError! &7Input incorrecto!'
Set: '&bÉxito! &7%type% seteado a %value%'
Remove: '&cRemovido! &7Eliminaste exitosamente el mundo %world%'
Help:
Prefix: '&e&m-----&6&l BetterRTP &8| Ayuda &e&m-----'
Main: ' &7- &e/%command% &7- Te teletransporta aleatoriamente!'
Biome: ' &7- &e/%command% biome <bioma1, bioma2...> &7- Te teletransporta aleatoriamente en alguno de esos biomas'
Edit: ' &7- &e/%command% edit <default/world> [args...] &7- Edita algunos settings del plugin'
Help: ' &7- &e/%command% help &7- Muestra la lista de comandos'
Info: ' &7- &e/%command% info [world/particles/shapes/potion_effects] &7- Visualiza parámetros específicos del plugin'
Player: ' &7- &e/%command% player <jugador> [world] [biome1, biome2...] &7- Teletransporta aleatoriamente a otro jugador'
Reload: ' &7- &e/%command% reload &7- Recarga el plugin'
Settings: ' &7- &e/%command% settings &7- Abre una GUI para editar algunos settings'
Test: ' &7- &e/%command% test &7- Prueba los efectos posteriores a teletransportarse sin moverse del lugar'
Version: ' &7- &e/%command% version &7- Ver la versión actualmente'
World: ' &7- &e/%command% world <mundo> [bioma1, bioma2...] &7- Teletransportarse aleatoriamente en otro mundo'
Usage:
Player: '&cUso&7&7: /%command% player <jugador> [mundo] [bioma1, bioma2]'
World: '&cUso&7&77: /%command% world <mundo> [bioma1, bioma2...]'
Biome: '&cUso&7: /%command% biome <bioma1, bioma2...>'
Edit:
Base: '&cUso&7: /%command% edit <default/world> [args...]'
Default: '&cUso&7: /%command% edit default <max/min/useworldborder/center> <value>'
World: '&cUso&7: /%command% edit world <mundo> <max/min/useworldborder/center> <value>'

View File

@ -1,3 +1,4 @@
# Translation author: At0micA55 (GitHub)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
## Placeholders! %x% %y% et %z% sont les coordonées x, y, et z auxquelles le joueur sera téléporté! # ## Placeholders! %x% %y% et %z% sont les coordonées x, y, et z auxquelles le joueur sera téléporté! #

View File

@ -1,3 +1,4 @@
# Translation author: ViaSnake (GitHub)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: Success:

View File

@ -1,3 +1,4 @@
# Translation author: myfbone (GitHub)
Messages: Messages:
Prefix: '&7[&6BetterRTP&7] ' Prefix: '&7[&6BetterRTP&7] '
Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! # Success: ## Placeholders! %x% %y% and %z% are the x, y, and z coordinates that the player is being teleported to! #

View File

@ -20,6 +20,7 @@ permissions:
betterrtp.reload: true betterrtp.reload: true
betterrtp.updater: true betterrtp.updater: true
betterrtp.biome: true betterrtp.biome: true
betterrtp.version: true
betterrtp.world.*: betterrtp.world.*:
description: RTP in all enabled worlds description: RTP in all enabled worlds
betterrtp.bypass.*: betterrtp.bypass.*:
@ -30,6 +31,8 @@ permissions:
betterrtp.use: betterrtp.use:
description: Use RTP command description: Use RTP command
default: true default: true
betterrtp.version:
description: See which version is running
betterrtp.world: betterrtp.world:
description: Use world command description: Use world command
betterrtp.player: betterrtp.player: