Hey alle zusammen ich habe ein problem bei meinem code
sobald ich ihn auf meinem server ausführe bekomme ich eine Exeption
das der event path nicht ausgeführt werden kann.
Als ich in meinem code den cooldown raus genommen habe hat alles funktioniert, ich bin stück für stück durch gegangen und bin der meinung das es etwas mit der Hashmap zutun hat und wollte fragen ob es eine alternative gibt oder wie man das problem fixen könnte, den ohne funktioniert es ja nur mit ihm eben leider nicht.
Der code soll folgendes bewirken wen man ein Item in dem fall den Netherstern aus minecraft mit rechtclick ausführt soll es mich zu meinem Spawn bringen + 10 minuten cooldown bevor ich es wieder verwenden kann.
Code:
package de.unknow.commands;
import org.bukkit.inventory.ItemStack;
import de.unknow.listener.Particle;
import net.minecraft.server.v1_8_R3.EnumParticle;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.Material;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.Sound;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
public class Interakt_Items implements Listener {
private HashMap<String, Long> tcd;
public void Interakt() {
this.tcd = new HashMap<String, Long>();
}
public void Spawn(final Player player) {
if (player.hasPermission("ess.tpks")) {
final Long time = System.currentTimeMillis();
if (this.tcd.containsKey(player.getName())) {
final Long lastUse = this.tcd.get(player.getName());
if (lastUse + 600000L > time) {
return;
}
final Location loc = new Location(Bukkit.getWorld("world"), 184.1, 115.5, -42.1);
loc.setYaw(-179.0f);
loc.setPitch(0.0f);
final Particle particle = new Particle(EnumParticle.FLAME, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle2 = new Particle(EnumParticle.PORTAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle3 = new Particle(EnumParticle.SMOKE_NORMAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
particle.sendPlayer(player);
particle2.sendPlayer(player);
particle3.sendPlayer(player);
player.playSound(player.getLocation(), Sound.GHAST_FIREBALL, 1.0f, 1.0f);
player.teleport(loc);
player.playSound(player.getLocation(), Sound.GHAST_FIREBALL, 1.0f, 1.0f);
final Particle particle4 = new Particle(EnumParticle.FLAME, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle5 = new Particle(EnumParticle.PORTAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle6 = new Particle(EnumParticle.SMOKE_NORMAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
particle4.sendPlayer(player);
particle5.sendPlayer(player);
particle6.sendPlayer(player);
player.sendMessage("§e[§3Info§e]§3 Coldown 10 min");
this.tcd.put(player.getName(), time);
}
}else
player.sendMessage("§e[§3Prof:Eich§e]§3 Es ist noch nicht an der zeit dieses item zu Benutzen !");
}
public void Home(final Player player) {
if (player.hasPermission("ess.tpkh")) {
player.sendMessage("§e[§3System§e]§4§l In Arbeit !");
}else {
player.sendMessage("§e[§3System§e]§4§l In Arbeit !");
}
}
[MENTION=555807]event[/MENTION]Handler
public void TPKristall(final PlayerInteractEvent event) {
if (event.getItem().getType() != Material.NETHER_STAR) {
return;
}
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
this.Spawn(event.getPlayer());
}
if (event.getAction() == Action.LEFT_CLICK_AIR || event.getAction() == Action.LEFT_CLICK_BLOCK) {
this.Home(event.getPlayer());
}
}
[MENTION=555807]event[/MENTION]Handler
public void Rucksack(final PlayerInteractEvent event) {
if (event.getItem().getType() != Material.CHEST) {
return;
}
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
this.Tasche1(event.getPlayer());
}
}
[MENTION=555807]event[/MENTION]Handler
public void on(final InventoryCloseEvent e) {
final Player player = (Player)e.getPlayer();
if (e.getInventory().getName().equals("§cRucksack-LVL(1)§f -§3 "+player.getName())) {
this.SaveTaschel1(player, e.getInventory());
player.playSound(player.getLocation(), Sound.CHEST_CLOSE, 1.0f, 1.0f);
}
}
public void Tasche1(final Player player) {
if (player.hasPermission("ess.backpack")) {
final Inventory inv = Bukkit.createInventory((InventoryHolder)null, 9, "§cRucksack-LVL(1)§f -§3 "+player.getName());
for (int i = 0; i < 9; ++i) {
final ItemStack item =de.mietzalarm.main.Main.getPlugin().getData.getItemStack("Tasche1." + player.getUniqueId() + " | " + player.getName() + "." + i);
inv.setItem(i, item);
}
player.playSound(player.getLocation(), Sound.CHEST_OPEN, 1.0f, 1.0f);
player.openInventory(inv);
}else {
player.sendMessage("§e[§3Elice]§4 Du bist kein Spieler dieses Servers. Bitte wende dich an den Support!");
}
}
private void SaveTaschel1(final Player player, final Inventory inv) {
for (int i = 0; i < 9; ++i) {
final ItemStack item = inv.getItem(i);
de.unknow.main.Main.getPlugin().getData.set("Tasche1." + player.getUniqueId() + " | " + player.getName() + "." + i, (Object)item);
de.unknow.main.Main.getPlugin().saveData();
}
}
}
Wo ich denke wo das problem liegt
Code:
private HashMap<String, Long> tcd;
public void Interakt() {
this.tcd = new HashMap<String, Long>();
}
oder
Code:
final Long time = System.currentTimeMillis();
if (this.tcd.containsKey(player.getName())) {
final Long lastUse = this.tcd.get(player.getName());
if (lastUse + 600000L > time) {
return;
}
Ausgelöst wird das ganze hiermit
Code:
this.tcd.put(player.getName(), time);
Ich hoffe wirklich ihr könnt mir dabei helfen
hab schon echt viel ausprobiert und der code hat auch mal früher funktioniert jedoch wahr das schon wirklich sehr lang her und weiß leider nicht wo der fehler liegt
Console Error Bericht;
Code:
[09:30:42 ERROR]: Could not pass event PlayerInteractEvent to Ess v1.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:228) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:195) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:191) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:717) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_251]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_251]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: java.lang.NullPointerException
at de.unknow.commands.Interakt_Items.Spawn(Interakt_Items.java:36) ~[?:?]
at de.unknow.commands.Interakt_Items.TPKristall(Interakt_Items.java:82) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_251]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_251]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
... 18 more
Probiere schon die ganze zeit rum wie das ungefähr sein muss, ich bin leider etwas eingerostet was das angeht ^^"
Ich peils einfach nicht, ich habs jetzt geschafft das es wieder funktioniert mit dem code, jedoch nicht das der code so ausgeführt wird wie er eigentlich gedacht ist (das es eben ein cooldown exestiert)
ich kann leider immernoch none stop durchspamen :/
Code:
if (player.hasPermission("ess.tpks")) {
this.tcd = new HashMap<String, Long>();
final Long time = System.currentTimeMillis();
this.tcd.put(player.getName(), time);
final Long lastUse = this.tcd.get(player.getName());
player.sendMessage("§e[§3Info§e]§3 Coldown 10 min");
if (lastUse + 600000L > time) {
if (this.tcd.containsKey(player.getName())) {
final Location loc = new Location(Bukkit.getWorld("world"), 184.1, 115.5, -42.1);
loc.setYaw(-179.0f);
loc.setPitch(0.0f);
final Particle particle = new Particle(EnumParticle.FLAME, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle2 = new Particle(EnumParticle.PORTAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle3 = new Particle(EnumParticle.SMOKE_NORMAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
particle.sendPlayer(player);
particle2.sendPlayer(player);
particle3.sendPlayer(player);
player.playSound(player.getLocation(), Sound.GHAST_FIREBALL, 1.0f, 1.0f);
player.teleport(loc);
player.playSound(player.getLocation(), Sound.GHAST_FIREBALL, 1.0f, 1.0f);
final Particle particle4 = new Particle(EnumParticle.FLAME, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle5 = new Particle(EnumParticle.PORTAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
final Particle particle6 = new Particle(EnumParticle.SMOKE_NORMAL, player.getLocation().add(0.0, 2.25, 0.0), true, 0.75f, 0.75f, 0.75f, 0.0f, 10, null);
particle4.sendPlayer(player);
particle5.sendPlayer(player);
particle6.sendPlayer(player);
}
return;
}
}else
player.sendMessage("§e[§3Prof:Eich§e]§3 Es ist noch nicht an der zeit dieses item zu Benutzen !");
Ich befürchte einfach das ich zu sehr raus bin aus java das ich es einfach nicht checke was ich falsch mache.
Also dafür das du kein Java kannst bist du mir eine echte Hilfe es funktioniert nun alles wieder
daran hab ich ehrlich gesagt überhaupt nicht dran gedacht [public Interakt_Items() {]
Ist mir komplett untergegangen aber nicht nur mir auch meinen 2 Informatiker freunden :'D
wir haben alle 3 daran verzweifelt diesen kack code zum laufen zu kriegen xD
[Buying] Kaufe Perins auf Eclipse Flyff | Buying Perins on Eclipse Flyff 05/31/2020 - Flyff Trading - 1 Replies Hallo zusammen,
ich würde gerne ein paar Perins auf Eclipse Flyff kaufen.
Bezahlung am liebsten über PayPal oder Überweisung.
Erreichen könnt ihr mich über PN oder per Skype (b_brandmeier).
MfG
---------------------------------------
Hello everybody,
I want to buy some perins on Eclipse Flyff. Payment through PayPal or Bank Transfer.
Elemente aus einer Liste in eine HashMap(?) 11/30/2017 - Java - 2 Replies Hey, folgendes "Problem":
Ich habe eine Liste mit x Elementen (könnten tausende, hunderte oder auch Millionen sein) das Element ist "User" (hat z.B. ein Feld "Username" und eins "Datum").
Beispiel:
User1 ("name1", "01.01.2017")
User2 ("name2", "01.01.2017")
User3 ("name3", "01.01.2017")
User4 ("name4", "03.01.2017")
Java HashMap 11/18/2016 - Java - 3 Replies Hallo alle zusammen!
Da ich bei dem Thema krank war und schleunigst Hilfe benötige, da die Zeit drängt und ich es leider nicht schaffe, wollte ich fragen, ob es Freiwillige gibt, die mir bei meinem Programm helfen würden.
Vielen lieben Dank im vorraus!:handsdown:
(implementierung bereits vorhanden)