Compare commits
12 Commits
napojeni-d
...
master
| Author | SHA1 | Date |
|---|---|---|
|
|
8f8d7b576b | 1 year ago |
|
|
db73025bfb | 1 year ago |
|
|
886a17621e | 1 year ago |
|
|
71ee856925 | 1 year ago |
|
|
c322e47706 | 1 year ago |
|
|
d34b7892fe | 1 year ago |
|
|
55566b5e2e | 1 year ago |
|
|
c71ff3f6e8 | 1 year ago |
|
|
44820ee592 | 1 year ago |
|
|
755e3a910d | 1 year ago |
|
|
f25197f6fd | 1 year ago |
|
|
394a0cbcae | 1 year ago |
18 changed files with 710 additions and 96 deletions
@ -1,49 +0,0 @@ |
||||
package commands; |
||||
|
||||
import org.bukkit.Bukkit; |
||||
import org.bukkit.World; |
||||
import org.bukkit.command.Command; |
||||
import org.bukkit.command.CommandExecutor; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.entity.Player; |
||||
|
||||
public class teleportWorld implements CommandExecutor { |
||||
|
||||
@Override |
||||
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { |
||||
if (commandSender instanceof Player) { |
||||
|
||||
Player player = (Player) commandSender; |
||||
|
||||
if (!player.isOp() || strings.length == 0) { |
||||
return false; |
||||
} |
||||
|
||||
World world = Bukkit.getWorld(strings[0]); |
||||
World playerWorld = player.getWorld(); |
||||
|
||||
if (playerWorld.equals(world)) { |
||||
player.sendMessage("You are already in this world!"); // Edit
|
||||
return false; |
||||
} |
||||
|
||||
if (strings.length > 2) { |
||||
try { |
||||
Player targetPlayer = Bukkit.getPlayer(strings[1]); |
||||
|
||||
targetPlayer.teleport(world.getSpawnLocation()); |
||||
targetPlayer.sendMessage(String.format("Successfully teleported %s from %s to %s.", targetPlayer, playerWorld, world)); // Edit
|
||||
return true; |
||||
} catch (Exception e) { |
||||
player.sendMessage("This is not a valid player!"); |
||||
} |
||||
} |
||||
|
||||
|
||||
player.teleport(world.getSpawnLocation()); |
||||
player.sendMessage(String.format("Successfully teleported from %s to %s.", playerWorld, world)); // Edit
|
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
} |
||||
@ -0,0 +1,104 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.commands; |
||||
|
||||
import org.bukkit.Bukkit; |
||||
import org.bukkit.Material; |
||||
import org.bukkit.command.Command; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.command.TabExecutor; |
||||
import org.bukkit.entity.Player; |
||||
import org.bukkit.inventory.ItemStack; |
||||
import org.bukkit.inventory.meta.ItemMeta; |
||||
import org.bukkit.persistence.PersistentDataType; |
||||
import org.jetbrains.annotations.NotNull; |
||||
import org.jetbrains.annotations.Nullable; |
||||
import xyz.soukup.mineconomiaCoreV2.tools.LangManager; |
||||
import xyz.soukup.mineconomiaCoreV2.tools.PDC; |
||||
import xyz.soukup.mineconomiaCoreV2.variables.Transaction; |
||||
|
||||
import java.io.IOException; |
||||
import java.sql.SQLException; |
||||
import java.util.List; |
||||
|
||||
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
||||
|
||||
public class admin implements TabExecutor { |
||||
|
||||
@Override |
||||
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||
|
||||
|
||||
if (!commandSender.isOp()) { |
||||
LangManager.message(commandSender, "error.command.no-permissions"); |
||||
return false; |
||||
} |
||||
|
||||
if (strings.length == 0){ |
||||
LangManager.message(commandSender, "error.command.not-enough-arguments"); |
||||
} |
||||
|
||||
switch (strings[0].toLowerCase()){ |
||||
case "setruleritem": |
||||
setRulerItem(commandSender); |
||||
return true; |
||||
case "givemoney": |
||||
try { |
||||
giveMoney(commandSender, strings); |
||||
} catch (SQLException e) { |
||||
throw new RuntimeException(e); |
||||
} |
||||
return true; |
||||
|
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||
|
||||
if (strings.length == 1 && commandSender.isOp()) { |
||||
return List.of("setRulerItem", "giveMoney"); |
||||
} |
||||
|
||||
return List.of(); |
||||
} |
||||
|
||||
private void giveMoney(CommandSender commandSender, String[] strings) throws SQLException { |
||||
if (strings.length < 3){ |
||||
LangManager.message(commandSender, "error.command.not-enough-arguments"); |
||||
return; |
||||
} |
||||
|
||||
Float amount = Float.valueOf(strings[2]); |
||||
|
||||
Transaction.prepareTransaction("server", "server", strings[1], "player", amount, "admin").process(); |
||||
LangManager.message(commandSender, "success.command.admin.give-money"); |
||||
} |
||||
|
||||
private void setRulerItem(CommandSender commandSender){ |
||||
Player player = (Player) commandSender; |
||||
|
||||
ItemStack playerHand = player.getInventory().getItemInMainHand(); |
||||
|
||||
if (playerHand.getType() == Material.AIR) { |
||||
LangManager.message(commandSender, "error.command.admin.setruleritem.invalid-item"); |
||||
return; |
||||
} |
||||
|
||||
ItemMeta meta = playerHand.getItemMeta(); |
||||
assert meta != null; |
||||
PDC.WriteItemMetaPDC(meta, "ruler", PersistentDataType.INTEGER, 1); |
||||
playerHand.setItemMeta(meta); |
||||
|
||||
config.set("special-items.ruler", playerHand); |
||||
|
||||
try { |
||||
config.save("config.yml"); |
||||
} catch (IOException e) { |
||||
throw new RuntimeException(e); |
||||
} |
||||
|
||||
LangManager.message(commandSender, "success.command.admin.setruleritem"); |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,21 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.commands; |
||||
|
||||
import org.bukkit.command.Command; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.command.TabExecutor; |
||||
import org.jetbrains.annotations.NotNull; |
||||
import org.jetbrains.annotations.Nullable; |
||||
|
||||
import java.util.List; |
||||
|
||||
public class money implements TabExecutor { |
||||
@Override |
||||
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { |
||||
return List.of(); |
||||
} |
||||
} |
||||
@ -0,0 +1,68 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.commands; |
||||
|
||||
import org.bukkit.Bukkit; |
||||
import org.bukkit.World; |
||||
import org.bukkit.command.Command; |
||||
import org.bukkit.command.CommandExecutor; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.configuration.InvalidConfigurationException; |
||||
import org.bukkit.entity.Player; |
||||
import xyz.soukup.mineconomiaCoreV2.tools.LangManager; |
||||
|
||||
import java.io.IOException; |
||||
|
||||
public class teleportWorld implements CommandExecutor { |
||||
|
||||
// Teleports player with OP to another world.
|
||||
@Override |
||||
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings){ |
||||
if (commandSender instanceof Player) { |
||||
|
||||
Player player = (Player) commandSender; |
||||
|
||||
if (!player.isOp() || strings.length == 0) { |
||||
return false; |
||||
} |
||||
|
||||
World world = Bukkit.getWorld(strings[0]); |
||||
|
||||
if (world == null) { |
||||
|
||||
LangManager.message(commandSender, "error.command.tpw.invalid-world"); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
if (strings.length > 1) { |
||||
try { |
||||
Player targetPlayer = Bukkit.getPlayer(strings[1]); |
||||
World targetPlayerWorld = targetPlayer.getWorld(); |
||||
|
||||
if (targetPlayerWorld.equals(world)) { |
||||
LangManager.message(commandSender, "error.command.tpw.already-in-world", strings[1]); |
||||
return true; |
||||
} |
||||
|
||||
targetPlayer.teleport(world.getSpawnLocation()); |
||||
LangManager.message(commandSender, "success.command.tpw.teleported", strings[1], targetPlayerWorld.getName(), world.getName()); |
||||
return true; |
||||
} catch (Exception e) { |
||||
LangManager.message(commandSender, "error.command.invalid-player"); |
||||
return true; |
||||
} |
||||
} |
||||
|
||||
World playerWorld = player.getWorld(); |
||||
|
||||
if (playerWorld.equals(world)) { |
||||
LangManager.message(commandSender, "error.command.tpw.already-in-world-self"); |
||||
return true; |
||||
} |
||||
|
||||
player.teleport(world.getSpawnLocation()); |
||||
LangManager.message(commandSender, "success.command.tpw.teleported-self", playerWorld.getName(), world.getName()); |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
} |
||||
@ -1,16 +1,145 @@ |
||||
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.entity.Player; |
||||
|
||||
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.config; |
||||
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.plugin; |
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
import java.util.List; |
||||
|
||||
import static xyz.soukup.mineconomiaCoreV2.core.sharedValues.*; |
||||
|
||||
public class LangManager { |
||||
|
||||
public static YamlConfiguration lang = null; |
||||
public static void loadLang(){ |
||||
String langPath = "lang/" + config.getString("lang"); |
||||
plugin.saveResource(langPath, false); |
||||
//lang = YamlConfiguration.loadConfiguration(plugin.getResource(langPath));
|
||||
private static FileConfiguration langConfig; |
||||
|
||||
|
||||
//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); |
||||
|
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
@ -0,0 +1,66 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.variables; |
||||
|
||||
import com.j256.ormlite.field.DatabaseField; |
||||
import com.j256.ormlite.stmt.QueryBuilder; |
||||
import com.j256.ormlite.table.DatabaseTable; |
||||
|
||||
import java.sql.SQLException; |
||||
|
||||
import static xyz.soukup.mineconomiaCoreV2.database.DatabaseUtil.groupDao; |
||||
|
||||
@DatabaseTable(tableName = "groups") |
||||
public class Group { |
||||
|
||||
@DatabaseField(generatedId = true) |
||||
private int id; |
||||
|
||||
@DatabaseField(unique = true) |
||||
private String name; |
||||
|
||||
@DatabaseField(canBeNull = false) |
||||
private String owner; |
||||
|
||||
@DatabaseField(canBeNull = false) |
||||
private float money; |
||||
|
||||
public int getId() { |
||||
return id; |
||||
} |
||||
|
||||
public void setId(int id) { |
||||
this.id = id; |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public void setName(String name) { |
||||
this.name = name; |
||||
} |
||||
|
||||
public String getOwner() { |
||||
return owner; |
||||
} |
||||
|
||||
public void setOwner(String owner) { |
||||
this.owner = owner; |
||||
} |
||||
|
||||
public float getMoney() { |
||||
return money; |
||||
} |
||||
|
||||
public void setMoney(float money) { |
||||
this.money = money; |
||||
} |
||||
|
||||
public static Group getGroup(String name) throws SQLException { |
||||
QueryBuilder<Group, Integer> queryBuilder = groupDao.queryBuilder(); |
||||
return queryBuilder.where().eq("name", name).queryForFirst(); |
||||
} |
||||
|
||||
public void save() throws SQLException { |
||||
groupDao.update(this); |
||||
} |
||||
} |
||||
@ -0,0 +1,41 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.variables; |
||||
|
||||
import com.j256.ormlite.field.DatabaseField; |
||||
import com.j256.ormlite.table.DatabaseTable; |
||||
|
||||
@DatabaseTable(tableName = "group_memberships") |
||||
public class GroupMembership { |
||||
|
||||
@DatabaseField(generatedId = true) |
||||
private int id; |
||||
|
||||
@DatabaseField(canBeNull = false) |
||||
private String group; |
||||
|
||||
@DatabaseField(canBeNull = false) |
||||
private String member; |
||||
|
||||
public String getGroup() { |
||||
return group; |
||||
} |
||||
|
||||
public void setGroup(String group) { |
||||
this.group = group; |
||||
} |
||||
|
||||
public String getMember() { |
||||
return member; |
||||
} |
||||
|
||||
public void setMember(String member) { |
||||
this.member = member; |
||||
} |
||||
|
||||
public int getId() { |
||||
return id; |
||||
} |
||||
|
||||
public void setId(int id) { |
||||
this.id = id; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue