Skocz do zawartości

XXXXXXXXXX

Użytkownik
  • Ilość zawartości

    100
  • Rejestracja

  • Ostatnia wizyta

Treść opublikowana przez XXXXXXXXXX

  1. w takim razie czemu ma się równać List<String> ???
  2. więc tak mam obiekt user w którym jest List<String> jeżeli zamiast tego dam np boolean to działa, ale błąd nie w tym: klasa user.class private String name; private UUID uuid; private List<String> msg; private User(Player p){ this.uuid = p.getUniqueId(); this.name = p.getName(); this.msg = Arrays.asList(""); UserManager.addUser(this); } public void setMsg(List<String> s){ this.msg = s; } public void addMsg(String s){ this.msg.add(s); } public void removeMsg(String s){ this.msg.remove(s); } public List<String> getMsg(){ return this.msg; } private User(UUID uuid){ this.uuid = uuid; UserManager.addUser(this); } public String getName() { return this.name; } public UUID getUUID() { return this.uuid; } public void setName(String name) { this.name = name; } public void setUUID(UUID uuid) { this.uuid = uuid; } //tutaj jest pobieranie user itd i teraz jeżeli w PlayerJoinEvent robię Usera następnie dodaje string do LIst<String> u.addMsg("xd"); i puźni p.sendMessage(u.getMsg().toString()); to nic się nie wyświetla, proszę o pomoc
  3. czyli 1. nie da się??
  4. 1. Czy da się za pomocą bungeecorda pobrać dany serwer a następnie pobrać config z danego pluginu? 2. Jak pobrać liczbę graczy z serwera lobby? 3. Da ktoś BungeecordAPI do build path bo nie mogę znaleść??
  5. ale rozumiesz że nie da się getBlock jeżeli blok jest stworzony dla gracza przez sendBlockChange bo np ktoś go edytuje i mam go ustawiać na AIR, pomyśl trochę ??
  6. Czy istnieje metoda getBlockChange()? bo ustawiam block graczowi i późni sprawdzam czy loc.getBlock().getType().equlas //bla bla ale to nie działa bo przecież blok poprzednio jest tworzony tylko dla jednego gracza...
  7. @EventHandler public void onMove(PlayerMoveEvent e){ if(e.getPlayer().getItemInHand()==null) return; Player p = (Player ) e.getPlayer(); User u = User.get(p); Location target1 = p.getTargetBlock((Set<Material>) null, 5).getLocation().add(0, 1, 0); boolean b; b = false; if(target1.getBlockX()==u.X()){ b=false; }else{ b=true; } if(target1.getBlockY()==u.Y()){ b=false; }else{ b=true; } if(target1.getBlockZ()==u.Z()){ b=false; }else{ b=true; } if(b==true){ Location loc = new Location(Bukkit.getWorld(p.getWorld().getName()),u.X(),u.Z(),u.Y()); p.sendBlockChange(target1, 95, (byte)5); u.X(target1.getBlockX()); u.Y(target1.getBlockY()); u.Z(target1.getBlockZ()); return; } if(target1.getBlock().getRelative(BlockFace.DOWN).equals(Material.AIR)) return; if(target1.getBlock().getType()!=Material.AIR) return; p.sendBlockChange(target1, 95, (byte)14); } Pomoże ktoś to zrobić że zapisuje lokacje do zmiennych X Y Z i zmienia blok AIR na STAINED_GLASS:5 a jeżeli gracz zmieni pozycje targetBlock to odczytuje lokacje z usera X Y Z i zmienia ten blok na STAINED_GLASS:14 Bo zrobiłem to ale działa to trochę inaczej ;(
  8. a teraz pytanie, czy da się jakoś usunąć wszystkie bloki które zostały stworzone tylko dla danego gracza jakaś pętla ???
  9. Czemu getTargetBlock podkreśla mi na czerwono? @LloydPL powiesz co to ma być event, task, daj cały kod! https://imgur.com/a/ddkZO
  10. Nie rozumiem tego jak mam stworzyć ten blok tylko jednemu graczowi jeżeli nie ma tam nigdzie Player???
  11. @yooniks jest tylko sendBlockChange w 1.8
  12. Jak stworzyć blok żeby widział go tylko jeden gracz?
  13. @LloydPL jak wrócę do domu to sprawdzę czy działa
  14. @up czekam na gotowca jeżeli płacę cnie?
  15. Witam, za dobry kod daję 10psc Więc tak, Chcę zrobić takie coś jeżeli gracz się patrzy na blok np dirt i wyżej BlockFace.UP jest material == AIR to podmienia AIR na TNT jeżeli gracz szybko zmieni położenie myszki (spojrzy się na inny blok to te wcześniejsze tnt znika i tworzy tnt w nowej lokacji!) FAST POMOCY!
  16. Zrobiłem to i działa zapisywanie ale nie wiem jak pobrać np int xd z bazy przy loadPlayers pomocy!!!! private Connection connection; public String host, database, username, password, table; public int port; public void mysqlSetup() { host = "//"; port = //; database = "//"; username = "//"; password = "//"; table = "//"; try { synchronized (this) { if (getConnection() != null && !getConnection().isClosed()) { return; } Class.forName("com.mysql.jdbc.Driver"); setConnection( DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database, this.username, this.password)); Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "MYSQL CONNECTED"); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public Connection getConnection() { return connection; } public void setConnection(Connection connection) { this.connection = connection; } public boolean playerExists(UUID uuid) { try { PreparedStatement statement = getConnection() .prepareStatement("SELECT * FROM " + table + " WHERE UUID=?"); statement.setString(1, uuid.toString()); ResultSet results = statement.executeQuery(); if (results.next()) { getServer().broadcastMessage(ChatColor.YELLOW + "Player Found"); return true; } getServer().broadcastMessage(ChatColor.RED + "Player NOT Found"); } catch (SQLException e) { e.printStackTrace(); } return false; } public void createPlayers(){ try{ for(User u : UserManager.getUsers()){ PreparedStatement statement = getConnection().prepareStatement("SELECT * FROM " + table + " WHERE UUID=?"); statement.setString(1, u.getUUID().toString()); ResultSet results = statement.executeQuery(); results.next(); System.out.print(1); if(playerExists(u.getUUID()) != true){ PreparedStatement insert = getConnection().prepareStatement("INSERT INTO " + table + " (UUID,NAME,COINS) VALUES (?,?,?)"); insert.setString(1, u.getUUID().toString()); insert.setString(2, u.getName()); insert.setInt(3, u.getXD()); } } }catch (SQLException e){ e.printStackTrace(); } } public void loadPlayers(){ try{ PreparedStatement statement = getConnection().prepareStatement("SELECT * FROM " + table + " WHERE UUID=?"); for(User u : UserManager.getUsers()){ statement.setString(1, u.getUUID().toString()); ResultSet results = statement.executeQuery(); results.next(); System.out.print(1); if(playerExists(u.getUUID()) != true){ PreparedStatement insert = getConnection().prepareStatement("INSERT INTO " + table + " (UUID,NAME,COINS) VALUES (?,?,?)"); } } }catch (SQLException e){ e.printStackTrace(); } } public void createPlayer(final UUID uuid, Player player) { try { PreparedStatement statement = getConnection() .prepareStatement("SELECT * FROM " + table + " WHERE UUID=?"); statement.setString(1, uuid.toString()); ResultSet results = statement.executeQuery(); results.next(); System.out.print(1); if (playerExists(uuid) != true) { PreparedStatement insert = getConnection() .prepareStatement("INSERT INTO " + table + " (UUID,NAME,COINS) VALUES (?,?,?)"); insert.setString(1, uuid.toString()); insert.setString(2, player.getName()); insert.setInt(3, 500); insert.executeUpdate(); getServer().broadcastMessage(ChatColor.GREEN + "Player Inserted"); } } catch (SQLException e) { e.printStackTrace(); } } jak pobrać te dane???
  17. jestem noobem może ktoś mi tam wstawić 1-uuid 2-name 3-boolean(banned) 4-String(s1) 5-String(s2)
  18. conn.prepareStatement(sb); jak mam to zrobić? bo tak nie działa
  19. powie ktoś w której linijce jest błąd?
  20. private static Connection conn; private void checkTable(){ openConnection(); StringBuilder sb = new StringBuilder(); sb.append("create table if not exists user("); sb.append("uuid varchar(100) not null,"); sb.append("name varchar(50) not null,"); sb.append("banned boolean not null,"); sb.append("s1 varchar(50) not null,"); sb.append("s2 varchar(50) not null,"); sb.append("primary key(uuid));"); try { conn.createStatement().executeUpdate(sb.toString()); } catch (SQLException e) { e.printStackTrace(); } closeConnection(); } private void loadData() throws SQLException{ openConnection(); int i = 0; ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM `user`"); while(rs.next()){ User u = User.get(UUID.fromString(rs.getString("uuid"))); u.setName(rs.getString("name")); u.setbanned(rs.getBoolean("banned")); u.setlayerArenaName(rs.getString("s1")); u.sets2(rs.getString("s2")); i++; } Bukkit.getConsoleSender().sendMessage("§2Load " + i + " users succes!"); closeConnection(); } private static void saveData() throws SQLException{ openConnection(); int i = 0; for(User u : UserManager.getUsers()){ StringBuilder sb = new StringBuilder(); sb.append("INSERT INTO user (uuid, name, banned, s1, s2) VALUES ("); sb.append("'" + u.getUUID().toString() +"',"); sb.append("'" + u.getName() +"',"); sb.append("'" + u.getbanned() +"',"); sb.append("'" + u.gets1() +"',"); sb.append("'" + u.gets2() +"'"); sb.append(") ON DUPLICATE KEY UPDATE "); sb.append("name='" + u.getName() +"',"); sb.append("banned='" + u.getbanned() +"',"); sb.append("s1='" + u.gets1() +"',"); sb.append("s2='" + u.gets2() +"';"); conn.createStatement().executeUpdate(sb.toString()); i++; } Bukkit.getConsoleSender().sendMessage("§2Saved "+i+" users succes!"); closeConnection(); } private synchronized static void openConnection(){ if(!isConnected()){ try{ conn = DriverManager.getConnection("usuniete :)"); } catch(SQLException e){ e.printStackTrace(); } } } private synchronized static void closeConnection(){ if(isConnected()){ try{ conn.close(); } catch(SQLException e){ e.printStackTrace(); } } } public static boolean isConnected() { try{ if(conn == null) return false; if(conn.isClosed()) return false; } catch(SQLException e){ e.printStackTrace(); } return true; } zmieniłem Stringi na s1 i s2 bo nie mogę ich ujawnić
  21. 140 to conn.createStatement().executeUpdate(sb.toString());
  22. więc tak mam User i gdy zapisuję to do mysql to jest taki błąd [19:04:29 WARN]: java.sql.SQLException: Incorrect integer value: 'false' for column 'banned' at row 1 [19:04:29 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) [19:04:29 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) [19:04:29 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) [19:04:29 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) [19:04:29 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) [19:04:29 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) [19:04:29 WARN]: at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662) [19:04:29 WARN]: at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581) [19:04:29 WARN]: at pl.main.Main.saveData(Main.java:140) [19:04:29 WARN]: at pl.main.Main.onDisable(Main.java:62) [19:04:29 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:323) [19:04:29 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:364) [19:04:29 WARN]: at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:424) [19:04:29 WARN]: at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:417) [19:04:29 WARN]: at org.bukkit.plugin.SimplePluginManager.clearPlugins(SimplePluginManager.java:458) [19:04:29 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:708) [19:04:29 WARN]: at org.bukkit.Bukkit.reload(Bukkit.java:535) [19:04:29 WARN]: at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [19:04:29 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [19:04:29 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [19:04:29 WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [19:04:29 WARN]: at java.util.concurrent.FutureTask.run(FutureTask.java:266) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [19:04:29 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [19:04:29 WARN]: at java.lang.Thread.run(Thread.java:748) coś nie tak z booleanem banned jak coś to tak sprawdzam sb.append("banned boolean not null,"); pomocy
  23. Poda ktoś jakiegoś voida który kopiuję świat który podajemy w string i nadaje mu nazwę którą dajemy w string2 ???
  24. takie coś ma być na tym gicie? servers: ip: true/false ??
×
×
  • Dodaj nową pozycję...