public static void SpawnEffectFor(Player p, string effectName, float x, float y, float z, float originX, float originY, float originZ) { EffectConfig effect; if (!effectAtEffectName.TryGetValue(effectName, out effect)) { p.Message("%WCould not find effect named \"{0}\" !", effectName); return; } if (!p.Supports(CpeExt.CustomParticles)) { return; } p.Send(Packet.SpawnEffect(effect.ID, x, y - effect.offset, z, originX, originY - effect.offset, originZ)); }
public static void SpawnEffectAt(Level lvl, string effectName, float x, float y, float z, float originX, float originY, float originZ, Player notShownTo = null) { EffectConfig effect; if (!effectAtEffectName.TryGetValue(effectName, out effect)) { Logger.Log(LogType.Warning, "GoodlyEffects: Could not find effect named \"{0}\" !", effectName); return; } Player[] players = PlayerInfo.Online.Items; foreach (Player p in players) { if (p.level != lvl || !p.Supports(CpeExt.CustomParticles) || p == notShownTo) { continue; } p.Send(Packet.SpawnEffect(effect.ID, x, y - effect.offset, z, originX, originY - effect.offset, originZ)); } }