private Runnable handleWolfKill(long time, UUID victimUUID, Wolf wolf) { Optional<Optional<UUID>> owner = wolf.get(Keys.TAMED_OWNER); // Has been tamed return owner.map(ownerUUID -> // Has tame owner ownerUUID.map(uuid -> // Player or mob victimUUID != null ? new PlayerKillProcessor(uuid, time, victimUUID, "Wolf") : new MobKillProcessor(uuid) ).orElse(null)).orElse(null); }
public EndSessionProcessor endSessionProcessor(UUID uuid, long time) { return new EndSessionProcessor(uuid, time, dataCache.get()); }
public BanAndOpProcessor banAndOpProcessor(UUID uuid, BooleanSupplier banned, boolean op) { return new BanAndOpProcessor(uuid, banned, op, dbSystem.get().getDatabase()); }
@Test public void medianCalculationForNoEntries() { int expected = -1; int result = new PingInsertProcessor(TestConstants.PLAYER_ONE_UUID, TestConstants.SERVER_UUID, new ArrayList<>(), null) .getMeanValue(Collections.emptyList()); assertEquals(expected, result); } }
private void actOnChatEvent(AsyncPlayerChatEvent event) { Player p = event.getPlayer(); UUID uuid = p.getUniqueId(); String name = p.getName(); String displayName = p.getDisplayName(); processing.submit(processorFactory.nameProcessor(uuid, name, displayName)); } }
public PingInsertProcessor pingInsertProcessor(UUID uuid, List<DateObj<Integer>> pingList) { return new PingInsertProcessor(uuid, serverInfo.get().getServerUUID(), pingList, dbSystem.get().getDatabase()); }
private void actOnLoginEvent(ClientConnectionEvent.Login event) { GameProfile profile = event.getProfile(); UUID uuid = profile.getUniqueId(); boolean banned = isBanned(profile); processing.submit(processors.player().banAndOpProcessor(uuid, () -> banned, false)); }
public KickProcessor kickProcessor(UUID uuid) { return new KickProcessor(uuid, dbSystem.get().getDatabase()); }
public IPUpdateProcessor ipUpdateProcessor(UUID uuid, InetAddress ip, long time) { return new IPUpdateProcessor(uuid, ip, time, dbSystem.get().getDatabase(), geolocationCache.get()); }
public RegisterProcessor registerProcessor(UUID uuid, LongSupplier registered, String name, Runnable... afterProcess) { return new RegisterProcessor(uuid, registered, name, processing.get(), dbSystem.get().getDatabase(), afterProcess); }
public ProxyRegisterProcessor proxyRegisterProcessor(UUID uuid, String name, long registered, Runnable... afterProcess) { return new ProxyRegisterProcessor(uuid, name, registered, processing.get(), dbSystem.get().getDatabase(), afterProcess); }
public NameProcessor nameProcessor(UUID uuid, String playerName, String displayName) { Nickname nickname = new Nickname(displayName, System.currentTimeMillis(), serverInfo.get().getServerUUID()); return new NameProcessor(uuid, playerName, nickname, dbSystem.get().getDatabase(), dataCache.get()); }
private Runnable handleProjectileKill(long time, UUID victimUUID, Projectile projectile) { ProjectileSource source = projectile.getShooter(); if (!(source instanceof Player)) { return null; } Player player = (Player) source; String projectileName = new EntityNameFormatter().apply(projectile.getType().name()); return victimUUID != null ? new PlayerKillProcessor(player.getUniqueId(), time, victimUUID, projectileName) : new MobKillProcessor(player.getUniqueId()); } }
@Test public void medianCalculationForSingleEntry() { int expected = 50; int result = new PingInsertProcessor(TestConstants.PLAYER_ONE_UUID, TestConstants.SERVER_UUID, new ArrayList<>(), null) .getMeanValue(Collections.singletonList(new DateObj<>(0, expected))); assertEquals(expected, result); }
private void actOnChatEvent(@First Player player) { UUID uuid = player.getUniqueId(); String name = player.getName(); String displayName = player.getDisplayNameData().displayName().get().toPlain(); processing.submit(processorFactory.nameProcessor(uuid, name, displayName)); }
private Runnable handleProjectileKill(long time, UUID victimUUID, Projectile projectile) { ProjectileSource source = projectile.getShooter(); if (!(source instanceof Player)) { return null; } Player player = (Player) source; String projectileName = new EntityNameFormatter().apply(projectile.getType().getName()); return victimUUID != null ? new PlayerKillProcessor(player.getUniqueId(), time, victimUUID, projectileName) : new MobKillProcessor(player.getUniqueId()); }
@Test public void medianCalculation() { List<Integer> collect = testPing.stream().map(DateObj::getValue).sorted().collect(Collectors.toList()); int expected = (int) Median.forList(collect).calculate(); int result = new PingInsertProcessor(TestConstants.PLAYER_ONE_UUID, TestConstants.SERVER_UUID, new ArrayList<>(), null) .getMeanValue(testPing); assertEquals(expected, result); }
private Runnable handlePlayerKill(long time, UUID victimUUID, Player killer) { Optional<ItemStack> inMainHand = killer.getItemInHand(HandTypes.MAIN_HAND); ItemStack inHand = inMainHand.orElse(killer.getItemInHand(HandTypes.OFF_HAND).orElse(ItemStack.empty())); ItemType type = inHand.isEmpty() ? ItemTypes.AIR : inHand.getType(); return victimUUID != null ? new PlayerKillProcessor(killer.getUniqueId(), time, victimUUID, new ItemNameFormatter().apply(type.getName())) : new MobKillProcessor(killer.getUniqueId()); }
private Runnable handlePetKill(long time, UUID victimUUID, Tameable tameable) { if (!tameable.isTamed()) { return null; } AnimalTamer owner = tameable.getOwner(); if (!(owner instanceof Player)) { return null; } String name; try { name = tameable.getType().name(); } catch (NoSuchMethodError oldVersionNoTypesError) { // getType introduced in 1.9 name = tameable.getClass().getSimpleName(); } return victimUUID != null ? new PlayerKillProcessor(owner.getUniqueId(), time, victimUUID, new EntityNameFormatter().apply(name)) : new MobKillProcessor(owner.getUniqueId()); }
private Runnable handlePlayerKill(long time, UUID victimUUID, Player killer) { Material itemInHand; try { itemInHand = killer.getInventory().getItemInMainHand().getType(); } catch (NoSuchMethodError e) { try { itemInHand = killer.getInventory().getItemInHand().getType(); // Support for non dual wielding versions. } catch (Exception | NoSuchMethodError | NoSuchFieldError e2) { itemInHand = Material.AIR; } } String weaponName = new ItemNameFormatter().apply(itemInHand.name()); return victimUUID != null ? new PlayerKillProcessor(killer.getUniqueId(), time, victimUUID, weaponName) : new MobKillProcessor(killer.getUniqueId()); }