Geistlande.de

Geistlande Forum (https://www.geistlande.de/forum/)
-- Geistlande Foren (https://www.geistlande.de/forum/forum,1,1,geistlande-foren.html)
  -- Rund um den Geistlande Server (https://www.geistlande.de/forum/forum,4,1,rund-um-geistlande-server.html)
    -- Wo sind die Kühe hin??? (https://www.geistlande.de/forum/thread,560,1,wo-sind-kuehe-hin.html)


Seiten (2): « 1 [2]
 
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 +++
 
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 *
 
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 +++
 
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 ^^
 
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
 
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!
 
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.
 
DjEKI18
Staff
interessant, kann es alle schadensarten blocken? Ich denke an Wurftränke oder Feile. Oder Feile die aus Spender geschossen kommen.
 
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
Seiten (2): « 1 [2]

23.11.2024 - 02:32:44