A
Aaronmacaron
Unregistriert
Das ist ja das was ich machen will.Für ne ausführbare Server-Datei müsste ich dir spigot senden![]()
Das ist ja das was ich machen will.Für ne ausführbare Server-Datei müsste ich dir spigot senden![]()
Nein, die hatten die Jar schon vorher. Außerdem werden auf SpigotMC.org regelmäßig Binary-Patches releast, d.h. mit einem Patcher kann man die Jar-Dateien updaten, ohne nms Klassen erneut herunterzuladen.Aber dann wären die ganzen Server die momentan laufen (z.B Gommehd.net) illegal.
DankeWieder mal ein nicht objektorientierter Java-Code von mir, auf dessen Informationen du von anderen Klassen ohne weiteres zugreifen kannst(statische Referenzen).
Wenn du was von Objektorientierter Programmierung verstehst, sende ich dir gerne auch eine solche Version zu.
Deine Frage ist auch etwas zweideutig formuliert xD
Du sagst, wenn man einen TNT-Block rechtsklickt, dein Code sagt, wenn man ein TNT-Item rechtsklickt.
Habe ein Paar Fehler korrigiert
Hier der Code (nicht getestet!):
PHP://True wenn Spieler im SilentHub ist - wird nur gespeichert solange der Server nicht reloaded wird //Für dauerhaftes Speichern am besten Redis/MySQL nutzen, wenn du wissen willst wie, lass es mich wissen ;) public static HashMap<Player, Boolean> playersInSilentHub = new HashMap<Player,Boolean>(); @EventHandler public void on(PlayerInteractEvent e) { Player p = e.getPlayer(); if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getItem().getType() == Material.TNT) { if (e.getItem().getItemMeta().getDisplayName() .equalsIgnoreCase("§e§lSilent-Hub")) { //Ist Spieler imSilentHub if(playersInSilentHub.get(p)){ for (Player player : Bukkit.getOnlinePlayers()) { p.showPlayer(player); } p.playSound(p.getLocation(), Sound.WITHER_DEATH, 1, 2); p.playEffect(p.getLocation(), Effect.SMOKE, 2); p.sendMessage(prefix + "§2Du hast den §eSilent-Hub§2 verlassen!"); playersInSilentHub.put(p, false); }else{ for (Player player : Bukkit.getServer().getOnlinePlayers()) { p.hidePlayer(player); } //Dieser Block von Anweisungen muss außerhalb der For-Schleife sein. Er wird sonst so oft ausgeführt, wie Spieler online sind. //->Java Basics For-Schleifen p.sendMessage(prefix + "§2Du bist nun in der §eSilent-Hub§2!"); p.playSound(p.getLocation(), Sound.ENDERMAN_TELEPORT, 1, 5); p.playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 2); playersInSilentHub.put(p, true); } } } } } //Spieler kann direkt beim Joinen zum InvisibleHub geaddet werden. @EventHandler public void onPlayerJoin(PlayerJoinEvent e){ if(!playersInSilentHub.containsKey(e.getPlayer())){ playersInSilentHub.put(e.getPlayer(), false); }else{ e.getPlayer().sendMessage(prefix + "§2 Du befindest dich im §eSilentHub"); for(Player p : Bukkit.getOnlinePlayers()){ e.getPlayer().hidePlayer(p); } } }
http://spigotmc.info/Funktioniert leider nichtFrüher ging das immer. Jetzt kommt diese Meldung "kein Hauptmanifestattribut, in craftbukkit_1.7.9.jar"
Wieso erstellst du denn eine HashMap mit Player + Boolean , anstatt einfach ne ArrayList du banauseWieder mal ein nicht objektorientierter Java-Code von mir, auf dessen Informationen du von anderen Klassen ohne weiteres zugreifen kannst(statische Referenzen).
Wenn du was von Objektorientierter Programmierung verstehst, sende ich dir gerne auch eine solche Version zu.
Deine Frage ist auch etwas zweideutig formuliert xD
Du sagst, wenn man einen TNT-Block rechtsklickt, dein Code sagt, wenn man ein TNT-Item rechtsklickt.
Habe ein Paar Fehler korrigiert
Hier der Code (nicht getestet!):
PHP://True wenn Spieler im SilentHub ist - wird nur gespeichert solange der Server nicht reloaded wird //Für dauerhaftes Speichern am besten Redis/MySQL nutzen, wenn du wissen willst wie, lass es mich wissen ;) public static HashMap<Player, Boolean> playersInSilentHub = new HashMap<Player,Boolean>(); @EventHandler public void on(PlayerInteractEvent e) { Player p = e.getPlayer(); if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getItem().getType() == Material.TNT) { if (e.getItem().getItemMeta().getDisplayName() .equalsIgnoreCase("§e§lSilent-Hub")) { //Ist Spieler imSilentHub if(playersInSilentHub.get(p)){ for (Player player : Bukkit.getOnlinePlayers()) { p.showPlayer(player); } p.playSound(p.getLocation(), Sound.WITHER_DEATH, 1, 2); p.playEffect(p.getLocation(), Effect.SMOKE, 2); p.sendMessage(prefix + "§2Du hast den §eSilent-Hub§2 verlassen!"); playersInSilentHub.put(p, false); }else{ for (Player player : Bukkit.getServer().getOnlinePlayers()) { p.hidePlayer(player); } //Dieser Block von Anweisungen muss außerhalb der For-Schleife sein. Er wird sonst so oft ausgeführt, wie Spieler online sind. //->Java Basics For-Schleifen p.sendMessage(prefix + "§2Du bist nun in der §eSilent-Hub§2!"); p.playSound(p.getLocation(), Sound.ENDERMAN_TELEPORT, 1, 5); p.playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 2); playersInSilentHub.put(p, true); } } } } } //Spieler kann direkt beim Joinen zum InvisibleHub geaddet werden. @EventHandler public void onPlayerJoin(PlayerJoinEvent e){ if(!playersInSilentHub.containsKey(e.getPlayer())){ playersInSilentHub.put(e.getPlayer(), false); }else{ e.getPlayer().sendMessage(prefix + "§2 Du befindest dich im §eSilentHub"); for(Player p : Bukkit.getOnlinePlayers()){ e.getPlayer().hidePlayer(p); } } }
Ja es funktioniert
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.mojang:AccountsClient:jar:unspecified in bukkit-repo (http://repo.bukkit.org/content/groups/public/)
Ich würd mich gern mit Maven auskennen, tue es aber nicht ._.Hat jemand ne Ahnung, wieso ich mit Maven nen Error beim "runnen" bekomme?
Weiß jemand, wie ich den fixen kann. Ich denke ich brauche ne andere public repo, falls es noch eine gibt.PHP:Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.mojang:AccountsClient:jar:unspecified in bukkit-repo (http://repo.bukkit.org/content/groups/public/)
Verständnis, würde er die Grundlagen von Java gut kennen, hätte er nicht fragen müssen. Außerdem kann man das so auf andere Sachen wie z.B. Kills übertragen, falls man keine OOP kann, und es kennt nicht jeder HashMaps ..Wieso erstellst du denn eine HashMap mit Player + Boolean , anstatt einfach ne ArrayList du banause![]()
ItemStack extra = new ItemStack(Material.valueOf(this.getConfig().getString("Respawnkit.Extra1")), this.getConfig().getString("Respawnkit.Extra1.Anzahl"));
ItemStack extra1 = new ItemStack(Material.valueOf(this.getConfig().getString("Respawnkit.Extra2")), this.getConfig().getString("Respawnkit.Extra2.Anzahl"));
ItemStack extra2 = new ItemStack(Material.valueOf(this.getConfig().getString("Respawnkit.Extra")), this.getConfig().getString("Respawnkit.Extra3.Anzahl"));
Die bukkit repo stimmt schon. Ich hatte das Problem auch mal, könntest du vlt deine pom.xml Datei auf pastebin oder so posten?-SNIP-
Danke dirEinen Mob spawnst du mit der spawnEntity-Methode der World-Klasse (http://jd.bukkit.org/rb/doxygen/dd/daa/interfaceorg_1_1bukkit_1_1World.html). Zählen kannst du das Ganze mit dem EntityDeathEvent. Dort überprüfst du einfach, ob ein Mob getötet wurde und erhöhst die Anzahl des Spielers.![]()