forked from LogBlock/LogBlock
fireball logging did not work with 1.8
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
package de.diddiz.LogBlock;
|
||||
|
||||
import static de.diddiz.util.BukkitUtils.entityName;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
public class Actor {
|
||||
|
||||
@Override
|
||||
@@ -69,6 +71,16 @@ public class Actor {
|
||||
return new Actor(entity.getName());
|
||||
}
|
||||
|
||||
|
||||
public static Actor actorFromProjectileSource(ProjectileSource psource) {
|
||||
if (psource instanceof Player) {
|
||||
Player player = ((Player) psource).getPlayer();
|
||||
return new Actor(player.getName(),player.getUniqueId().toString());
|
||||
} else {
|
||||
return new Actor(psource.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isValidUUID(String uuid) {
|
||||
try {
|
||||
java.util.UUID.fromString(uuid);
|
||||
@@ -82,4 +94,5 @@ public class Actor {
|
||||
return "log_" + name;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,12 +1,9 @@
|
||||
package de.diddiz.LogBlock.listeners;
|
||||
|
||||
import de.diddiz.LogBlock.Actor;
|
||||
import de.diddiz.LogBlock.LogBlock;
|
||||
import de.diddiz.LogBlock.Logging;
|
||||
import static de.diddiz.LogBlock.config.Config.getWorldConfig;
|
||||
import static de.diddiz.LogBlock.config.Config.logCreeperExplosionsAsPlayerWhoTriggeredThese;
|
||||
import de.diddiz.LogBlock.config.WorldConfig;
|
||||
import static de.diddiz.util.BukkitUtils.getContainerBlocks;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.Sign;
|
||||
@@ -23,6 +20,12 @@ import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||
import org.bukkit.projectiles.ProjectileSource;
|
||||
|
||||
import de.diddiz.LogBlock.Actor;
|
||||
import de.diddiz.LogBlock.LogBlock;
|
||||
import de.diddiz.LogBlock.Logging;
|
||||
import de.diddiz.LogBlock.config.WorldConfig;
|
||||
|
||||
public class ExplosionLogging extends LoggingListener
|
||||
{
|
||||
@@ -57,7 +60,7 @@ public class ExplosionLogging extends LoggingListener
|
||||
new Actor("Creeper");
|
||||
} else if (source instanceof Fireball) {
|
||||
Fireball fireball = (Fireball) source;
|
||||
Entity shooter = fireball.getShooter();
|
||||
ProjectileSource shooter = fireball.getShooter();
|
||||
if (shooter == null) {
|
||||
return;
|
||||
}
|
||||
@@ -65,12 +68,12 @@ public class ExplosionLogging extends LoggingListener
|
||||
if (!wcfg.isLogging(Logging.GHASTFIREBALLEXPLOSION)) {
|
||||
return;
|
||||
}
|
||||
actor = Actor.actorFromEntity(shooter);
|
||||
actor = Actor.actorFromProjectileSource(shooter);
|
||||
} else if (shooter instanceof Wither) {
|
||||
if (!wcfg.isLogging(Logging.WITHER)) {
|
||||
return;
|
||||
}
|
||||
actor = Actor.actorFromEntity(shooter);
|
||||
actor = Actor.actorFromProjectileSource(shooter);
|
||||
}
|
||||
} else if (source instanceof EnderDragon) {
|
||||
if (!wcfg.isLogging(Logging.ENDERDRAGON))
|
||||
|
Reference in New Issue
Block a user