Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] [JAVA] [PLUGIN] Helpp ;D


Rekomendowane odpowiedzi

Opublikowano

Problem :

 

 

 

[21:27:05 ERROR]: Could not pass event EntityDamageByEntityEvent to MobKiller v3
.0
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
ava:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
ava:471) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callEvent(Craf
tEventFactory.java:98) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012j
nks]
        at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callEntityDama
geEvent(CraftEventFactory.java:386) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3
c20ce6-b3012jnks]
        at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.handleEntityDa
mageEvent(CraftEventFactory.java:414) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-
g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityLiving.damageEntity(EntityLiving.j
ava:656) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityHuman.damageEntity(EntityHuman.jav
a:746) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityPlayer.damageEntity(EntityPlayer.j
ava:446) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityMonster.m(EntityMonster.java:99) [
craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityZombie.m(EntityZombie.java:218) [c
raftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.PathfinderGoalMeleeAttack.e(PathfinderGo
alMeleeAttack.java:100) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012
jnks]
        at net.minecraft.server.v1_7_R1.PathfinderGoalSelector.a(PathfinderGoalS
elector.java:108) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityInsentient.bn(EntityInsentient.jav
a:427) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityLiving.e(EntityLiving.java:1436) [
craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityInsentient.e(EntityInsentient.java
:306) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityMonster.e(EntityMonster.java:20) [
craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityZombie.e(EntityZombie.java:152) [c
raftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityLiving.h(EntityLiving.java:1299) [
craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityInsentient.h(EntityInsentient.java
:150) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityMonster.h(EntityMonster.java:24) [
craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.EntityZombie.h(EntityZombie.java:214) [c
raftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.World.entityJoinedWorld(World.java:1338)
 [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.World.playerJoinedWorld(World.java:1319)
 [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.World.tickEntities(World.java:1207) [cra
ftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.WorldServer.tickEntities(WorldServer.jav
a:480) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
37) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R1.entity.C
raftZombie cannot be cast to org.bukkit.entity.Player
        at kill.mobs.karolx007.Main.hp(Main.java:105) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
_51]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
_51]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
.7.0_51]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_51]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-41-g3c20ce6-b3012jnks]
        ... 31 more

 

 

 

metoooda:

 

    @EventHandler
    public void hp(EntityDamageByEntityEvent e){
        Player zabijacz = (Player) e.getDamager();
        Zombie mob = (Zombie) e.getEntity();
        if(mob.getCustomName() != null && mob.getCustomName().equals("§7§l||§4§lBOSS§a§lMordor§7§l||")){
            if(zabijacz instanceof Player){
                if(mob instanceof Zombie){
                    zabijacz.sendMessage("§cZycie §6Potwora:§4 " + (int)mob.getHealth() + "§a/1000");

            }
    }
        }
    
    
}}

 

Ma ktoś pomysły? Ja wysiadam :D

Opublikowano
org.bukkit.craftbukkit.v1_7_R1.entity.CraftZombie cannot be cast to org.bukkit.entity.Player

Błąd prawdopodobnie wyskakuje ci jak jak Zombie atakuje te entity eventowe.

 

Przed tym

Player zabijacz = (Player) e.getDamager();

 

Daj to:

if ( e.getDamager() instanceof Player)
Opublikowano

tyle to ja też ujrzaałem :DxD

Tylko chodzi mi jak ja mam to niby zmienić bo ja nie castowałem zombie w Player LOL

Opublikowano

albo możesz zrobić tak jak ja zawsze to robie czyli na początku daj

if ( !(e.getDamager() instanceof Player) )  return;

 Wtedy gdy cokolwiek innego będzie bić te entity nic się nie wykona, dopiero kiedy gracz uderzy kod zacznie się wykonywać w całości


@Edit tam ma być jeszcze negacja " ! "

Opublikowano

Ja pierdole..

A więc tak..

@EventHandler
    public void hp(EntityDamageByEntityEvent e)
    {
     if (e.getDamager() instanceof Player)
     {
            Player zabijacz = (Player) e.getDamager(); 
            if (e.getEntity() instanceof Zombie)
            {
             Zombie mob = (Zombie) e.getEntity();
             if(mob.getCustomName() != null && mob.getCustomName().equals("§7§l||§4§lBOSS§a§lMordor§7§l||"))
                {
                    zabijacz.sendMessage("§cZycie §6Potwora:§4 " + (int)((Damageable)mob).getHealth() + "§a/1000");
                }
            }
     }
        
    }

Tak wygląda poprawna metoda. Nie testowane, ale powinno działać. Wnioski wyciągnij sam. Radzę Tobie przestudiować rzutowanie w javie..

Opublikowano

Linijkę:

 

 

Player zabijacz = (Player)e.getDamager();

 

zamień na:

 

 

Entity zabijacz = (Player)e.getDamager();

 

Powinno pomóc ; -)

EX WŁAŚCICIEL MCF2F.PL

Opublikowano

Linijkę:

Player zabijacz = (Player)e.getDamager();

zamień na:

Entity zabijacz = (Player)e.getDamager();

Powinno pomóc ; -)

nic nie zmieniłeś.... jak już to 

 

Entity zabijacz = e.getDamager();

 

 

Ale problem był taki jak pisali wyżej... nie ma tutaj pewności że zabijasz to gracz, więc trzeba to sprawdzić...

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...