M
Lel , merke ich auch gerade am PC . Übrigens, die Definition von Wasser zu posten wäre nicht schlechtWenn boolean wasser false ist, setze auf false?!
dankeKe
Lel , merke ich auch gerade am PC . Übrigens, die Definition von Wasser zu posten wäre nicht schlecht
Aber das hat jetzt wenig mit dem InventoryClickEvent zu tun vermute ich.
//EDIT OH DOCH DOCH DOCHIch hatte es nur beim PlayerMoveEvent gelesen
Übrigens , es ist die Trail![]()
Hauptdank geht aber an @Marcosio , ich habe das ganze nur bestätigtdanke![]()
hat alles geklappt!
jz gehts!!!
![]()
:3
Villeicht hast du auf deinem Gameser andere Plugins die dein Minigame blockieren,TroubleCrafterHD schrieb:hi ich hab ein Mini-Game gemacht und es funktioniert auch auf meinem localhost test server aber auf meinem öffentlichen geht es net
hilllfeee
Anhang anzeigen 28154Anhang anzeigen 28154
package me.elimenator1999.Managers;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
public class UUIDManager {
public static Player getPlayer(String playername){
for(Player players : Bukkit.getOnlinePlayers()){
if(players.getName().toLowerCase().equals(playername.toLowerCase())){
return players;
}
}
return null;
}
public static OfflinePlayer getOfflinePlayer(String playername){
for(OfflinePlayer players : Bukkit.getOfflinePlayers()){
if(players.getName().toLowerCase().equals(playername.toLowerCase())){
return players;
}
}
return null;
}
public static UUID getUUID(String playername){
Player p = UUIDManager.getPlayer(playername);
if(p != null){
return p.getUniqueId();
}else{
return null;
}
}
}
package me.elimenator199.Events;
import java.sql.SQLException;
import me.elimenator1999.Managers.UUIDManager;
import me.elimenator1999.MySQL.MySQLEvents;
import me.elimenator1999.UUIDban.Main;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Commands implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String lable,
String[] args) {
Player p = (Player) sender;
if(args.length == 3){
if(args[0].equalsIgnoreCase("playeruuid")){
Player target = UUIDManager.getPlayer(args[1]);
String grund = args[2];
if(p.hasPermission("UUIDban.ban")){
if(target != null){
if(isbanned(target, 1)){
try {
p.sendMessage(Main.pr+"Der Spieler ist bereits gebannt. Der Grund ist: "+MySQLEvents.getBannGrund(target.getUniqueId().toString()));
} catch (SQLException e) {
e.printStackTrace();
}
}else{
try {
MySQLEvents.setBannedornot(target.getUniqueId().toString(), 1);
MySQLEvents.setbanngrund(target.getUniqueId().toString(), grund);
} catch (SQLException e) {
e.printStackTrace();
}
target.kickPlayer(Main.pr+"Du wurdest vom PandadaNetzwerk gebannt§7: §c"+grund+" §7:§3von§7: §2"+p.getName());
p.sendMessage(Main.pr+"Du hast den Spieler §2"+target.getName().toLowerCase()+" §3gebannt");
}
}else{
if(isbanned(target, 1)){
try {
p.sendMessage(Main.pr+"Der Spieler ist bereits gebannt. Der Grund ist: "+MySQLEvents.getBannGrund(target.getUniqueId().toString()));
} catch (SQLException e) {
e.printStackTrace();
}
}else{
try {
MySQLEvents.setBannedornot(target.getUniqueId().toString(), 1);
MySQLEvents.setbanngrund(target.getUniqueId().toString(), grund);
} catch (SQLException e) {
e.printStackTrace();
}
target.kickPlayer(Main.pr+"Du wurdest vom PandadaNetzwerk gebannt§7: §c"+grund+" §7:§3von§7: §2"+p.getName());
p.sendMessage(Main.pr+"Du hast den Spieler §2"+target.getName().toLowerCase()+" §3gebannt");
}
}
}else{
p.sendMessage(Main.pr+"Keine Permission");
}
}
}
return false;
}
public static boolean isbanned(Player target, int banned){
try {
if(MySQLEvents.getbanned(target.getUniqueId().toString()) == banned){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
}
Ich bin kurz durchgerushed, du importierst java.util.UUIDIch hab ein Problemm mit meinem Plugin. Ich hab kein Plugin geschrieben wo ich die uuid eines Spielers banne. aber irgend wie kann ich keine spiler bannen die offline sind. Ich weiß auch woran das liegt weil das plugin wenn der spielr offline ist null zurücck gibt aber wie mach ich es das er das nicht tut? hir der code des UUIDManagers:
Code:package me.elimenator1999.Managers; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; public class UUIDManager { public static Player getPlayer(String playername){ for(Player players : Bukkit.getOnlinePlayers()){ if(players.getName().toLowerCase().equals(playername.toLowerCase())){ return players; } } return null; } public static OfflinePlayer getOfflinePlayer(String playername){ for(OfflinePlayer players : Bukkit.getOfflinePlayers()){ if(players.getName().toLowerCase().equals(playername.toLowerCase())){ return players; } } return null; } public static UUID getUUID(String playername){ Player p = UUIDManager.getPlayer(playername); if(p != null){ return p.getUniqueId(); }else{ return null; } } }
und hir der code des commands:
Code:package me.elimenator199.Events; import java.sql.SQLException; import me.elimenator1999.Managers.UUIDManager; import me.elimenator1999.MySQL.MySQLEvents; import me.elimenator1999.UUIDban.Main; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commands implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { Player p = (Player) sender; if(args.length == 3){ if(args[0].equalsIgnoreCase("playeruuid")){ Player target = UUIDManager.getPlayer(args[1]); String grund = args[2]; if(p.hasPermission("UUIDban.ban")){ if(target != null){ if(isbanned(target, 1)){ try { p.sendMessage(Main.pr+"Der Spieler ist bereits gebannt. Der Grund ist: "+MySQLEvents.getBannGrund(target.getUniqueId().toString())); } catch (SQLException e) { e.printStackTrace(); } }else{ try { MySQLEvents.setBannedornot(target.getUniqueId().toString(), 1); MySQLEvents.setbanngrund(target.getUniqueId().toString(), grund); } catch (SQLException e) { e.printStackTrace(); } target.kickPlayer(Main.pr+"Du wurdest vom PandadaNetzwerk gebannt§7: §c"+grund+" §7:§3von§7: §2"+p.getName()); p.sendMessage(Main.pr+"Du hast den Spieler §2"+target.getName().toLowerCase()+" §3gebannt"); } }else{ if(isbanned(target, 1)){ try { p.sendMessage(Main.pr+"Der Spieler ist bereits gebannt. Der Grund ist: "+MySQLEvents.getBannGrund(target.getUniqueId().toString())); } catch (SQLException e) { e.printStackTrace(); } }else{ try { MySQLEvents.setBannedornot(target.getUniqueId().toString(), 1); MySQLEvents.setbanngrund(target.getUniqueId().toString(), grund); } catch (SQLException e) { e.printStackTrace(); } target.kickPlayer(Main.pr+"Du wurdest vom PandadaNetzwerk gebannt§7: §c"+grund+" §7:§3von§7: §2"+p.getName()); p.sendMessage(Main.pr+"Du hast den Spieler §2"+target.getName().toLowerCase()+" §3gebannt"); } } }else{ p.sendMessage(Main.pr+"Keine Permission"); } } } return false; } public static boolean isbanned(Player target, int banned){ try { if(MySQLEvents.getbanned(target.getUniqueId().toString()) == banned){ return true; } } catch (SQLException e) { e.printStackTrace(); } return false; } }
Bitte helft mit.
Mfg
elimenator1999
JoHast du eigentlich den Fehler jzt gefixt bekommen oder was
Wenn der Spieler nicht online ist, dann musst du natürlich auch die getOfflinePlayer()-Methode benutzen. Hab's jetzt nur überflogen, aber das sollte wohl das Problem sein. Die haste da ja nicht ohne Grund.Nein mein problem ist ja das er beim abfragen if(target != null){
}else{
//hir ein fehler raushaut weil der spieler nicht online ist! Das ist ja das Problem.
}
Wenn der Spieler nicht online ist, dann musst du natürlich auch die getOfflinePlayer()-Methode benutzen. Hab's jetzt nur überflogen, aber das sollte wohl das Problem sein. Die haste da ja nicht ohne Grund.![]()
Also die JDocs sagen zumindest mal, dass es geht.Dan heißte es aber:
OfflinePlayer target = UUIDManager.getOfflinePlayer(args[1]);
Und bei dieser OfflinePlayer target methode kann man keine UUID abfragen so weit ich es weiß.
Vorerst würde ich dir empfehlen keine Sprachen in Methodennamen zu nutzen. "setBannGrund" sollte lieber "setBanReason" heißen.Dan heißte es aber:
OfflinePlayer target = UUIDManager.getOfflinePlayer(args[1]);
Und bei dieser OfflinePlayer target methode kann man keine UUID abfragen so weit ich es weiß.
Vorerst würde ich dir empfehlen keine Sprachen in Methodennamen zu nutzen. "setBannGrund" sollte lieber "setBanReason" heißen.
Und bei den 100 Fragen die du hier zu diesem Thema hast, empfehle ich dir das entsprechende API-Forum zu nutzen. Dort können dir die Nutzer gründlicher helfen als hier. Und haben mehr Erfahrung, was auch das Erfassen deines Problems betrifft. Habe bis jetzt nicht verstanden was du willst; du hättest deinen Code wenigstens in nen Spoiler machen können, wenn's sowas gibt.
Habe auch nie gesagt, dass du es nicht getan hast. Lediglich eine "Textverkleinerung" wäre freundlicher.ich hab code hir rein gestellt wenn du es noch nicht gesehen hast!