forked from LogBlock/LogBlock
Merge pull request #51 from Wolvereness/master
Added locations to kills
This commit is contained in:
@@ -178,7 +178,7 @@ public class Consumer extends TimerTask
|
|||||||
int weapon = 0;
|
int weapon = 0;
|
||||||
if (killer instanceof Player && ((Player)killer).getItemInHand() != null)
|
if (killer instanceof Player && ((Player)killer).getItemInHand() != null)
|
||||||
weapon = ((Player)killer).getItemInHand().getTypeId();
|
weapon = ((Player)killer).getItemInHand().getTypeId();
|
||||||
queueKill(victim.getWorld(), entityName(killer), entityName(victim), weapon);
|
queueKill(victim.getLocation(), entityName(killer), entityName(victim), weapon);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -190,11 +190,32 @@ public class Consumer extends TimerTask
|
|||||||
* Name of the victim. Can't be null.
|
* Name of the victim. Can't be null.
|
||||||
* @param weapon
|
* @param weapon
|
||||||
* Item id of the weapon. 0 for no weapon.
|
* Item id of the weapon. 0 for no weapon.
|
||||||
|
* @deprecated Use {@link #queueKill(Location,String,String,int)} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void queueKill(World world, String killerName, String victimName, int weapon) {
|
public void queueKill(World world, String killerName, String victimName, int weapon) {
|
||||||
if (victimName == null || !worlds.containsKey(world.getName().hashCode()))
|
queueKill(
|
||||||
|
new Location(world,0,0,0),
|
||||||
|
killerName,
|
||||||
|
victimName,
|
||||||
|
weapon
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param location
|
||||||
|
* Location of the victim.
|
||||||
|
* @param killerName
|
||||||
|
* Name of the killer. Can be null.
|
||||||
|
* @param victimName
|
||||||
|
* Name of the victim. Can't be null.
|
||||||
|
* @param weapon
|
||||||
|
* Item id of the weapon. 0 for no weapon.
|
||||||
|
*/
|
||||||
|
public void queueKill(Location location, String killerName, String victimName, int weapon) {
|
||||||
|
if (victimName == null || !worlds.containsKey(location.getWorld().getName().hashCode()))
|
||||||
return;
|
return;
|
||||||
queue.add(new KillRow(world.getName().hashCode(), killerName.replaceAll("[^a-zA-Z0-9_]", ""), victimName.replaceAll("[^a-zA-Z0-9_]", ""), weapon));
|
queue.add(new KillRow(location, killerName == null ? null : killerName.replaceAll("[^a-zA-Z0-9_]", ""), victimName.replaceAll("[^a-zA-Z0-9_]", ""), weapon));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -394,11 +415,11 @@ public class Consumer extends TimerTask
|
|||||||
final long date;
|
final long date;
|
||||||
final String killer, victim;
|
final String killer, victim;
|
||||||
final int weapon;
|
final int weapon;
|
||||||
final int worldHash;
|
final Location loc;
|
||||||
|
|
||||||
KillRow(int worldHash, String attacker, String defender, int weapon) {
|
KillRow(Location loc, String attacker, String defender, int weapon) {
|
||||||
date = System.currentTimeMillis() / 1000;
|
date = System.currentTimeMillis() / 1000;
|
||||||
this.worldHash = worldHash;
|
this.loc = loc;
|
||||||
killer = attacker;
|
killer = attacker;
|
||||||
victim = defender;
|
victim = defender;
|
||||||
this.weapon = weapon;
|
this.weapon = weapon;
|
||||||
@@ -406,7 +427,7 @@ public class Consumer extends TimerTask
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getInserts() {
|
public String[] getInserts() {
|
||||||
return new String[]{"INSERT INTO `" + worlds.get(worldHash).table + "-kills` (date, killer, victim, weapon) VALUES (FROM_UNIXTIME(" + date + "), " + playerID(killer) + ", " + playerID(victim) + ", " + weapon + ");"};
|
return new String[]{"INSERT INTO `" + worlds.get(loc.getWorld().getName().hashCode()).table + "-kills` (date, killer, victim, weapon, x, y, z) VALUES (FROM_UNIXTIME(" + date + "), " + playerID(killer) + ", " + playerID(victim) + ", " + weapon + ", " + loc.getBlockX() + ", " + loc.getBlockY() + ", " + loc.getBlockZ() + ");"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -137,6 +137,26 @@ class Updater
|
|||||||
config.set("clearlog.keepLogDays", null);
|
config.set("clearlog.keepLogDays", null);
|
||||||
config.set("version", "1.42");
|
config.set("version", "1.42");
|
||||||
}
|
}
|
||||||
|
if (config.getString("version").compareTo("1.51" /* FIXME: Needs correct version number */) < 0) {
|
||||||
|
getLogger().info("[LogBlock] Updating tables to 1.51 ...");//FIXME: Needs correct version number
|
||||||
|
final Connection conn = logblock.getConnection();
|
||||||
|
try {
|
||||||
|
conn.setAutoCommit(true);
|
||||||
|
final Statement st = conn.createStatement();
|
||||||
|
for (final WorldConfig wcfg : logblock.getLBConfig().worlds.values()) {
|
||||||
|
if (wcfg.isLogging(Logging.KILL))
|
||||||
|
{
|
||||||
|
st.execute("ALTER TABLE `" + wcfg.table + "-kills` ADD (x SMALLINT NOT NULL DEFAULT 0, y TINYINT UNSIGNED NOT NULL DEFAULT 0, z SMALLINT NOT NULL DEFAULT 0)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
st.close();
|
||||||
|
conn.close();
|
||||||
|
} catch (final SQLException ex) {
|
||||||
|
Bukkit.getLogger().log(Level.SEVERE, "[LogBlock Updater] Error: ", ex);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
config.set("version", "1.51" /* FIXME: Needs correct version number */);
|
||||||
|
}
|
||||||
logblock.saveConfig();
|
logblock.saveConfig();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -156,7 +176,7 @@ class Updater
|
|||||||
createTable(dbm, state, wcfg.table + "-sign", "(id INT UNSIGNED NOT NULL, signtext VARCHAR(255) NOT NULL, PRIMARY KEY (id))");
|
createTable(dbm, state, wcfg.table + "-sign", "(id INT UNSIGNED NOT NULL, signtext VARCHAR(255) NOT NULL, PRIMARY KEY (id))");
|
||||||
createTable(dbm, state, wcfg.table + "-chest", "(id INT UNSIGNED NOT NULL, itemtype SMALLINT UNSIGNED NOT NULL, itemamount SMALLINT NOT NULL, itemdata TINYINT UNSIGNED NOT NULL, PRIMARY KEY (id))");
|
createTable(dbm, state, wcfg.table + "-chest", "(id INT UNSIGNED NOT NULL, itemtype SMALLINT UNSIGNED NOT NULL, itemamount SMALLINT NOT NULL, itemdata TINYINT UNSIGNED NOT NULL, PRIMARY KEY (id))");
|
||||||
if (wcfg.isLogging(Logging.KILL))
|
if (wcfg.isLogging(Logging.KILL))
|
||||||
createTable(dbm, state, wcfg.table + "-kills", "(id INT UNSIGNED NOT NULL AUTO_INCREMENT, date DATETIME NOT NULL, killer SMALLINT UNSIGNED, victim SMALLINT UNSIGNED NOT NULL, weapon SMALLINT UNSIGNED NOT NULL, PRIMARY KEY (id))");
|
createTable(dbm, state, wcfg.table + "-kills", "(id INT UNSIGNED NOT NULL AUTO_INCREMENT, date DATETIME NOT NULL, killer SMALLINT UNSIGNED, victim SMALLINT UNSIGNED NOT NULL, weapon SMALLINT UNSIGNED NOT NULL, x SMALLINT NOT NULL, y TINYINT UNSIGNED NOT NULL, z SMALLINT NOT NULL, PRIMARY KEY (id))");
|
||||||
}
|
}
|
||||||
state.close();
|
state.close();
|
||||||
conn.close();
|
conn.close();
|
||||||
|
Reference in New Issue
Block a user