Noch keinen Account? Jetzt registrieren!

Seiten (2): « 1 [2]  
Autor Beitrag
 
doctor_albertio
Staff
Hmm so einfach ist es meiner Erfahrung nach nicht. Die Tiere wachsen ja eh nur, wenn ein Spieler sie in seinen geladenen Chunks hat und daher ist es ja wie daneben stehen. Auch sind mir die Tiere auch schon in Wänden gestorben, als ich zugesehen bzw. direkt neben ihnen gebaut habe. Also passt auf, das euch nicht alle verrecken.*gut* = Sehr gut!
_________________________
In meinem Gerichtssaal gibt es keine Unschuldsbeteuerungen.
Eine Unschuldsbeteuerung ist schuldig der Vergeudung meiner Zeit. Schuldig!
+++ Großinquisitor Fjodor Karamasow +++
doctor_albertio ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
Couchracer
Wenn nurnoch wenige übrig sind werden die sich wohl kaum immernoch in die Wände drücken. Spätestens beim letzten Tier ist schluss :D = Breites Grinsen
_________________________
* Signatur auf Abwegen *
Couchracer ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
doctor_albertio
Staff
hmm meine Schweine haben sich sogar ohne vermehren von 20 auf 2 reduziert. bin mir da nicht so sicher.
_________________________
In meinem Gerichtssaal gibt es keine Unschuldsbeteuerungen.
Eine Unschuldsbeteuerung ist schuldig der Vergeudung meiner Zeit. Schuldig!
+++ Großinquisitor Fjodor Karamasow +++
doctor_albertio ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
Vektorius
Staff
Mann ey, da legt man sich mal eine Tierfarm unter der Erde an und dann sowas :/
Naja egal, ändern können wir es ja auch nicht ^^
Vektorius ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
the_king

_the_king
Zitat von kaahne:
selbst wenn man das Plugin selbst schreiben wollte [...]

Da ich gerade gelernt habe, Plugins zu schreiben, dachte ich mir: Hmm nimm das mal als Herausforderung.
So habe ich jetzt ein Plugin geschrieben, das immer, wenn ein Spieler einem Tier Schaden zufügt, überprüft, wo das Tier steht und ob der Spieler Bauberechtigungen für das Gebiet - sofern es eins ist - hat. Sollte das nicht der Fall sein, wird dem Spieler eine Benachrichtigung ausgegeben und das Tier erhält keinen Schaden. Das gleiche ist auch (global) für Monster und Villager einstellbar. Nur falls jemand Interesse haben sollte, häng ich es mal in den Anhang.

LG. _The_King

P.S.: Da es auch Gruppenberechtigungen bei Worldguard gibt hab ich einfach mal das GruppenPlugin, das ich am häufigsten verwende und das auch hier auf Geistlande verwendet wird, genommen: PermissionsEx
Anhänge
the_king ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
kaahne
Administrator
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 :) = Normaler Smile

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!
kaahne ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen ICQ
 
the_king

_the_king
Hmm.. Ich habe selber soetwas getestet. Bei mir liefs. Naja.. Ich guck nochmal und überarbeite es. Besteht denn das Interesse an diesem Plugin?

EDIT:
Ja es läuft mit dem Development Build 1.6.2.
the_king ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
DjEKI18
Staff
interessant, kann es alle schadensarten blocken? Ich denke an Wurftränke oder Feile. Oder Feile die aus Spender geschossen kommen.
DjEKI18 ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
 
the_king

_the_king
Aus Spendern noch nicht. Es dient in erster Linie dazu, dass unbefugte nicht einfach deine Tiere töten. Aber danke für die Idee. Werd ich mal mit einbauen ;) = Zwinker Als region flag oder so
the_king ist offline   eMail senden Persönliche Nachricht senden Beiträge suchen
Seiten (2): « 1 [2]  
Zurzeit aktive Benutzer (0 Registrierte, 0 Gäste)
Suche Optionen
» Erweiterte Suche
Druckansicht Druckansicht
Thema weiterempfehlen Thema weiterempfehlen

© 2024 Geistlande - Deutscher Minecraft Server mcgeist.de

Datenschutzerklärung | Impressum