Den Ansatz finde ich gut (leider habe ich keinen Sourcecode zur "Lektüre" im *.jar gefunden).
Erstmal dies: Hab nur mal versucht auf nen Wolf in freiem Terrain zu hauen. Eigentlich wollte ich die CPU Auslastung ansehen, wenn man zu einer dieser Riesenfarmen kommt (aber da merkt man, dass ich kein Spieler bin: ich kenne keine Warp dahin auswendig).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 2013-07-26 13:29:34 [SEVERE] Could not pass event EntityDamageByEntityEvent to MobKillBlock v1.22 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:95) at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:383) at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:408) at net.minecraft.server.v1_6_R2.EntityLiving.damageEntity(EntityLiving.java:614) at net.minecraft.server.v1_6_R2.EntityAnimal.damageEntity(SourceFile:128) at net.minecraft.server.v1_6_R2.EntityWolf.damageEntity(EntityWolf.java:181) at net.minecraft.server.v1_6_R2.EntityHuman.attack(EntityHuman.java:884) at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:1115) at net.minecraft.server.v1_6_R2.Packet7UseEntity.handle(SourceFile:36) at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296) at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:118) at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590) at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226) at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) Caused by: java.lang.NullPointerException at de._The_King.MobKillBlock.DamageEvent.Damage(DamageEvent.java:112) at de._The_King.MobKillBlock.DamageEvent.onDamageByEntity(DamageEvent.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 21 more |
Unabhängig von dem persönlichen Lerneffekt bei der Programmierung stellt sich die Frage ob wir hier so eine starke Protection für die "Nutztiere" wirklich wollen. Da müssten die Spieler mal "piep" sagen -- und nicht nur die großen Farmer
Für den technischen Aspelt bin ich offen. Ich schlage noch eine frühe Abfrage vor, aus welcher Welt der Event kommt (um z. B. bei Farmwelten gleich mit break die Bearbeitung abzubrechen).
p. s. Idee zum Eventproblem: Ist das Plugin schon mit Craftbukkit 1.6.2 kompiliert?
_________________________
kaahne - Geistlande Administrator
Bitte keine Anfragen per PM, nutzt das
entsprechende Forum!