private static Object createPacket(String name, Location loc, float offsetX, float offsetY, float offsetZ, float speed, int amount) {
		if (amount <= 0)
			throw new IllegalArgumentException("Amount of particles has to be greater than 0");
		try {
			Object p = PARTICLE_PACKET_CONSTRUCTOR.newInstance();
			ReflectionUtil.setValues(p, new FieldEntry("a", name), new FieldEntry("b", (float) loc.getX()), new FieldEntry("c", (float) loc.getY()), new FieldEntry("d", (float) loc.getZ()), new FieldEntry("e",
					offsetX), new FieldEntry("f", offsetY), new FieldEntry("g", offsetZ), new FieldEntry("h", speed), new FieldEntry("i", amount));
			return p;
		} catch (Exception e) {
			Bukkit.getLogger().warning("[ParticleEffect] Failed to create a particle packet!");
			return null;
		}
	}