Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 08:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java 1.8-1.8.9 Eclipse Hashmap exeption i think

Discussion on Java 1.8-1.8.9 Eclipse Hashmap exeption i think within the Java forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
Java 1.8-1.8.9 Eclipse Hashmap exeption i think

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
ProDielerNR(1) is offline  
Old 06/05/2020, 16:16   #2
 
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
Der eigentliche Fehler ist der hier:
Code:
Caused by: java.lang.NullPointerException
        at de.mietzalarm.commands.Interakt_Items.Spawn(Interakt_Items.java:36) ~[?:?]

Zeile 36: if (this.tcd.containsKey(player.getName())) {

Meine Vermutung:
  • this.tcd wird in Interakt() gesetzt
  • Interakt() wird nicht, oder erst nach Spawn() aufgerufen
  • this.tcd ist daher null

War Interakt() vielleicht mal ein Konstruktor der beim Umbenennen verloren gegangen ist?
florian0 is offline  
Thanks
1 User
Old 06/05/2020, 19:10   #3
 
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
Gut möglich :?

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.
ProDielerNR(1) is offline  
Old 06/06/2020, 09:20   #4
 
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
Ja jetzt erstellst du ja auch die HashMap mit jedem Aufruf neu. Dabei werden die alten Einträge gelöscht. Kein Wunder, dass das dann nicht geht.

Ich kann kein Java. Aber was ich so auf Stackoverflow gefunden habe deutet darauf hin das Interakt mal der Konstruktor war.

Code:
    public void Interakt() {
        this.tcd = new HashMap<String, Long>();
    }
Also verwandeln wir ihn mal in den Konstruktor von Interakt_Items

Code:
    public Interakt_Items() {
        this.tcd = new HashMap<String, Long>();
    }
florian0 is offline  
Thanks
1 User
Old 06/06/2020, 12:47   #5
 
elite*gold: 0
Join Date: Jan 2013
Posts: 131
Received Thanks: 11
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

[Closed Quest]
ProDielerNR(1) is offline  
Closed Thread


Similar Threads Similar Threads
[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)
WTB Shaiya ES Gold Eclipse server/Compro oro shaiya ES Eclipse servidor
04/16/2015 - Shaiya Trading - 0 Replies
WTB Shaiya ES Gold Eclipse server/Compro oro shaiya ES Eclipse servidor
K2 Exeption
01/15/2010 - Heroes of Newerth - 0 Replies
pano po i solve k2 exeption?



All times are GMT +1. The time now is 08:46.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.