Merge remote-tracking branch 'origin/napojeni-database'

# Conflicts:
#	src/main/java/xyz/soukup/mineconomiaCoreV2/MineconomiaCoreV2.java
pull/14/head
jakub 1 year ago
parent c71ff3f6e8
commit 55566b5e2e
  1. 10
      pom.xml
  2. 19
      src/main/java/xyz/soukup/mineconomiaCoreV2/MineconomiaCoreV2.java
  3. 2
      src/main/java/xyz/soukup/mineconomiaCoreV2/commands/tabCompleter.java
  4. 22
      src/main/java/xyz/soukup/mineconomiaCoreV2/commands/teleportWorld.java
  5. 141
      src/main/java/xyz/soukup/mineconomiaCoreV2/tools/LangManager.java
  6. 10
      src/main/resources/lang/czech.yml

@ -59,6 +59,10 @@
<id>sonatype</id> <id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url> <url>https://oss.sonatype.org/content/groups/public/</url>
</repository> </repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
@ -68,7 +72,11 @@
<version>1.21.1-R0.1-SNAPSHOT</version> <version>1.21.1-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.github.MatrixCreations</groupId>
<artifactId>MatrixColorAPI</artifactId>
<version>v1.0.7</version>
</dependency>
<dependency> <dependency>
<groupId>com.j256.ormlite</groupId> <groupId>com.j256.ormlite</groupId>
<artifactId>ormlite-core</artifactId> <artifactId>ormlite-core</artifactId>

@ -1,16 +1,18 @@
package xyz.soukup.mineconomiaCoreV2; package xyz.soukup.mineconomiaCoreV2;
import commands.tabCompleter; import org.bukkit.configuration.InvalidConfigurationException;
import commands.teleportWorld; import xyz.soukup.mineconomiaCoreV2.commands.tabCompleter;
import org.bukkit.configuration.file.FileConfiguration; import xyz.soukup.mineconomiaCoreV2.commands.teleportWorld;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import xyz.soukup.mineconomiaCoreV2.database.DatabaseUtil; import xyz.soukup.mineconomiaCoreV2.database.DatabaseUtil;
import xyz.soukup.mineconomiaCoreV2.events.PlayerInit; import xyz.soukup.mineconomiaCoreV2.events.PlayerInit;
import xyz.soukup.mineconomiaCoreV2.tools.LangManager;
import xyz.soukup.mineconomiaCoreV2.tractor.giveTractorCommand; import xyz.soukup.mineconomiaCoreV2.tractor.giveTractorCommand;
import xyz.soukup.mineconomiaCoreV2.variables.PlayerData; import xyz.soukup.mineconomiaCoreV2.variables.PlayerData;
import java.io.IOException;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Objects; import java.util.Objects;
@ -27,9 +29,16 @@ public final class MineconomiaCoreV2 extends JavaPlugin {
public void onEnable() { public void onEnable() {
// Plugin startup logic // Plugin startup logic
instance = this; instance = this;
getLogger().info("STARTING MINECONOMIA CORE"); getLogger().info("STARTING MINECONOMIA CORE");
plugin.saveDefaultConfig(); plugin.saveDefaultConfig();
try {
LangManager.initLangManager();
} catch (IOException | InvalidConfigurationException e) {
throw new RuntimeException(e);
}
PluginManager pluginManager = getServer().getPluginManager(); PluginManager pluginManager = getServer().getPluginManager();
@ -46,8 +55,8 @@ public final class MineconomiaCoreV2 extends JavaPlugin {
Objects.requireNonNull(plugin.getCommand("tractor")).setExecutor(new giveTractorCommand()); Objects.requireNonNull(plugin.getCommand("tractor")).setExecutor(new giveTractorCommand());
// TPW registration // TPW registration
this.getCommand("tpw").setExecutor(new teleportWorld()); Objects.requireNonNull(this.getCommand("tpw")).setExecutor(new teleportWorld());
this.getCommand("tpw").setTabCompleter(new tabCompleter()); Objects.requireNonNull(this.getCommand("tpw")).setTabCompleter(new tabCompleter());

@ -1,4 +1,4 @@
package commands; package xyz.soukup.mineconomiaCoreV2.commands;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;

@ -1,17 +1,21 @@
package commands; package xyz.soukup.mineconomiaCoreV2.commands;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import xyz.soukup.mineconomiaCoreV2.tools.LangManager;
import java.io.IOException;
public class teleportWorld implements CommandExecutor { public class teleportWorld implements CommandExecutor {
// Teleports player with OP to another world. // Teleports player with OP to another world.
@Override @Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings){
if (commandSender instanceof Player) { if (commandSender instanceof Player) {
Player player = (Player) commandSender; Player player = (Player) commandSender;
@ -23,7 +27,9 @@ public class teleportWorld implements CommandExecutor {
World world = Bukkit.getWorld(strings[0]); World world = Bukkit.getWorld(strings[0]);
if (world == null) { if (world == null) {
player.sendMessage("This is not a valid world!");
LangManager.message(commandSender, "error.command.tpw.invalid-world");
return true; return true;
} }
@ -33,15 +39,15 @@ public class teleportWorld implements CommandExecutor {
World targetPlayerWorld = targetPlayer.getWorld(); World targetPlayerWorld = targetPlayer.getWorld();
if (targetPlayerWorld.equals(world)) { if (targetPlayerWorld.equals(world)) {
player.sendMessage(String.format("Player %s is already in this world!", strings[1])); LangManager.message(commandSender, "error.command.tpw.already-in-world", strings[1]);
return true; return true;
} }
targetPlayer.teleport(world.getSpawnLocation()); targetPlayer.teleport(world.getSpawnLocation());
targetPlayer.sendMessage(String.format("Successfully teleported %s from %s to %s.", strings[1], targetPlayerWorld.getName(), world.getName())); LangManager.message(commandSender, "success.command.tpw.teleported", strings[1], targetPlayerWorld.getName(), world.getName());
return true; return true;
} catch (Exception e) { } catch (Exception e) {
player.sendMessage("This is not a valid player!"); LangManager.message(commandSender, "error.command.invalid-player");
return true; return true;
} }
} }
@ -49,12 +55,12 @@ public class teleportWorld implements CommandExecutor {
World playerWorld = player.getWorld(); World playerWorld = player.getWorld();
if (playerWorld.equals(world)) { if (playerWorld.equals(world)) {
player.sendMessage("You are already in this world!"); LangManager.message(commandSender, "error.command.tpw.already-in-world-self");
return true; return true;
} }
player.teleport(world.getSpawnLocation()); player.teleport(world.getSpawnLocation());
player.sendMessage(String.format("Successfully teleported from %s to %s.", playerWorld.getName(), world.getName())); LangManager.message(commandSender, "success.command.tpw.teleported-self", playerWorld.getName(), world.getName());
return true; return true;
} }
return false; return false;

@ -1,16 +1,145 @@
package xyz.soukup.mineconomiaCoreV2.tools; package xyz.soukup.mineconomiaCoreV2.tools;
import net.matrixcreations.libraries.MatrixColorAPI;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; import java.io.File;
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.plugin; import java.io.IOException;
import java.util.List;
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.*;
public class LangManager { public class LangManager {
public static YamlConfiguration lang = null; public static YamlConfiguration lang = null;
public static void loadLang(){ private static FileConfiguration langConfig;
String langPath = "lang/" + config.getString("lang");
plugin.saveResource(langPath, false);
//lang = YamlConfiguration.loadConfiguration(plugin.getResource(langPath)); //Replace references and colorize retrieved string
public static String get(String key){
return MatrixColorAPI.process(retrieveString(key));
}
public static String get(String key, String s1){
return MatrixColorAPI.process(retrieveString(key).replace("%s1", s1));
}
public static String get(String key, String s1, String s2) {
return MatrixColorAPI.process(retrieveString(key).replace("%s1", s1).replace("%s2", s2));
}
public static String get(String key, String s1, String s2, String s3) {
return MatrixColorAPI.process(retrieveString(key).replace("%s1", s1).replace("%s2", s2).replace("%s3", s3));
}
//Info into server console
public static void info(String key){
logger.info(ChatColor.stripColor(get(key)));
}
public static void info(String key, String s1){
logger.info(ChatColor.stripColor(get(key, s1)));
}
public static void info(String key, String s1, String s2){
logger.info(ChatColor.stripColor(get(key, s1, s2)));
}
public static void info(String key, String s1, String s2, String s3){
logger.info(ChatColor.stripColor(get(key, s1, s2, s3)));
}
//Warning into server console
public static void warning(String key){
logger.warning(ChatColor.stripColor(get(key)));
}
public static void warning(String key, String s1){
logger.warning(ChatColor.stripColor(get(key, s1)));
}
public static void warning(String key, String s1, String s2){
logger.warning(ChatColor.stripColor(get(key, s1, s2)));
}
public static void warning(String key, String s1, String s2, String s3){
logger.warning(ChatColor.stripColor(get(key, s1, s2, s3)));
}
//Message to player
public static void message(CommandSender commandSender, String key){
commandSender.sendMessage(get(key));
}
public static void message(CommandSender commandSender, String key, String s1){
commandSender.sendMessage(get(key, s1));
}
public static void message(CommandSender commandSender, String key, String s1, String s2) {
commandSender.sendMessage(get(key, s1, s2));
}
public static void message(CommandSender commandSender, String key, String s1, String s2, String s3) {
commandSender.sendMessage(get(key, s1, s2, s3));
} }
private static String retrieveString(String key) {
Object value = langConfig.get(key);
if (value == null){
return key;
}
if(value instanceof String){
return (String) value;
}
if (value instanceof List){
List<String> stringList = (List<String>) value;
StringBuilder result = new StringBuilder();
boolean isFirst = true;
for (String s : stringList){
if(!isFirst){
result.append("\n");
}
result.append(s);
isFirst = false;
}
return result.toString();
}
return key;
}
public static void initLangManager() throws IOException, InvalidConfigurationException {
if (langConfig != null){
return;
}
String selectedLang = config.getString("language");
File langFile = new File(plugin.getDataFolder(), "lang/" + selectedLang);
if (!langFile.exists()) {
langFile.getParentFile().mkdirs();
plugin.saveResource("lang/" + selectedLang, false);
}
langConfig = new YamlConfiguration();
langConfig.load(langFile);
}
} }

@ -4,3 +4,13 @@ error:
not-console: "&cPříkaz může použít jen konzole!" not-console: "&cPříkaz může použít jen konzole!"
wrong-argument-count: "&cNesprávný počet parametrů!" wrong-argument-count: "&cNesprávný počet parametrů!"
no-permissions: "&cNemáš oprávnění!" no-permissions: "&cNemáš oprávnění!"
invalid-player: "&cTento hráč neexistuje!"
tpw:
invalid-world: "&cTento svět neexistuje!"
already-in-world-self: "&cJiž jsi v tomto světě"
already-in-world: "&6%s1 &cjiž je v tomto světě"
success:
command:
tpw:
teleported: "&2%s1 &abyl úspěšně teleportován z &2%s2 &ado &2%s3"
teleported-self: "&aÚspěšně si se teleportoval z &2%s1 &ado &2%s2"
Loading…
Cancel
Save