commit
This commit is contained in:
parent
dbd58443b9
commit
66a9e8d209
1
Makefile
1
Makefile
@ -2,5 +2,4 @@ all: build
|
||||
|
||||
|
||||
build:
|
||||
export JAVA_HOME=/usr/lib/jvm/default-java
|
||||
mvn clean compile assembly:single
|
4
pom.xml
4
pom.xml
@ -14,8 +14,8 @@
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
|
@ -5,10 +5,10 @@ final class DeathHookEvent extends PlayerHookEvent
|
||||
public String deathType;
|
||||
public String killerName;
|
||||
|
||||
public DeathHookEvent(String displayName, String deathType) {
|
||||
public DeathHookEvent(String displayName, String deathType, String killerName) {
|
||||
super(displayName);
|
||||
this.type = "death";
|
||||
this.deathType = deathType;
|
||||
this.killerName = "?";
|
||||
this.killerName = killerName;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package mcwebhooks;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
@ -13,12 +14,15 @@ import org.bukkit.event.player.PlayerLevelChangeEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageByBlockEvent;
|
||||
import org.bukkit.event.entity.ArrowBodyCountChangeEvent;
|
||||
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.entity.StringEntity;
|
||||
import org.apache.http.conn.HttpHostConnectException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
@ -74,16 +78,28 @@ public final class MCWebHooks extends JavaPlugin implements Listener {
|
||||
if (ent instanceof Player) {
|
||||
Player p = (Player)ent;
|
||||
DamageCause damageCause = entDamageEvent.getCause();
|
||||
DeathHookEvent hookEvent = new DeathHookEvent(p.getDisplayName(), damageCause.toString());
|
||||
String killer = "";
|
||||
|
||||
if (entDamageEvent instanceof EntityDamageByEntityEvent) {
|
||||
EntityDamageByEntityEvent entByEntityEvent = (EntityDamageByEntityEvent)entDamageEvent;
|
||||
killer = entByEntityEvent.getDamager().getName();
|
||||
}
|
||||
|
||||
if (entDamageEvent instanceof EntityDamageByBlockEvent) {
|
||||
EntityDamageByBlockEvent entByEntityEvent = (EntityDamageByBlockEvent)entDamageEvent;
|
||||
killer = entByEntityEvent.getDamager().toString();
|
||||
}
|
||||
|
||||
DeathHookEvent hookEvent = new DeathHookEvent(p.getDisplayName(), damageCause.toString(), killer);
|
||||
this.sendHookedEvent(hookEvent);
|
||||
} else if (ent instanceof LivingEntity) {
|
||||
LivingEntity e = (LivingEntity)ent;
|
||||
if (e.getKiller() == null) {
|
||||
LivingEntity le = (LivingEntity)ent;
|
||||
if (le.getKiller() == null) {
|
||||
return;
|
||||
}
|
||||
PlayerKilledEntityEvent hookEvent = new PlayerKilledEntityEvent(
|
||||
e.getKiller().getDisplayName(),
|
||||
e.getName()
|
||||
le.getKiller().getDisplayName(),
|
||||
le.getName()
|
||||
);
|
||||
this.sendHookedEvent(hookEvent);
|
||||
}
|
||||
@ -108,17 +124,22 @@ public final class MCWebHooks extends JavaPlugin implements Listener {
|
||||
try {
|
||||
StringEntity params = new StringEntity(mapper.writeValueAsString(event));
|
||||
request.setEntity(params);
|
||||
} catch (JsonProcessingException | UnsupportedEncodingException e1) {
|
||||
} catch (JsonProcessingException | UnsupportedEncodingException e) {
|
||||
getLogger().info("Parsing failed");
|
||||
e1.printStackTrace();
|
||||
e.printStackTrace();
|
||||
return;
|
||||
}
|
||||
try {
|
||||
httpClient.execute(request);
|
||||
getLogger().info("Request sent");
|
||||
} catch (IOException e) {
|
||||
getLogger().info("Request failed");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Bukkit.getScheduler().runTaskAsynchronously(this, () -> {
|
||||
try {
|
||||
httpClient.execute(request);
|
||||
getLogger().info("Request sent");
|
||||
} catch (HttpHostConnectException e) {
|
||||
getLogger().info(String.format("Failed to connect to: [%s]", this.config.hookUrl));
|
||||
} catch (IOException e) {
|
||||
getLogger().info("Request failed");
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user