Fixed gun stats between games
This commit is contained in:
parent
ffc0459e5a
commit
696088b57e
|
@ -1,5 +1,6 @@
|
||||||
package nautilus.game.arcade.game.games.minestrike.items.guns;
|
package nautilus.game.arcade.game.games.minestrike.items.guns;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
@ -14,6 +15,7 @@ import org.bukkit.entity.Snowball;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
|
@ -34,6 +36,7 @@ import mineplex.core.gadget.types.gamemodifiers.GameModifierType;
|
||||||
import mineplex.core.gadget.types.gamemodifiers.minestrike.GameModifierMineStrikeSkin;
|
import mineplex.core.gadget.types.gamemodifiers.minestrike.GameModifierMineStrikeSkin;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.core.recharge.RechargedEvent;
|
import mineplex.core.recharge.RechargedEvent;
|
||||||
|
import mineplex.core.stats.PlayerStats;
|
||||||
import nautilus.game.arcade.game.games.minestrike.MineStrike;
|
import nautilus.game.arcade.game.games.minestrike.MineStrike;
|
||||||
import nautilus.game.arcade.game.games.minestrike.data.Bullet;
|
import nautilus.game.arcade.game.games.minestrike.data.Bullet;
|
||||||
import nautilus.game.arcade.game.games.minestrike.items.StrikeItem;
|
import nautilus.game.arcade.game.games.minestrike.items.StrikeItem;
|
||||||
|
@ -56,7 +59,7 @@ public class Gun extends StrikeItem
|
||||||
|
|
||||||
protected boolean _reloadTick = false;
|
protected boolean _reloadTick = false;
|
||||||
|
|
||||||
protected int _kills = 0;
|
protected int _kills = -1;
|
||||||
protected String _activeSkinName = "Default";
|
protected String _activeSkinName = "Default";
|
||||||
|
|
||||||
public Gun(GunStats gunStats)
|
public Gun(GunStats gunStats)
|
||||||
|
@ -326,22 +329,36 @@ public class Gun extends StrikeItem
|
||||||
{
|
{
|
||||||
if(game != null)
|
if(game != null)
|
||||||
{
|
{
|
||||||
Player owner = UtilPlayer.searchExact(getOwnerName());
|
if(_kills == -1)
|
||||||
if(owner != null) {
|
{
|
||||||
HashMap<String, Integer> stats = game.GetStats().get(owner);
|
new BukkitRunnable() {
|
||||||
if(stats != null)
|
public void run() {
|
||||||
{
|
PlayerStats remoteStats = game.getArcadeManager().GetStatsManager().Get(player);;
|
||||||
Integer kills = stats.get(game.GetName() + "." + getStatNameKills());
|
_kills = (int) remoteStats.getStat(game.GetName() + "." + getStatNameKills());
|
||||||
if(kills != null)
|
|
||||||
{
|
Player owner = UtilPlayer.searchExact(getOwnerName());
|
||||||
_kills = kills.intValue();
|
if(owner != null) {
|
||||||
|
HashMap<String, Integer> localStatsMap = game.GetStats().get(owner);
|
||||||
|
if(localStatsMap != null)
|
||||||
|
{
|
||||||
|
Integer kills = localStatsMap.get(game.GetName() + "." + getStatNameKills());
|
||||||
|
if(kills != null)
|
||||||
|
{
|
||||||
|
_kills += kills.intValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateWeaponName(player, null);
|
||||||
}
|
}
|
||||||
}
|
}.runTaskAsynchronously(game.getArcadeManager().getPlugin());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int kls = _kills;
|
||||||
|
if(kls == -1) kls = 0;
|
||||||
|
|
||||||
String owner = C.Reset + (getOwnerName() == null ? "" : getOwnerName() + "'s ");
|
String owner = C.Reset + (getOwnerName() == null ? "" : getOwnerName() + "'s ");
|
||||||
String reload = C.Bold + getName() + (_reloadTick ? ChatColor.RED : ChatColor.WHITE);
|
String reload = C.Bold + getName() + (_reloadTick ? ChatColor.RED : ChatColor.WHITE);
|
||||||
String kills = C.cYellow + " " + _kills + " kills";
|
String kills = C.cYellow + " " + kls + " kills";
|
||||||
|
|
||||||
ItemMeta meta = getStack().getItemMeta();
|
ItemMeta meta = getStack().getItemMeta();
|
||||||
meta.setDisplayName(owner + reload + kills);
|
meta.setDisplayName(owner + reload + kills);
|
||||||
|
@ -353,6 +370,10 @@ public class Gun extends StrikeItem
|
||||||
_reloadTick = !_reloadTick;
|
_reloadTick = !_reloadTick;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void incrementKill() {
|
||||||
|
_kills++;
|
||||||
|
}
|
||||||
|
|
||||||
public double getDropOff()
|
public double getDropOff()
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,6 +48,7 @@ public class MineStrikeGunStats extends StatTracker<Game>
|
||||||
String stat = event.getBullet().Gun.getStatNameKills();
|
String stat = event.getBullet().Gun.getStatNameKills();
|
||||||
addStat(event.getBullet().Shooter, stat, 1, false, false);
|
addStat(event.getBullet().Shooter, stat, 1, false, false);
|
||||||
|
|
||||||
|
event.getBullet().Gun.incrementKill();
|
||||||
event.getBullet().Gun.updateWeaponName(event.getBullet().Shooter, event.getGame());
|
event.getBullet().Gun.updateWeaponName(event.getBullet().Shooter, event.getGame());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue